ChatGPT generated this JCL:
//MYJOB JOB (ACCT),'ASSEMBLE LINK EXEC',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//ASMSTEP EXEC PGM=ASMA90,REGION=4096K
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
MYBR14 CSECT
BR 14
END MYBR14
/*
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSPUNCH DD DUMMY
//SYSLIN DD DSN=&&OBJ,UNIT=VIO,SPACE=(TRK,(1,1)),DISP=(MOD,PASS)
//*
//LKEDSTEP EXEC PGM=IEWL,REGION=4096K,
// PARM='MAP,LET,LIST,XREF'
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
//SYSLMOD DD DSN=&&LOADSET(MYBR14),UNIT=VIO,
// SPACE=(TRK,(1,1,1)),DISP=(MOD,PASS)
//SYSUT1 DD UNIT=VIO,SPACE=(CYL,(1,1))
//*
//EXECSTEP EXEC PGM=MYBR14
//STEPLIB DD DSN=&&LOADSET,DISP=(OLD,PASS)
//SYSOUT DD SYSOUT=*
//
My comments:
Grok generated this JCL:
//MYBR14JB JOB (ACCT),'ASSEMBLE LINK EXEC',CLASS=A,MSGCLASS=H,
// NOTIFY=&SYSUID
//********************************************************************
//* JCL to assemble, link, and execute HLASM program MYBR14
//********************************************************************
//ASSEMBLE EXEC PGM=ASMA90,PARM='DECK,LIST'
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSPUNCH DD DSN=&&OBJMOD,SPACE=(TRK,(10,10)),UNIT=SYSDA,
// DISP=(NEW,PASS)
//SYSIN DD DSN=USER.SOURCE(MYBR14),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DUMMY
//LINK EXEC PGM=IEWL,PARM='MAP,LIST',COND=(0,LT,ASSEMBLE)
//SYSLIB DD DSN=SYS1.LINKLIB,DISP=SHR
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DSN=USER.LOADLIB(MYBR14),DISP=SHR
//SYSLIN DD DSN=&&OBJMOD,DISP=(OLD,DELETE)
//EXEC EXEC PGM=MYBR14
//STEPLIB DD DSN=USER.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//
My comments:
Gemini generated this JCL:
//MYBR14J JOB (ACCOUNTING),'PROGRAMMER NAME',CLASS=A,MSGCLASS=X,
// MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*
//********************************************************************
//* JCL TO ASSEMBLE, LINK, AND EXECUTE AN HLASM PROGRAM
//********************************************************************
//*
//ASMLG EXEC PROC=ASMACLG,PARM.ASM='DECK,NOOBJECT,LIST'
//*
//ASM.SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
// DD DSN=SYS1.MODGEN,DISP=SHR
//*
//ASM.SYSIN DD *
MYBR14 CSECT
BR 14
END MYBR14
/*
//*
//GO.SYSPRINT DD SYSOUT=*
//GO.SYSUDUMP DD SYSOUT=*
//
My comments:
- Color me impressed, it's the only chatbot using the proc ASMACLG !
- But it should have been:
- C.SYSLIB and C.SYSIN not ASM.SYSLIB and ASM.SYSIN
- G.SYSPRINT and G.SYSUDUMP not GO.SYSPRINT and GO.SYSUDUMP
Copilot generated this JCL:
//MYBR14 JOB (123),'HLASM JOB',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//ASM EXEC PGM=ASMA90,PARM='OBJECT,NODECK'
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=YOUR.SOURCE(MYBR14),DISP=SHR
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSLIN DD DSN=&&OBJ,UNIT=VIO,SPACE=(TRK,(1,1)),DISP=(MOD,PASS)
//*
//LINK EXEC PGM=IEWL,PARM='LIST,NCAL'
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE)
//SYSLMOD DD DSN=YOUR.LOADLIB(MYBR14),DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//*
//RUN EXEC PGM=MYBR14
//STEPLIB DD DSN=YOUR.LOADLIB,DISP=SHR
//SYSOUT DD SYSOUT=*
My comments:
Claude generated this JCL:
//MYBR14JB JOB (ACCT),'ASSEMBLE LINK GO',CLASS=A,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*
//* STEP 1: ASSEMBLE THE PROGRAM
//*
//ASM EXEC PGM=ASMA90,PARM='OBJECT,NODECK,NOLIST'
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
// DD DSN=SYS1.MODGEN,DISP=SHR
//SYSIN DD DSN=YOUR.SOURCE.LIBRARY(MYBR14),DISP=SHR
//SYSLIN DD DSN=&&OBJSET,DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(CYL,(1,1)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//*
//* STEP 2: LINK-EDIT THE PROGRAM
//*
//LKED EXEC PGM=IEWL,PARM='MAP,LIST,LET,XREF'
//SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR
// DD DSN=SYS1.CSSLIB,DISP=SHR
//SYSLIN DD DSN=&&OBJSET,DISP=(OLD,DELETE)
// DD DDNAME=SYSIN
//SYSLMOD DD DSN=&&GOSET(MYBR14),DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(CYL,(1,1,1)),DCB=(RECFM=U,BLKSIZE=6144)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSIN DD *
NAME MYBR14(R)
/*
//*
//* STEP 3: EXECUTE THE PROGRAM
//*
//GO EXEC PGM=MYBR14
//STEPLIB DD DSN=&&GOSET,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
//
My comments: