Previous Topic: Sample Source Code For Database LoadNext Topic: Sample Load IPSB


Sample DL/I PSB and DBDs

Figure 58 shows the source for two logically related DL/I databases and a PSB. The DBD descriptions define:

The PSB references the two logical databases.

The physical databases have root segments named ITEM and PART, respectively. They are logically related using the DETAIL segment.

Source statements for DL/I PSB and DBDs:

 DL/I ITEM DATABASE PHYSICAL DBD EXAMPLE
         DBD      NAME=ITEMDBDP,ACCESS=HIDAM
         DATASET  DD1=ITEMDB,DEVICE=FBA
         SEGM     NAME=ITEM,PARENT=0,BYTES=150,POINTER=TB,RULES=PPV
         LCHILD   NAME=(ITEMNDX,ITEMDBDI),POINTER=INDX
         FIELD    NAME=(ITEMNO,SEQ),BYTES=7,START=1
         SEGM     NAME=DETAIL,PARENT=((ITEM,SNGL),                     X
               (PART,VIRTUAL,PARTDBDP)),BYTES=150,                     X
               RULES=PVV,POINTER=(TB,LTB)
         FIELD    NAME=(ITMDTAIL,SEQ),BYTES=3,START=19
         DBDGEN
         FINISH
         END

 DL/I PARTS DATABASE PHYSICAL DBD EXAMPLE

         DBD      NAME=PARTDBDP,ACCESS=HIDAM
         DATASET  DD1=PARTDB,DEVICE=FBA
         SEGM     NAME=PART,PARENT=0,BYTES=150,POINTER=TB,RULES=PPV
         LCHILD   NAME=(PARTNDX,PARTDBDI),POINTER=INDX
         LCHILD   NAME=(DETAIL,ITEMDBDP),POINTER=SNGL,PAIR=DETAILV
         FIELD    NAME=(PARTNO,SEQ),BYTES=18,START=1
         SEGM     NAME=DETAILV,PARENT=PART,POINTER=PAIRED,             X
               SOURCE=((DETAIL,,ITEMDBDP))
         FIELD    NAME=(ITMDTAIL,SEQ,M),BYTES=3,START=8
         DBDGEN
         FINISH
         END

 DL/I ITEM INDEX DBD EXAMPLE

         DBD      NAME=ITEMDBDI,ACCESS=INDEX
         DATASET  DD1=ITEMIX,DEVICE=FBA
         SEGM     NAME=ITEMNDX,PARENT=0,BYTES=7
         LCHILD   NAME=(ITEM,ITEMDBDP),POINTER=SNGL,INDEX=(ITEMNO)
         FIELD    NAME=(ITEMNO,SEQ,U),BYTES=7,START=1
         DBDGEN
         FINISH
         END

Figure 58 (Part 1 of 2). Source statements for DL/I PSB and DBDs
 DL/I PARTS INDEX DBD EXAMPLE
         DBD      NAME=PARTDBDI,ACCESS=INDEX
         DATASET  DD1=PARTIX,DEVICE=FBA
         SEGM     NAME=PARTNDX,PARENT=0,BYTES=18
         LCHILD   NAME=(PART,PARTDBDP),POINTER=SNGL,INDEX=(PARTNO)
         FIELD    NAME=(PARTNO,SEQ,U),BYTES=18,START=1
         DBDGEN
         FINISH
         END
 DL/I ITEM DATABASE LOGICAL DBD EXAMPLE

         DBD      NAME=ITEMDBDL,ACCESS=LOGICAL
         DATASET  LOGICAL
         SEGM     NAME=ITEM,PARENT=0,SOURCE=((ITEM,,ITEMDBDP))
         SEGM     NAME=DETAIL,PARENT=ITEM,                            X
               SOURCE=((DETAIL,,ITEMDBDP),(PART,,PARTDBDP))
         DBDGEN
         FINISH
         END

 DL/I PARTS DATABASE LOGICAL DBD EXAMPLE

         DBD      NAME=PARTDBDL,ACCESS=LOGICAL
         DATASET  LOGICAL
         SEGM     NAME=PART,PARENT=0,SOURCE=((PART,,PARTDBDP))
         SEGM     NAME=DETAIL,PARENT=PART,                            X
               SOURCE=((DETAIL,,ITEMDBDP),(ITEM,,ITEMDBDP))
         DBDGEN
         FINISH
         END

Figure 58 (Part 2 of 2). Source statements for DL/I PSB and DBDs