EMPDB Sample

EMPDB01, EMPDB02, and EMPDB03 are HIDAM databases that illustrate partitioning and concatenation of PCBs in the FOCPSB (see Chapter 3, Creating FOCUS Descriptions).

This section illustrates the following:


Top of page

EMPDB DBDs

Each of the following sections describes one partition of the EMPDB database.


Top of page

EMPDB01 DBD

Database DBD:

  PRINT NOGEN
DBD NAME=EMPDB01,ACCESS=(HIDAM,VSAM)
DATASET DD1=EMPDB01,DEVICE=3380,BLOCK=4096,SCAN=5
*
SEGM NAME=EMPINFO,PTR=H,PARENT=0,BYTES=212
FIELD NAME=(SSNALPHA,SEQ,U),BYTES=9,START=18,TYPE=C
LCHILD NAME=(SEGIX1,EMPDBIX1),PTR=INDX
FIELD NAME=SEQFIELD,BYTES=2,START=1,TYPE=P
FIELD NAME=REVSEQ,BYTES=6,START=3,TYPE=C
FIELD NAME=SSN,BYTES=3,START=15,TYPE=P
FIELD NAME=EMPID,BYTES=12,START=27,TYPE=C
FIELD NAME=LNAME,BYTES=12,START=39,TYPE=C
FIELD NAME=FNAME,BYTES=12,START=51,TYPE=C
FIELD NAME=ADMDATE,BYTES=8,START=72,TYPE=C
*
DBDGEN
FINISH
END

Index DBD:

  PRINT NOGEN
DBD NAME=EMPDBIX1,ACCESS=INDEX
DATASET DD1=EMPDBIX1,DEVICE=3380
*
SEGM NAME=SEGIX1,PARENT=0,BYTES=9
FIELD NAME=(SSNIX,SEQ,U),BYTES=9,START=1
LCHILD NAME=(EMPINFO,EMPDB01),INDEX=SSNALPHA
DBDGEN
FINISH
END

Top of page

EMPDB02 DBD

Database DBD:

  PRINT NOGEN
DBD NAME=EMPDB02,ACCESS=(HIDAM,VSAM)
DATASET DD1=EMPDB02,DEVICE=3380,BLOCK=4096,SCAN=5
*
SEGM NAME=EMPINFO,PTR=H,PARENT=0,BYTES=212
FIELD NAME=(SSNALPHA,SEQ,U),BYTES=9,START=18,TYPE=C
LCHILD NAME=(SEGIX2,EMPDBIX2),PTR=INDX
FIELD NAME=SEQFIELD,BYTES=2,START=1,TYPE=P
FIELD NAME=REVSEQ,BYTES=6,START=3,TYPE=C
FIELD NAME=SSN,BYTES=3,START=15,TYPE=P
FIELD NAME=EMPID,BYTES=12,START=27,TYPE=C
FIELD NAME=LNAME,BYTES=12,START=39,TYPE=C
FIELD NAME=FNAME,BYTES=12,START=51,TYPE=C
FIELD NAME=ADMDATE,BYTES=8,START=72,TYPE=C
*
DBDGEN
FINISH
END

Index DBD:

  PRINT NOGEN
DBD NAME=EMPDBIX2,ACCESS=INDEX
DATASET DD1=EMPDBIX2,DEVICE=3380
*
SEGM NAME=SEGIX2,PARENT=0,BYTES=9
FIELD NAME=(SSNIX,SEQ,U),BYTES=9,START=1
LCHILD NAME=(EMPINFO,EMPDB02),INDEX=SSNALPHA
DBDGEN
FINISH
END

Top of page

EMPDB03 DBD

Database DBD:

  PRINT NOGEN
