The MAGEC Library may be used for any type of program, online or batch. If you wish to store and maintain your batch (cont.)
COBOL or ASSEMBLER programs using the MAGEC Library and online maintenance facilities then you will want to be able to (cont.)
submit compiles and assemblies from the Library.
Using the MAGEC Library for all your programs lets you use the "copybook" include feature (-MAGECINC) to use the same (cont.)
data definitions and library routines for all your programs. This means the Dictionary-generated copybooks also can be (cont.)
included into non-MAGEC programs, if you wish (refer to the "Database Administration" chapter).
The MAGECCOB and MAGECASM jobstreams execute the MMPCRE program to extract the source code from the MAGEC library (ALG (cont.)
file) and to expand copybooks (-MAGECINC's). The "dummy" screen header (SHD) number of "681" is used in the control (cont.)
cards since MMPCRE requires a valid SHD number in order to execute.
To compile a COBOL program from the Library use the MAGECCOB jobstream.
##
Assemble Program from Library
To assemble your Assembler language programs from the Library use the MAGECASM jobstream.
The first step in each of these two jobstreams is MMPCRE which will extract your program from the Library and expand (cont.)
any -MAGECINC statements. If you would like more detail regarding the control cards into MMPCRE refer to MMPCREAT (cont.)
earlier in this chapter. MMPCRE is used also to generate MMP's.
##
Adding Program to Library
Remember, the MAGECLBR utility discussed earlier may be used to add your programs to the MAGEC Library.
MAGECCOB Jobstream
Compile and link batch program from MAGEC Library (ALG file).
**
VSE
**
* $$ JOB JNM=MAGECCOB,CLASS=F
*** $$ PRT CLASS=V
* $$ PUN CLASS=F,DISP=I,PRI=9
// JOB MAGECCOB
// EXEC PROC=MAGECLIB -pvt. libs & DLBL'S for dictionary
// ASSGN SYS006,SYSIPT
// ASSGN SYS007,SYSLST
// ASSGN SYS005,SYSPCH
// EXEC MMPCRE,SIZE=(AUTO,20K)
MMPCRE 681 CICS MAGEC DOSVSAM
¢ $$ JOB JNM=BATCH,CLASS=0
¢ $$ LST CLASS=Q
¢¢ JOB MAGECCOB
¢¢ EXEC PROC=MAGECLIB -pvt. libs. (and DLBL'S if VSAM)
¢¢ OPTION CATAL
PHASE --------,*
INCLUDE DATACOB
¢¢ EXEC FCOBOL,SIZE=128K
CBL BUF=3520,SUPMAP,CLIST,SXREF,OPT,LIB,APOST,LANGLVL(1),ADV
-MAGECINC -------- member name
¢F
¢¢ EXEC LNKEDT
¢J
¢ $$ EOJ
/*
/&
* $$ EOJ
**
**
**
**
NOTE:
**
Refer to MMPCREAT in this chapter for control card layout.
**
z/OS
**
//COMPILE JOB CLASS=A,MSGCLASS=A
**//STEP1 EXEC PGM=MMPCRE,REGION=1024K
//STEPLIB DD DSN=MAGEC.LOADLIB.DISP=SHR
* * * * * * * * DD'S for dictionary files
//SYS005 DD DSN=&&OSJOB,DISP=(NEW,PASS),UNIT=SYSDA
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000),SPACE=(CYL,5)
//SYS007 DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYS006 DD *
MMPCRE 681 CICS MAGEC OS VSAM
-MAGECINC XXXXXXXX (XXXXXXX = member name)
/*
//COB EXEC PGM=IKFCBL00,REGION=256K,
// PARM='NODECK,LINKMAP,DCLIST,LOAD,RESIDENT,NODYNAM'
//STEPLIB DD DSN=VS.COBOL.LINKLIB,DISP=SHR
// DD DSN=VS.COBOL.COBLIB,DISP=SHR
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
// DD DSN=MAGEC.LOADLIB,DISP=SHR
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
// DD DSN=MAGEC.LOADLIB,DISP=SHR
//SYSLIN DD UNIT=SYSDA,SPACE=(TRK,(30,10)),DISP=(,PASS)
//SYSIN DD DSN=&&OSJOB,DISP=(OLD,DELET),UNIT=SYSDA,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000,
// SPACE=(CYL,5)
//LKED EXEC PGM=IEWL,PARM=(XREF,LET,LIST),COND=(8,LE)
//SYSLIB DD DSN=VS.COBLIB,DISP=SHR
// DD DSN=MAGEC.LOADLIB,DISP=SHR
//SYSLMOD DD DSN=MAGEC.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSLIN DD DSN=*.COBOL.SYSLIN,DISP=(OLD,DELETE)
// DD *
INCLUDE SYSLMOD(DATACOB)
NAME XXXXXXXX(R)
/*
//
z/OS -- COBOLII
**
//U2MSI1CB JOB (SYST,MSI),MAGCOB85,CLASS=M,MSGCLASS=X,
**// MSGLEVEL=(1,1),NOTIFY=U2MSI2,REGION=4M
//MAGECCOB EXEC PGM=MMPCRE,REGION=4096K
//STEPLIB DD DSN=MAGEC.LOADLIB2,DISP=SHR
************ DD's for MAGEC Dictionary files
//SYS005 DD DSN=&&OSJOB,DISP=(NEW,PASS),UNIT=WORK,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=17600),
// SPACE=(CYL,20)
//SYS007 DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYS006 DD *
MMPCRE 681 CICS MAGEC OS VSAM
-MAGECINC XXXXXXXX
//COB2 EXEC PGM=IGYCRCTL,REGION=2M,
// PARM=(NONAME,'BUFSIZE(23440)',
// NOFDUMP,NODYNAM,DMAP,NOSTATE,
// SXREF,CLIST,OPT,NOSUPPRESS,ADV,NOSSRANGE)
//STEPLIB DD DSN=SYS1.COB2COMP,DISP=SHR
//SYSPUNCH DD DSN=&&DECK,DISP=(MOD,PASS),UNIT=HSMDA,
// SPACE=(80,(500,100)),DCB=BLKSIZE=3200
//SYSLIB DD DSN=CICS.PROD.COPYLIB,DISP=SHR
//SYSUT1 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT2 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT3 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT4 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT5 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT6 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSUT7 DD UNIT=WORK,SPACE=(CYL,(5,5))
//SYSLIN DD DSN=&&SYSLIN,DISP=(MOD,PASS),SPACE=(CYL,(5,1)),
// UNIT=HSMDA
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=&&OSJOB,DISP=(OLD,DELETE)
//LKED2 EXEC PGM=IEWL,PARM='LIST,XREF,LET,TERM',REGION=512K
//SYSLMOD DD DSN=MAGEC.LOADLIB2,DISP=SHR
//SYSLIB DD DSN=SYS1.COB2LIB,DISP=SHR,DCB=BLKSIZE=23476
// DD DSN=MAGEC.LOADLIB2,DISP=SHR
// DD DSN=SYS1.VENDOR.LINKLIB,DISP=SHR
//SYSUT1 DD UNIT=WORK,SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=*.COB2.SYSLIN,DISP=(OLD,DELETE)
// DD *
INCLUDE SYSLMOD(MAGECSET)
INCLUDE SYSLMOD(DATACOB)
INCLUDE SYSLIB(IGZEBST)
NAME XXXXXXXX(R)
//*
PC
**
At the prompt, enter:
MAGECCOB xxxxxxxx
where: xxxxxxxx
= the member name to be compiled
MAGECASM Jobstream
Assemble and CATALR. See MMPCREAT in this chapter for control card layout.
**
VSE
**
* $$ JOB JNM=MAGECASM,CLASS=F
*** $$ PRT CLASS=V
* $$ PUN CLASS=F,DISP=I,PRI=9
// JOB MAGECASM
// EXEC PROC=MAGECLIB -pvt. libs & dictionary file DLBL's
// ASSGN SYS006,SYSIPT
// ASSGN SYS007,SYSLST
// ASSGN SYS005,SYSPCH
// EXEC MMPCRE,SIZE=(AUTO,20K)
MMPCRE 681 CICS MAGEC DOSVSAM
¢ $$ JOB JNM=MAGECASM,CLASS=F
¢ $$ PRT CLASS=V
¢¢ JOB MAGECASM
¢¢ EXEC PROC=MAGECLIB -pvt. libs & DLBL's for dictionary
ASSGN SYSPCH,.... i.e: ,DISK,VOL=SYSRES,SHR
¢¢ OPTION DECK
¢¢ EXEC ASSEMBLY,SIZE=128K
-MAGECINC xxxxxxxx member name
¢F
CLOSE SYSPCH,PUNCH
ASSGN SYSIPT,....... example: ASSGN SYSIPT,SYSRES
¢¢ EXEC MAINT
¢F
¢J
¢¢ JOB CLOSE
CLOSE SYSIPT,READER
¢F
¢J
next: util11.md.txt