DCL 
.PROC,DCL*I,\ 
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMDEN
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMPROC 
. 
  
* DCL - DATA CATALOGUE 2 V2.0 
*   LEVEL 596/587 
* 
  
.*
.*  START DCL VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,DCL,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        DCL. 
EXIT. 
REVERT(ABORT)  DCL. 
  
  
.DATA,ZZZPROC 
.PROC,DCL.
*   LEVEL 596/587 
BEGIN(PRDIN,INSTALL,PRDNAME=DCL2,#PN=PN,#PR=PR) 
COPYBF(DISK,LGO)  OBTAIN SEGLOAD DIRECTIVES FROM RELEASE TAPE 
RETURN(DISK)
BEGIN(UP,INSTALL,RANDOM=NO,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=DCL)
REWIND(NEWPL) 
BEGIN(GETULIB,INSTALL,BAMLIB,SYSLIB,SYMLIB) 
* 
REDUCE(-) 
COBOL5(I,CC1,EL=T,L=0,B=UPDBN)   DCUPD
COBOL5(I,CC1,EL=T,L=0,B=RETBN)   DCRET
COBOL5(I,CC1,EL=T,L=0,B=SELBN)   DCSEL
COBOL5(I,CC1,EL=T,L=0,B=RPTBN)   DCRPT
COBOL5(I,CC1,EL=T,L=0,B=IDXBN)   DCIDX
COBOL5(I,CC1,EL=T,L=0,B=CONBN)   DCCONVT
COBOL5(I,CC1,EL=T,L=0,B=UTLBN)   DCUTL
COBOL5(I,CC1,EL=T,L=0,B=GENBN)   DCGEN
COBOL5(I,CC1,EL=T,L=0,B=CVTBN)   DCCONGN
REDUCE. 
REWIND(LGO,UPDBN,RETBN,SELBN,RPTBN,IDXBN,CONBN,UTLBN,CVTBN) 
REWIND(GENBN) 
BEGIN(GETULIB,INSTALL,COBOL5,SRVLIB)
RENAME(COB5LIB=COBOL5)
RETURN(COMPILE) 
COPYBR(LGO,UPD) 
COPYBR(LGO,SEL) 
COPYBR(LGO,RPT) 
COPYBR(LGO,RET) 
COPYBR(LGO,EDT) 
COPYBR(LGO,UTL) 
COPYBR(LGO,GEN) 
COPYBR(LGO,CON) 
REWIND(LGO) 
REWIND(UPD,SEL,RPT,RET,EDT,UTL) 
REWIND(GEN,CON) 
****************************************
* SINCE DCL USES COBOL5 WHICH GENERATES 
* CODE WHICH USES CMU, NON-FATAL LOADER 
* ERRORS OCCUR WHEN BUILDING A CMU BASED
* DCL ON A NON-CMU MACHINE, EG. BUILDING
* 172 DCL ON A 760. BECAUSE OF THIS,
* THE *ERR=ALL* LDSET DIRECTIVE IS NOT
* USED IN THE FOLLOWING LOAD SEQUENCES. 
* THIS IS THE ONLY INSTANCE WHERE 
* NON-FATAL LOADER ERRORS SHOULD OCCUR. 
****************************************
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
SEGLOAD(B=DCUPD,I=UPD)
LOAD(UPDBN) 
NOGO(DCUPD) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
SEGLOAD(B=DCSEL,I=SEL)
LOAD(SELBN) 
NOGO(DCSEL) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
SEGLOAD(B=DCRPT,I=RPT)
LOAD(RPTBN) 
NOGO(DCRPT) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
SEGLOAD(B=DCRET,I=RET)
LOAD(RETBN) 
NOGO(DCRET) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB/SRVLIB)
SEGLOAD(B=DCCONVT,I=EDT)
LOAD(CONBN) 
NOGO(DCCONVT) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB/SRVLIB)
SEGLOAD(B=DCUTL,I=UTL)
LOAD(UTLBN) 
NOGO(DCUTL) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
LOAD(IDXBN) 
NOGO(DCIDX) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB) 
SEGLOAD(B=DCGEN,I=GEN)
LOAD(GENBN) 
NOGO(DCGEN) 
LDSET(PRESET=ZERO)
LDSET(LIB=COB5LIB/BAMLIB/SRVLIB)
SEGLOAD(B=DCCONGN,I=CON)
LOAD(CVTBN) 
NOGO(DCCONGN) 
REWIND(DCUPD,DCSEL,DCRPT,DCRET,DCGEN) 
REWIND(DCCONVT,DCUTL,DCIDX,DCCONGN,GENBN) 
REWIND(UPDBN,SELBN,RPTBN,RETBN,CONBN,UTLBN,IDXBN,CVTBN,LGO) 
SKIPF(NEWPL)
COPYBF(LGO,NEWPL) 
COPYBF(DCUPD,NEWPL) 
COPYBF(DCSEL,NEWPL) 
COPYBF(DCRPT,NEWPL) 
COPYBF(DCRET,NEWPL) 
COPYBF(DCCONVT,NEWPL) 
COPYBF(DCUTL,NEWPL) 
COPYBF(DCIDX,NEWPL) 
COPYBF(DCGEN,NEWPL) 
COPYBF(DCCONGN,NEWPL) 
BEGIN(PRDOUT,INSTALL,PRDNAME=DCL2,#PNO=PNO,#PRO=PRO)
REWIND(NEWPL,PFGFILE) 
SKIPF(NEWPL,2)
COPYEI(NEWPL,PFGFILE) 
BEGIN(PFGOUT,INSTALL,PRDNAME=DCL2,LFN=PFGFILE)
REVERT.        DCL. 
EXIT. 
REVERT(ABORT)  DCL. 
*WEOR 