DBD NAME=EMPDB03,ACCESS=(HIDAM,VSAM)
DATASET DD1=EMPDB03,DEVICE=3380,BLOCK=4096,SCAN=5
*
SEGM NAME=EMPINFO,PTR=H,PARENT=0,BYTES=212
FIELD NAME=(SSNALPHA,SEQ,U),BYTES=9,START=18,TYPE=C
LCHILD NAME=(SEGIX3,EMPDBIX3),PTR=INDX
FIELD NAME=SEQFIELD,BYTES=2,START=1,TYPE=P
FIELD NAME=REVSEQ,BYTES=6,START=3,TYPE=C
FIELD NAME=SSN,BYTES=3,START=15,TYPE=P
FIELD NAME=EMPID,BYTES=12,START=27,TYPE=C
FIELD NAME=LNAME,BYTES=12,START=39,TYPE=C
FIELD NAME=FNAME,BYTES=12,START=51,TYPE=C
FIELD NAME=ADMDATE,BYTES=8,START=72,TYPE=C
*
DBDGEN
FINISH
END

Index DBD:

  PRINT NOGEN
DBD NAME=EMPDBIX3,ACCESS=INDEX
DATASET DD1=EMPDBIX3,DEVICE=3380
*
SEGM NAME=SEGIX3,PARENT=0,BYTES=9
FIELD NAME=(SSNIX,SEQ,U),BYTES=9,START=1
LCHILD NAME=(EMPINFO,EMPDB03),INDEX=SSNALPHA
DBDGEN
FINISH
END

Top of page

PSB to Access the EMPDB Databases

PCB       TYPE=TP,MODIFY=YES,EXPRESS=YES
PCB TYPE=TP,EXPRESS=NO,MODIFY=YES,SAMETRM=YES
PCB TYPE=DB,DBDNAME=EMPDB01,PROCOPT=GO,KEYLEN=9
SENSEG NAME=EMPINFO,PARENT=0
PCB TYPE=DB,DBDNAME=EMPDB02,PROCOPT=GO,KEYLEN=9
SENSEG NAME=EMPINFO,PARENT=0
PCB TYPE=DB,DBDNAME=EMPDB03,PROCOPT=GO,KEYLEN=9
SENSEG NAME=EMPINFO,PARENT=0
PSBGEN LANG=COBOL,PSBNAME=EMPPSBJ,CMPAT=YES
END

This PSB is member EMPPSBJ in the PSB dataset because PSBNAME=EMPPSBJ.


Top of page

FOCPSB to Access the EMPDB Databases

FOCPSB=EXTENDED,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME= , PCBTYPE=TERM,$
PCBNAME=EMPDB01, PCBTYPE=DB, LOWVALUE=000000001, HIGHVALUE=000001667,$
PCBNAME=EMPDB02, PCBTYPE=DB, LOWVALUE=000001668, HIGHVALUE=000003334,$
PCBNAME=EMPDB03, PCBTYPE=DB, LOWVALUE=000003335, HIGHVALUE=000005000,$
CONCATNAME=EMPDBJ, USE=EMPDB01/EMPDB02/EMPDB03, $

This FOCPSB is member EMPPSBJ in the FOCPSB dataset because it must have the same member name as its corresponding PSB.


Top of page

Master Files to Access the EMPDB Databases

The EMPDB01, EMPDB02, and EMPDB03 Master Files each correspond to a PCB for one individual partition of the database; the EMPDBJ Master File corresponds to the concatenation of the three partitions.

