How to link edit the Assembler user exit
The following figure shows the JCL that you should use to link-edit the Assembler user exit.
JCL to link-edit the Assembler user exit
//LINKJOB JOB (ACCT),'NAME',
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//*
//ASMSLIB PROC SLIBNAME=, SLIB BEING PROCESSED
// HLQ=, HIGH LEVEL DSN OF BMC LIBRARIES
// ASMSTEPL=SYS1.LINKLIB CAN BE SYS1.LINKLIB IF IN LPA
//*-------------------------------------------------
//* ASSEMBLE THE MODULE
//*-------------------------------------------------
//ASM EXEC PGM=ASMA90,COND=(4,LT),
// PARM=('DECK,NOOBJ,LIST,TEST,TERM,RENT',
// 'LINECOUNT(75)','XREF(SHORT)','SYSPARM(DEV)')
//STEPLIB DD DISP=SHR,DSN=&ASMSTEPL
//SYSPUNCH DD DSN=&&OBJ(&SLIBNAME),DISP=(NEW,PASS),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=6160),
// SPACE=(CYL,(1,1,1)),UNIT=WORK
//SYSPRINT DD SYSOUT=*
//SYSTERM DD DUMMY
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(15,5))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(15,5))
//*
//SYSIN DD DISP=SHR,DSN=YOUR.DASDMANAGER.CNTL(ASUXRESZ)
//SYSLIB DD DISP=SHR,DSN=&HLQ..CNTL
// DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYS1.AMODGEN
//*------------------------------------------------------
//* LINK THE MODULE
//*------------------------------------------------------
//LINK EXEC PGM=IEWL,COND=(4,LT),
// PARM=('SIZE=(962560,86016),LIST(ALL)',
// 'RENT,AC(1),LIST,MAP,XREF,LET,AMODE(31),RMODE(ANY)')
//SYSPUNCH DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSTERM DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,5))
//*
//SYSLIB DD DSN=&&OBJ,DISP=(OLD,DELETE,DELETE)
//SYSLMOD DD DISP=SHR,DSN=&HLQ..LOAD
// PEND
//*
//ASMIT EXEC ASMSLIB, NAME OF INSTREAM PROC DEFINED
// SLIBNAME=ASUXRESZ, SLIB TO PROCESS
// HLQ=YOUR.DASDMANAGER.HLQ, HIGH LEVEL DSN OF BMC LIBS
// ASMSTEPL=SYS1.LINKLIB DEFAULTS SYS1.LINKLIB
//LINK.SYSLIN DD *
INCLUDE SYSLIB(ASUXRESZ)
ENTRY ASUXRESZ
NAME ASUXRESZ(R)
/*
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//*
//ASMSLIB PROC SLIBNAME=, SLIB BEING PROCESSED
// HLQ=, HIGH LEVEL DSN OF BMC LIBRARIES
// ASMSTEPL=SYS1.LINKLIB CAN BE SYS1.LINKLIB IF IN LPA
//*-------------------------------------------------
//* ASSEMBLE THE MODULE
//*-------------------------------------------------
//ASM EXEC PGM=ASMA90,COND=(4,LT),
// PARM=('DECK,NOOBJ,LIST,TEST,TERM,RENT',
// 'LINECOUNT(75)','XREF(SHORT)','SYSPARM(DEV)')
//STEPLIB DD DISP=SHR,DSN=&ASMSTEPL
//SYSPUNCH DD DSN=&&OBJ(&SLIBNAME),DISP=(NEW,PASS),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=6160),
// SPACE=(CYL,(1,1,1)),UNIT=WORK
//SYSPRINT DD SYSOUT=*
//SYSTERM DD DUMMY
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(15,5))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(15,5))
//*
//SYSIN DD DISP=SHR,DSN=YOUR.DASDMANAGER.CNTL(ASUXRESZ)
//SYSLIB DD DISP=SHR,DSN=&HLQ..CNTL
// DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYS1.AMODGEN
//*------------------------------------------------------
//* LINK THE MODULE
//*------------------------------------------------------
//LINK EXEC PGM=IEWL,COND=(4,LT),
// PARM=('SIZE=(962560,86016),LIST(ALL)',
// 'RENT,AC(1),LIST,MAP,XREF,LET,AMODE(31),RMODE(ANY)')
//SYSPUNCH DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSTERM DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,5))
//*
//SYSLIB DD DSN=&&OBJ,DISP=(OLD,DELETE,DELETE)
//SYSLMOD DD DISP=SHR,DSN=&HLQ..LOAD
// PEND
//*
//ASMIT EXEC ASMSLIB, NAME OF INSTREAM PROC DEFINED
// SLIBNAME=ASUXRESZ, SLIB TO PROCESS
// HLQ=YOUR.DASDMANAGER.HLQ, HIGH LEVEL DSN OF BMC LIBS
// ASMSTEPL=SYS1.LINKLIB DEFAULTS SYS1.LINKLIB
//LINK.SYSLIN DD *
INCLUDE SYSLIB(ASUXRESZ)
ENTRY ASUXRESZ
NAME ASUXRESZ(R)
/*
Related topic
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*