On 2016-12-27 14:47, R.S. wrote: > I'm trying to learn a little bit about SMP/E usermods. > Unfortunately neither SMP/E manuals nor google did not provide good (*well > explained*) samples. > This moved me to polish off one of my SMP/E tests. Not attaching about 300 lines of CSI setup. This copies a MOD element from SYS1.LINKLIB as a base function and a SRC element from SYS1.SAMPLIB as a usermod.
(It's wrapped in a shell script because that's what I'm comfortable with.) -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
cat <<end-of-jcl //*---------------------------------------------------------- //* Receive the SYSMODS //*---------------------------------------------------------- //RECEIVE EXEC SMPPROC //SMPHOLD DD * //SMPPTFIN DD DATA,DLM=XX $( # --------------------------------- BASEFUN # Declare FUNCTION named SMPSAMP belonging to Sysver Z038 ) ++ FUNCTION( SMPSAMP) . ++ VER(Z038) . $( # JCLIN to link MOD element IEBGENER and create load module WOMBAT ) ++ JCLIN . //LINK EXEC PGM=IEWL //SYSLMOD DD DSN=X.SLIB //SYSLIN DD * INCLUDE ALIB( IEBGENER) NAME WOMBAT(R) $( # Copy MOD element from LKLIB( LLIB ) (SYS1.linklib). ) ++ MOD( IEBGENER) DISTLIB( ALIB ) LKLIB( LLIB ) . $( # --------------------------------- USERMOD # Declare USERMOD OURMOD belonging to Sysver Z038 and FMID SMPSAMP ) ++ USERMOD( OURUMOD ) . ++ VER(Z038) FMID( SMPSAMP ) . $( # JCLIN to link MOD element ISRDSLEX and create load module ISRDSLEX ) ++ JCLIN . //LINK EXEC PGM=IEWL //SYSLMOD DD DSN=X.SLIB //SYSLIN DD * INCLUDE ALIB( ISRDSLEX ) NAME ISRDSLEX(R) $( # Copy MOD element ISRDSLEX from TXLIB(ASMLIB) (SYS1.SAMPLIB). ) ++ SRC( ISRDSLEX ) DISTLIB( ALIB ) TXLIB( ASMLIB ) . XX End of SMPPTFIN //* //SMPCNTL DD * SET BOUNDARY ( GLOBAL ) . RECEIVE LIST . //*---------------------------------------------------------- //* APPLY the base function. //*---------------------------------------------------------- //APPLY EXEC SMPPROC //SMPCNTL DD * SET BOUNDARY ( TARG ) . APPLY REDO RETRY( YES ) SELECT( SMPSAMP ) . SET BOUNDARY ( TARG ) . APPLY REDO RETRY( YES ) SELECT( OURUMOD ) . //LLIB DD DISP=SHR,DSN=SYS1.LINKLIB //ASMLIB DD DISP=SHR,DSN=SYS1.SAMPLIB //SYSLIB DD UNIT=SYSALLDA,SPACE=(100,(100,,5)) //DOIT ENDIF // end-of-jcl ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
