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

Reply via email to