EMPDB01 Master File
FILE=EMPDB01,SUFFIX=IMS,$
SEGNAME=EMPINFO,PARENT=,SEGTYPE=S1,$
FIELD=SEQFIELD ,ALIAS=SEQFIELD.IMS ,USAGE=P6 ,ACTUAL=P2 ,$
FIELD=REVSEQ ,ALIAS=REVSEQ.IMS ,USAGE=A6 ,ACTUAL=A6 ,$
FIELD=SALARY ,ALIAS= ,USAGE=P8 ,ACTUAL=P4 ,$
FIELD=OT_HR_PAY ,ALIAS= ,USAGE=P5 ,ACTUAL=P2 ,$
FIELD=SSN ,ALIAS=SSN.IMS ,USAGE=P9 ,ACTUAL=P3 ,$
FIELD=SSNALPHA ,ALIAS=SSNALPHA.KEY ,USAGE=A9 ,ACTUAL=A9 ,$
FIELD=EMPID ,ALIAS=EMPID.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=ELAST_NAME ,ALIAS=ELNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=EFIRST_NAME ,ALIAS=EFNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DATE_OF_BIRTH ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=RACE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=ADMIT_DATE ,ALIAS=ADMDATE.IMS ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ADMIT_TYPE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DISPOSITION ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=TRANSFER_DATE ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ALLERGY1 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY2 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY3 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY4 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=HOUSING ,ALIAS= ,USAGE=A03 ,ACTUAL=A03,$
FIELD=RPR ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=URIN ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PRACTITIONAR ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=SHIFT ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PATINET_ID ,ALIAS= ,USAGE=P12 ,ACTUAL=P4 ,$
FIELD=WHO_ADDED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_ADDED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=WHO_EDITED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_EDITED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=STATION_ID ,ALIAS= ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DIABETIC ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DIALYSIS ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$

This Master File is member EMPDB01 in the Master File dataset because the first database PCB in the EMPPSBJ FOCPSB specifies PCBNAME=EMPDB01.


Top of page

EMPDB02 Master File

FILE=EMPDB02,SUFFIX=IMS,$
SEGNAME=EMPINFO,PARENT=,SEGTYPE=S1,$
FIELD=SEQFIELD ,ALIAS=SEQFIELD.IMS ,USAGE=P6 ,ACTUAL=P2 ,$
FIELD=REVSEQ ,ALIAS=REVSEQ.IMS ,USAGE=A6 ,ACTUAL=A6 ,$
FIELD=SALARY ,ALIAS= ,USAGE=P8 ,ACTUAL=P4 ,$
FIELD=OT_HR_PAY ,ALIAS= ,USAGE=P5 ,ACTUAL=P2 ,$
FIELD=SSN ,ALIAS=SSN.IMS ,USAGE=P9 ,ACTUAL=P3 ,$
FIELD=SSNALPHA ,ALIAS=SSNALPHA.KEY ,USAGE=A9 ,ACTUAL=A9 ,$
FIELD=EMPID ,ALIAS=EMPID.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=ELAST_NAME ,ALIAS=ELNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=EFIRST_NAME ,ALIAS=EFNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DATE_OF_BIRTH ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=RACE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=ADMIT_DATE ,ALIAS=ADMDATE.IMS ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ADMIT_TYPE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DISPOSITION ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=TRANSFER_DATE ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ALLERGY1 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY2 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY3 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY4 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=HOUSING ,ALIAS= ,USAGE=A03 ,ACTUAL=A03,$
FIELD=RPR ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=URIN ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PRACTITIONAR ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=SHIFT ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PATINET_ID ,ALIAS= ,USAGE=P12 ,ACTUAL=P4 ,$
FIELD=WHO_ADDED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_ADDED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=WHO_EDITED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_EDITED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=STATION_ID ,ALIAS= ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DIABETIC ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DIALYSIS ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$

This Master File is member EMPDB02 in the Master File dataset because the second database PCB in the EMPPSBJ FOCPSB specifies PCBNAME=EMPDB02.


Top of page

EMPDB03 Master File

FILE=EMPDB03,SUFFIX=IMS,$
SEGNAME=EMPINFO,PARENT=,SEGTYPE=S1,$
FIELD=SEQFIELD ,ALIAS=SEQFIELD.IMS ,USAGE=P6 ,ACTUAL=P2 ,$
FIELD=REVSEQ ,ALIAS=REVSEQ.IMS ,USAGE=A6 ,ACTUAL=A6 ,$
FIELD=SALARY ,ALIAS= ,USAGE=P8 ,ACTUAL=P4 ,$
FIELD=OT_HR_PAY ,ALIAS= ,USAGE=P5 ,ACTUAL=P2 ,$
FIELD=SSN ,ALIAS=SSN.IMS ,USAGE=P9 ,ACTUAL=P3 ,$
FIELD=SSNALPHA ,ALIAS=SSNALPHA.KEY ,USAGE=A9 ,ACTUAL=A9 ,$
FIELD=EMPID ,ALIAS=EMPID.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=ELAST_NAME ,ALIAS=ELNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=EFIRST_NAME ,ALIAS=EFNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DATE_OF_BIRTH ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=RACE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=ADMIT_DATE ,ALIAS=ADMDATE.IMS ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ADMIT_TYPE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DISPOSITION ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=TRANSFER_DATE ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ALLERGY1 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY2 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY3 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY4 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=HOUSING ,ALIAS= ,USAGE=A03 ,ACTUAL=A03,$
FIELD=RPR ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=URIN ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PRACTITIONAR ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=SHIFT ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PATINET_ID ,ALIAS= ,USAGE=P12 ,ACTUAL=P4 ,$
FIELD=WHO_ADDED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_ADDED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=WHO_EDITED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_EDITED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=STATION_ID ,ALIAS= ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DIABETIC ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DIALYSIS ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$

This Master File is member EMPDB03 in the Master File dataset because the third database PCB in the EMPPSBJ FOCPSB specifies PCBNAME=EMPDB03.


Top of page

EMPDBJ Master File

FILE=EMPDBJ,SUFFIX=IMS,$
SEGNAME=EMPINFO,PARENT=,SEGTYPE=S1,$
FIELD=SEQFIELD ,ALIAS=SEQFIELD.IMS ,USAGE=P6 ,ACTUAL=P2 ,$
FIELD=REVSEQ ,ALIAS=REVSEQ.IMS ,USAGE=A6 ,ACTUAL=A6 ,$
FIELD=SALARY ,ALIAS= ,USAGE=P8 ,ACTUAL=P4 ,$
FIELD=OT_HR_PAY ,ALIAS= ,USAGE=P5 ,ACTUAL=P2 ,$
FIELD=SSN ,ALIAS=SSN.IMS ,USAGE=P9 ,ACTUAL=P3 ,$
FIELD=SSNALPHA ,ALIAS=SSNALPHA.KEY ,USAGE=A9 ,ACTUAL=A9 ,$
FIELD=EMPID ,ALIAS=EMPID.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=ELAST_NAME ,ALIAS=ELNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=EFIRST_NAME ,ALIAS=EFNAME.IMS ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DATE_OF_BIRTH ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=RACE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=ADMIT_DATE ,ALIAS=ADMDATE.IMS ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ADMIT_TYPE ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DISPOSITION ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=TRANSFER_DATE ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=ALLERGY1 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY2 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY3 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=ALLERGY4 ,ALIAS= ,USAGE=A15 ,ACTUAL=A15,$
FIELD=HOUSING ,ALIAS= ,USAGE=A03 ,ACTUAL=A03,$
FIELD=RPR ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=URIN ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PRACTITIONAR ,ALIAS= ,USAGE=A02 ,ACTUAL=A02,$
FIELD=SHIFT ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=PATINET_ID ,ALIAS= ,USAGE=P12 ,ACTUAL=P4 ,$
FIELD=WHO_ADDED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_ADDED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=WHO_EDITED ,ALIAS= ,USAGE=A10 ,ACTUAL=A10,$
FIELD=DATE_EDITED ,ALIAS= ,USAGE=A08 ,ACTUAL=A08,$
FIELD=STATION_ID ,ALIAS= ,USAGE=A12 ,ACTUAL=A12,$
FIELD=DIABETIC ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$
FIELD=DIALYSIS ,ALIAS= ,USAGE=A01 ,ACTUAL=A01,$

This Master File is member EMPDBJ in the Master File dataset because of the CONCATNAME=EMPDBJ attribute in the EMPPSBJ FOCPSB.


Information Builders