How do I create a customized SYSIDMS load module eliminates the repetitive specification of parameter values in each job stream. It also helps to establish standards for your site.
A SYSIDMS load module can establish defaults for several options that affect CA IDMS execution such as scratch space attributes, the dictionary to be accessed, and whether uppercase and lowercase messages are generated.
To define a SYSIDMS load module, simply define an assembler program that consists of 80-byte character constants, each of which contains one or more SYSIDMS parameters. You code the parameters just as you would when specifying them at runtime through the card-image SYSIDMS parameter file. The resultant module must then be linked with a name of SYSIDMS.
The following is sample z/OS JCL for creating a SYSIDMS load module. It establishes defaults for the DMCL and the use of in-memory scratch. It also turns on echoing so that all specified SYSIDMS parameters are displayed on the job's log.
//ASMSTEP EXEC PGM=ASMA90,REGION=512K //SYSLIB DD DSN=yourhlq.CAGJMAC,DISP=SHR // DD DSN=SYS1.MACLIB,DISP=SHR //SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(CYL,(15,10)) //SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSDA,SPACE=(CYL,(15,10)) //SYSUT3 DD DSN=&&SYSUT3,UNIT=SYSDA,SPACE=(CYL,(15,10)) //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=&&OBJECT,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(CYL,(15,10)) //SYSIN DD * TITLE 'SYSIDMS - BUILD LOAD MODULE FOR SYSIDMS DEFAULTS' SYSIDMS START 0 *********************************************************************** * CODE ANY SYSIDMS PARMS THAT YOU WANT TO BE PART OF THIS SYSIDMS * DEFAULTS LOAD MODULE. THIS SYSIDMS DEFAULTS LOAD MODULE WILL BE * PROCESSED FIRST BEFORE TRYING TO PROCESS ANY SYSIDMS PARMS DEFINED * IN THE JCL FOR ANY IDMS BATCH JOB. *********************************************************************** SPACE DC CL80'ECHO=ON DMCL=GLBLDMCL' DC CL80'SCRATCH_IN_STORAGE=ON' * THE FOLLOWING STATEMENT IS MANDATORY AND MUST BE THE LAST STATEMENT * IN THE SYSIDMS DEFAULTS LOAD MODULE. DC CL80'END SYSIDMS DEFAULTS' END //LKED EXEC PGM=IEWL, // PARM=(XREF,LET,LIST,NCAL) //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(1700,(500,100)) //SYSLMOD DD DSN=yourhlq.CUSTOM.LOADLIB,DISP=SHR //SYSLIN DD DSN=&&OBJECT,DISP=(OLD,DELETE) // DD * ENTRY SYSIDMS MODE AMODE(31),RMODE(ANY) NAME SYSIDMS(R)