AIHDAM Sample

AIHDAM is an HDAM database with a secondary index on the root key. Chapter 4, Reporting Efficiencies, explains how the index affects report optimization.


Top of page

AIHDAM DBD

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

Top of page

PSB to Access the AIHDAM Database

 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.


Top of page

FOCPSB to Access the AIHDAM Database

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.


Top of page

Master File to Access the AIHDAM Database

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