AIHDAM is an HDAM database with a secondary index on the root key. Chapter 4, Reporting Efficiencies, explains how the index affects report optimization.
Database DBD:
PRINT NOGEN
DBD NAME=AIHDAM,ACCESS=(HDAM,VSAM),RMNAME=(DFSHDC40,4,80,500)
DATASET DD1=AIHDAM,DEVICE=3390,BLOCK=4096,SCAN=5
*
SEGM NAME=LANGUAGE,PTR=H,PARENT=0,BYTES=19
FIELD NAME=(EMPL6,SEQ,M),BYTES=4,START=1,TYPE=C
FIELD NAME=LANG6,BYTES=15,START=5,TYPE=C
FIELD NAME=/SX1
*
LCHILD NAME=(SEG6IX1,AIHDAMX),PTR=INDX
XDFLD NAME=IXEMP6,SRCH=(EMPL6),SUBSEQ=/SX1,NULLVAL=BLANK
*
DBDGEN
FINISH
END
Secondary index DBD:
PRINT NOGEN
DBD NAME=AIHDAMX,ACCESS=INDEX
DATASET DD1=AIHDAMX,OVFLW=AIHDOVF,DEVICE=3390
*
SEGM NAME=SEG6IX1,PARENT=0,BYTES=8
FIELD NAME=(IXEMP6X1,SEQ,M),BYTES=8,START=1
LCHILD NAME=(LANGUAGE,AIHDAM),INDEX=IXEMP6,PTR=SNGL
*
DBDGEN
FINISH
END
PCB TYPE=TP,MODIFY=YES,EXPRESS=YES
PCB TYPE=TP,EXPRESS=NO,MODIFY=YES,SAMETRM=YES
*
PCB TYPE=DB,DBDNAME=AIHDAM,PROCOPT=A,KEYLEN=4
SENSEG NAME=LANGUAGE,PARENT=0
*
PCB TYPE=DB,DBDNAME=AIHDAM,PROCOPT=GO,KEYLEN=4,PROCSEQ=AIHDAMX
SENSEG NAME=LANGUAGE,PARENT=0
*
PSBGEN LANG=COBOL,PSBNAME=AIHDPSB,CMPAT=YES
END
This PSB is member AIHDPSB in the PSB dataset because of the PSBNAME=AIHDPSB parameter in the PSB.
FOCPSB=EXTENDED,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME=AIHDAM ,PCBTYPE=DB,$
PCBNAME=IXEMP6 ,PCBTYPE=DB,$
This FOCPSB is member AIHDPSB in the FOCPSB dataset because it must have the same member name as its corresponding PSB.
FILE=AIHDAM ,SUFFIX=IMS ,$
SEGNAME=LANGUAGE ,SEGTYPE=S1 ,$
FIELD=EMPLOYEE_ID6 ,ALIAS=EMPL6.HKY ,I9 ,I4 ,$
FIELD=LANGUAGE ,ALIAS=LANG6.IMS ,A15,A15 ,$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$ SYNTAX FOR DESCRIBING 2ND'RY INDEX $$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
GROUP=EMPLIX ,ALIAS=IXEMP6.SKY ,I9 ,I4 ,$
FIELD=EMPLY6 ,ALIAS=EMPLOYEE_ID6,I9 ,I4 ,$
This Master File is member AIHDAM in the Master File dataset because the first database PCB in the AIHDPSB FOCPSB specifies PCBNAME=AIHDAM.
Information Builders |