This format of the FIELD statement defines the logical sequence field and its attributes. A logical sequence field must be defined for the named record corresponding to a logical child segment whenever the associated virtual logical child has a sequence field. A field defined as a logical sequence field can be used as a search field in an SSA.
Syntax
►►─┬─────────────────────────────────────────────────┬───────────────────────► └─ LOGical SEQuence FIELD name is dl1-field-name ─┘ ►─┬──────────────────────────────────────────┬──────────────────────────────► └─ STARTING POSition is starting-position ─┘ ►─┬──────────────────────────────┬──────────────────────────────────────────►◄ └─ LENgth is dl1-field-length ─┘
Parameters
Identifies the sequence field of the virtual logical child segment. Use the NAME clause entry in the DL/I FIELD statement defining the sequence field for the virtual logical child segment.
Specifies the position in the record in which the sequence field begins. Use the START clause entry in the DL/I FIELD statement defining the sequence field for the virtual logical child segment.
Specifies the length of the sequence field. Use the BYTES clause entry in the DL/I FIELD statement defining the sequence field for the virtual logical child segment.
Usage
Sample PSB
This sample PSB calls for DBD1, which is shown in the hierarchy diagram in Figure 38. The DBD that defines DBD1 is shown in Figure 39. Figure 40 shows the resulting RECORD SECTION that is developed.
PCB TYPE=DB,DBDNAME=DBD1,PROCOPT=G,KEYLEN=45,PROCSEQ=INDEX1
SENSEG NAME=SEGRT1,PARENT=0
SENSEG NAME=SEG3,PARENT=SEGRT1
SENSEG NAME=SEG4,PARENT=SEG3
SENSEG NAME=SEG2,PARENT=SEGRT1
PSBGEN LANG=COBOL,PSBNAME=PSB1
END
Figure 37. Sample PSB
Hierarchy Diagram of DBD1
This hierarchy diagram corresponds to database DBD1. SEGRT1, SEG2, SEG3, and SEG4 are specified in the PSB shown in Figure 37 and, therefore, require RECORD statements to define their equivalent records. SEG5 is indicated by broken lines because it is a virtual logical child segment, which is not a real segment.

Figure 38. Hierarchy diagram of DBD1
Sample DBDs
DBD1 is the database called for by the PCB shown in Figure 37 DBD2 is the database that contains the logical parent segment of logical child SEG2 and the virtual logical child segment paired with SEG2. Information from the DBDs for both databases is required to complete the RECORD SECTION shown in Figure 40.
DBD NAME=DBD1,ACCESS=HDAM,RMNAME=(DLZHDC30,3,1800,3000)
DATASET DD1=HDAM1,DEVICE=3350,BLOCK=2048,SCAN=3
SEGM NAME=SEGRT1,PARENT=0,BYTES=115,POINTER=TWINBWD,RULES=PPV
FIELD NAME=RT1KEY,SEQ,U,BYTES=11,START=1
FIELD NAME=FIELD2,BYTES=5,START=1
FIELD NAME=FIELD3,BYTES=6,START=6
SEGM NAME=SEG2,PARENT=((SEGRT1),(LPSEGRT,P,DBD2)),
BYTES=120,POINTER=TWIN6WD),RULES=(PLV)
FIELD NAME=(KEY2,SEQ,U),BYTES=6,START=1
SEGM NAME=SEG3,PARENT=SEGRT1,BYTES=10,POINTER=TWIN
FIELD NAME=(KEY3,SEQ,U),BYTES=3,START=1
FIELD NAME=FIELD5,BYTES=4,START=4
SEGM NAME=SEG4,PARENT=SEG3,BYTES=6,POINTER=TWIN
FIELD NAME=(KEY4,SEQ,U),BYTES=6,START=1
SEGM NAME=SEG5,PARENT=SEG4,PTR=PAIRED,
SOURCE=((LCSEG,DATA,DBD3))
FIELD NAME=(KEY5,SEQ,U),BYTES=21,START=1,TYPE=F
FIELD NAME=FIELD-5,BYTES=20,START=22,TYPE=F
DBDGEN
FINISH
END
DBD NAME=DBD2,ACCESS=HDAM
DATASET DD1=HDAM2,DEVICE=3350,BLOCK=2048,SCAN=3
SEGM NAME=SEGRT2,PTR=TWINBWD,RULES=LLV
FIELD NAME=(KEY6,SEQ,U),BYTES=60,START=1
FIELD NAME=FIELD6,BYTES=15,START=61
FIELD NAME=FIELD-7,BYTES=75,START=76
LCHILD NAME=(SEG2,DBD1),PAIR=SEG6,PTR=DBLE
SEGM NAME=SEG6,PARENT=SEGRT2,PTR=PAIRED
SOURCE=(SEG2,DATA,DBD1)
FIELD NAME=(KEY7,SEQ,U),BYTES=21,START=61
FIELD NAME=FIELD8,BYTES=20,START=22
SEGM NAME=SEG7 BYTES=200,PARENT=SEG1
FIELD NAME=(KEY8,SEQ,U)BYTES=99,START=1
FIELD NAME=FIELD9,BYTES=101,START=100
SEGM NAME=SEG8,BYTES=100,PARENT=SEG1
FIELD NAME=(KEY9,SEQ,U),BYTES=15,START=1
FIELD NAME=FIELD10,BYTES=15,START=51
DBDGEN
FINISH
END
Figure 39. Sample DBDs
Sample RECORD SECTION
The information used to define this RECORD SECTION example is based on information in Figure 37 through Figure 39.
SEG5, defined in the first DBD shown in Figure 39, is omitted from this RECORD SECTION example because SEG5 is a virtual logical child segment. However, the fields of a virtual logical child segment are entered under the record corresponding to the logical child when the PSB calls for the associated logical child segment.
Thus, under REC2, which corresponds to SEG2 in DBD1, a logical sequence field and a search field are defined.
These two fields come from the virtual logical child segment (SEG6) located in DBD2, which is defined in the second DBD in Figure 39.
RECORD SECTION.
RECORD NAME IS RECRT1 LENGTH IS 115.
SEQ FIELD NAME IS RT1KEY START POS 1 LENGTH 11.
FIELD NAME IS FIELD2 START POS 1 LENGTH 5.
FIELD NAME IS FIELD3 START POS 6 LENGTH 6.
RECORD NAME IS REC2 LENGTH IS 120
LOGICAL PARENT CONCAT KEY FIELD NAME IS FILFLD1
STORED PHYSICALLY START POS 1 LENGTH 60.
PHYSICAL PARENT CONCAT KEY FIELD NAME IS FILFLD2
STORED VIRTUALLY LENGTH 11.
SEQ FIELD NAME IS KEY2 START POS 1 LENGTH 6.
LOGICAL SEQUENCE FIELD NAME IS KEY7
START POS 61 LENGTH 21.
FIELD NAME IS FIELD8 START POS 22 LENGTH 20.
RECORD NAME IS REC3 LENGTH IS 10.
SEQ FIELD NAME IS KEY3 START POS 1 LENGTH 3.
FIELD NAME IS FIELD5 START POS 4 LENGTH 4.
RECORD NAME IS REC4 LENGTH IS 6.
SEQ FIELD NAME IS KEY4 START POS 1 LENGTH 6.
Figure 40. Sample RECORD SECTION
|
Copyright © 2013 CA.
All rights reserved.
|
|