The following is an example of JCL that generates a CICS program using the Distributed Generation Server on the Mainframe.
//MFIUSRA JOB (99999999),
// 'AMBCICG AMBCICG',
// CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(2,0)
/*NOTIFY MFIUSR
//* ***
//* START ISPSLIB(AMBJOB ) - $Revision: 1.3 $
//* ***
//* ***
//* END ISPSLIB(AMBJOB ) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBALLOC) - $REVISION: 1.11 $
//* ***
//**********************************************************************
//* STEP: AMBALLOC
//**********************************************************************
//AMBALLOC EXEC PGM=IEFBR14,REGION=1024K
//SYSPRINT DD SYSOUT=*
//GCOBOL DD DISP=(,CATLG,DELETE),
// DSN=MFIUSR.Y040624.H5161267.COBOL,
// UNIT=,VOL=SER=,SPACE=(3120,(12,60,20)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
//GLOGFILE DD DISP=(,CATLG,DELETE),
// DSN=MFIUSR.Y040624.H5161267.LOG,
// UNIT=,VOL=SER=,SPACE=(13200,(12,60,20)),
// DCB=(RECFM=FB,LRECL=132,BLKSIZE=13200)
//* ***
//* END ISPSLIB(AMBALLOC) - $REVISION: 1.11 $
//* ***
//MFIUSRA JOB (99999999),
// 'AMBCICG AMBCICG',
// CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(2,0)
/*NOTIFY MFIUSR
//* ***
//* START ISPSLIB(AMBJOB ) - $Revision: 1.3 $
//* ***
//* ***
//* END ISPSLIB(AMBJOB ) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBCICP ) - $Revision: 1.3 $
//* ***
//APS2CICS PROC
//AMBCOMP EXEC PGM=AMBCOMP,REGION=1024K,
// COND=(4,LT)
//STEPLIB DD DISP=SHR,DSN=MFIDJM.DGSBUILD.LOADLIB2
// DD DISP=SHR,DSN=CSQ531.SCSQLOAD
// DD DISP=SHR,DSN=CEE.SCEERUN
//GLOGFILE DD DISP=SHR,DSN=MFIUSR.Y040624.H5161267.LOG(MASTX)
//OLOGFILE DD SYSOUT=*,DCB=(RECFM=FB,LRECL=132,BLKSIZE=13200)
//SYSPRINT DD SYSOUT=*
//**********************************************************************
//* STEP: SAVECOB
//**********************************************************************
//SAVECOB EXEC PGM=IDCAMS,COND=(4,LT)
//INDD DD DISP=SHR,
// DSN=MFIUSR.Y040624.H5161267.COBOL(MASTX)
//OUTDD DD DISP=SHR,
// DSN=MFIDJM.MFEEDEMO.COBCICS(MASTX)
//SYSPRINT DD SYSOUT=*
//* ***
//* START ISPSLIB(AMBDB2 ) - $Revision: 1.3 $
//* ***
//**********************************************************************
//* STEP: DB2XLAT
//**********************************************************************
//DB2XLAT EXEC PGM=DSNHPC,REGION=4096K,
// COND=(4,LT),
// PARM=('HOST(COB2),SOURCE,APOST')
//STEPLIB DD DISP=SHR,DSN=DSN710.SDSNEXIT
// DD DISP=SHR,DSN=DSN710.SDSNLOAD
//DBRMLIB DD DISP=(NEW,PASS),DSN=&&DBRMLIB(MASTX),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160,DSORG=PO),
// UNIT=SYSDA,SPACE=(6160,(30,30,1),RLSE)
//SYSLIB DD DISP=SHR,DSN=DSN710.SRCLIB.DATA
// DD DISP=SHR,DSN=MFIDJM.MFEEDEMO.COPYLIB
//SYSTERM DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD SPACE=(800,(500,500)),UNIT=SYSDA
//SYSUT2 DD SPACE=(800,(500,500)),UNIT=SYSDA
//SYSIN DD DISP=SHR,
// DSN=MFIUSR.Y040624.H5161267.COBOL(MASTX)
//SYSCIN DD DISP=(NEW,PASS),DSN=&&DB2OUT,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
// UNIT=SYSDA,SPACE=(6160,(30,30),RLSE)
//* ***
//* END ISPSLIB(AMBDB2 ) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBCICS ) - $REVISION: 1.11 $
//* ***
//**********************************************************************
//* STEP: CICSXLAT
//**********************************************************************
//CICSXLAT EXEC PGM=DFHECP1$,REGION=2048K,
// COND=(4,LT),
// PARM=(COBOL2,NOSOURCE)
//STEPLIB DD DISP=SHR,DSN=CICS41.SDFHLOAD
//SYSPRINT DD SYSOUT=*
//SYSIN DD DISP=(OLD,DELETE,DELETE),
// DSN=&&DB2OUT
//* ***
//SYSPUNCH DD DISP=(NEW,PASS,DELETE),DSN=&&CICSOUT,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
// UNIT=SYSDA,SPACE=(6160,(200,200),RLSE)
//* ***
//* END ISPSLIB(AMBDB2 ) - $REVISION: 1.11 $
//* ***
//* ***
//* START ISPSLIB(AMBCOBOL) - $Revision: 1.3 $
//* ***
//**********************************************************************
//* STEP: COBOL
//**********************************************************************
//COBOL EXEC PGM=IGYCRCTL,REGION=768K,
// COND=(4,LT),
// PARM=(TERM,LIB,NUM,NOADV,
// NOSEQ,
// NOMAP,'DATA(24)',RENT,NOTRUNC,
// NODYNAM,
// APOST)
//STEPLIB DD DISP=SHR,DSN=IGY.V1R2M0.SIGYCOMP
//SYSTERM DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DISP=(OLD,DELETE,DELETE),
// DSN=&&CICSOUT
//SYSLIB DD DISP=SHR,DSN=MFIDJM.MFEEDEMO.COPYLIB
// DD DISP=SHR,DSN=CICS41.SDFHCOB
//SYSUT1 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT2 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT3 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT4 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT5 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT6 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSUT7 DD SPACE=(1024,(400,200)),UNIT=SYSDA
//SYSLIN DD DISP=(NEW,PASS,DELETE),DSN=&&OBJECT,
// DCB=(LRECL=80,BLKSIZE=3200,RECFM=FB),
// UNIT=SYSDA,SPACE=(3200,(30,30))
//* ***
//* END ISPSLIB(AMBCOBOL) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBLINK ) - $Revision: 1.3 $
//* ***
//**********************************************************************
//* STEP: LINK
//**********************************************************************
//LINK EXEC PGM=IEWL,REGION=512K,
// PARM=(LIST,
// RENT,
// MAP),
// COND=(4,LT)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(30,30))
//SYSLMOD DD DISP=SHR,DSN=MFIDJM.MFEEDEMO.LOADCICS
//SYSLIB DD DISP=SHR,DSN=CICS41.SDFHLOAD,
// DCB=BLKSIZE=23476
// DD DISP=SHR,DSN=DSN710.SDSNEXIT
// DD DISP=SHR,DSN=DSN710.SDSNLOAD
// DD DISP=SHR,DSN=CEE.SCEECICS
// DD DISP=SHR,DSN=CEE.SCEELKED
// DD DISP=SHR,DSN=MFIDJM.MFEEDEMO.LOADCICS
// DD DISP=SHR,DSN=APS.APS50GA.LOADLIB2
//SYSLIN DD DISP=SHR,DSN=APS.APS50GA.CNTL(DFHEILIC),
// DCB=BLKSIZE=3200
// DD DISP=(OLD,DELETE,DELETE),DSN=&&OBJECT
// DD DISP=SHR,DSN=APS.APS50GA.CNTL(DSNCLI)
// DD DDNAME=LINKID
//* ***
//* END ISPSLIB(AMBLINK ) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBDB2X ) - $Revision: 1.3 $
//* ***
//**********************************************************************
//* STEP: SAVEDBRM
//**********************************************************************
//SAVEDBRM EXEC PGM=IDCAMS,COND=(4,LT)
//INDD DD DISP=(OLD,DELETE),
// DSN=&&DBRMLIB(MASTX)
//OUTDD DD DISP=SHR,
// DSN=MFIDJM.MFEEDEMO.DBRMLIB(MASTX)
//SYSPRINT DD SYSOUT=*
//* ***
//* END ISPSLIB(AMBDB2X ) - $Revision: 1.3 $
//* ***
// PEND
//**********************************************************************
//* STEP: APS2CICS PROC
//**********************************************************************
//MASTX EXEC APS2CICS
//* ***
//* END ISPSLIB(AMBCICP ) - $Revision: 1.3 $
//* ***
//* ***
//* START ISPSLIB(AMBCICSY) - $REVISION: 1.11 $
//* ***
//AMBCOMP.SYSIN DD *
PARM LOGFILE SYSOUT
PARM ENDEVOR
PARM FOOTPRINT
PARM MQMANAGERNAME CSQ3
PARM MQMAINFRAMEQUEUENAME WILLH.AMBCOMP.MF.Q
PARM MQDISTRIBUTEDQUEUENAME WILLH.AMBCOMP.DS.Q
PARM MQWAITINTERVAL 1000000
PARM CODEPAGE 1140
PARM DECIMAL PERIOD
PARM CURRENCY $
PARM LANGUAGE ENGLISH
PARM PROGRAMMANIFEST YES
PARM WORKGROUP DEV
PARM GENTYPE APSPROG
PARM APPLICATION BANKDEMO
PARM APSDEBUG YES
PARM PROGRAM MASTX
PARM PGMNAME LONGMIXED
PARM DB VSAM
PARM SQL DB2
PARM DC CICS
PARM OSVSGEN NO
*THIS IS A COMMENT
DD GCOBOL MFIUSR.Y040624.H5161267.COBOL
DD GPROGSRC "C:\MFUSER\LONG PROJECT\LONG GROUP\DEVELOPMENT\WORK AREA\USER\TEMPX\
-- APXPROG"
DD GLOGFILE MFIUSR.Y040624.H5161267.LOG
DD GWORKGRP "C:\TMP\FILE\LOCATION\WITH LONG\SPACE NAME"
/*
//SAVECOB.SYSIN DD *
REPRO INFILE(INDD) -
OUTFILE(OUTDD)
/*
//LINK.LINKID DD *
IDENTIFY MASTX('MFIDJM.MFEEDEMO.MFIUSR.04.175.15:16')
NAME MASTX(R)
/*
//SAVEDBRM.SYSIN DD *
REPRO INFILE(INDD) -
OUTFILE(OUTDD)
/*
//* ***
//* END ISPSLIB(AMBCICSY) - $REVISION: 1.11 $
//* ***
//* ***
//* END ISPSLIB(AMBCICG ) - $REVISION: 1.11 $
//* ***