Create a customized SYSIDMS load module to establish default options for your environment?

Document ID : KB000018536
Last Modified Date : 14/02/2018
Show Technical Document Details

Question:

Creating 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.

Answer:

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_MEMORY=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)

 

Sample JCL for z/VSE:

// DLBL userlib
// EXTENT ,nnnnnn
// LIBDEF *,SEARCH=idms.lib,CATALOG=user.lib
// OPTION CATAL
   PHASE SYSIDMS,*
// EXEC ASMA90
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'JOURNAL=OFF'
          SPACE
* The following statement is mandatory and must be the last statement
* in the SYSIDMS defaults load module.
          DC CL80'END SYSIDMS DEFAULTS'
          END
/*
   ENTRY SYSIDMS
// EXEC LNKEDT
/*

 

For more information about creating a customized SYSIDMS load module, follow the steps described in the CA IDMS Common Facilities Guide.

https://support.ca.com/cadocs/7/CA%20IDMS%2018%205-ENU/Bookshelf_Files/HTML/IDMS_Common_Facilities_ENU/index.htm