DDL3
.PROC,DDL3*I,\
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMPROC 
. 
  
* DDL3 - DATA DESCRIPTION LANGUAGE 3
*CALL     PSRLEV
* 
  
.*
.*  START DDL3 VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,DDL3,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        DDL3.
EXIT. 
REVERT(ABORT)  DDL3.
  
  
.DATA,ZZZPROC 
.PROC,DDL3. 
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=DDL3,#PN=PN,#PR=PR,DISK=0)
BEGIN(COMPCOM,INSTALL)
BEGIN(UP,INSTALL,RANDOM,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=DL3,NUMAUX=1)
SYMPL(ET=T,I,P,B=SYMTEXT,L=LIST)
SYMPL(ET=T,I,P,Y=SYMTEXT,L=LIST)
COMPASS(A,I,S=PSSTEXT,S=IPTEXT,S=IOTEXT,S=CPUTEXT,L=LIST) 
SYMPL(ET=T,I,B=SYNG,L=LIST) 
COMPASS(A,I,S=PSSTEXT,S=IOTEXT,B=SYNG,L=LIST) 
BEGIN(GETULIB,INSTALL,BAMLIB,SYSLIB,AAMLIB,FORTRAN,SYMLIB)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=SYSLIB/BAMLIB)
LOAD(SYNG)
NOGO(SYNGEN)
RFL(60000)
REDUCE(-) 
SYNGEN(I=COMPILE,O=FILE,L=LIST) 
REDUCE. 
RETURN(SYNGEN)
SYMPL(ET=T,I=FILE,Y=SYMTEXT,L=LIST) 
COMPASS(A,I,B=BIN,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=LIB,L=LIST)
COMPASS(A,I,S=IOTEXT,B=LIB,L=LIST)
SYMPL(ET=T,I,Y=SYMTEXT,B=LIB,L=LIST)
COMPASS(A,I,S=IOTEXT,S=LDRTEXT,B=LIB,L=LIST)
RETURN(COMPILE) 
REWIND(BIN,LGO) 
LIBGEN(F=LIB,P=DARLIB,NX=1) 
COPYLM(BIN,LGO,REL) 
RETURN(LGO) 
LDSET(LIB=DARLIB) 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=SYSLIB/BAMLIB/AAMLIB/FORTRAN/SYMLIB)
LOAD(REL) 
NOGO(LGO) 
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=DMSLIB) 
BEGIN(PRDOUT,INSTALL,PRDNAME=DDL3,#PNO=PNO,#PRO=PRO)
BEGIN(GENDIR,INSTALL,LIB=21)
BEGIN(SAVELGO,INSTALL,PRDNAME=DDL3) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.  DDL3.
EXIT. 
REVERT(ABORT)  DDL3.
*WEOR 
