IMSDALOC procedure

Use the IMSDALOC procedure to generate the list of databases, DEDB data areas, and data sets that are to be dynamically allocated.

Usage

The IMSDALOC procedure is created as a part of system definition and is placed into the IMS.PROCLIB library by stage two of IMS system definition. This is a three-step procedure for generating the list of databases and DEDB data areas that are to be dynamically allocated.
IMSDALOC assumes that:
  • Input is read from SYSIN.
  • Each database or DEDB data set described in the input has a corresponding module placed in the dynamic allocation member data set.
  • The name given to each module is the name of the database or DEDB data area described in the input.

The dynamic allocation macro statements are supplied as input to the IMSDALOC procedure and executed as a z/OS® job.

Step BLDMBR is used with the z/OS IEBUPDTE utility, which incorporates changes to sequential or partitioned data sets.

Refer to the IEBUPDTE utility in z/OS DFSMSdfp Utilities for information about this step.

Step LNKEDT is the bind step.

Refer to MVS/DFP Linkage Editor and Loader for information about linkage-editors.

Parameters

The following parameters are valid for the IMSDALOC procedure. See Parameter descriptions for IMS procedures for descriptions.

  • MACSYS=
  • NODE2=
  • SOUT=
  • SYS2=

DD statements

The following DD statements are valid for the IMSDALOC procedure are shown below. See DD statements for IMS procedures.

  • OBJMOD DD
  • SYSIN DD
  • SYSLIB DD
  • SYSLIN DD
  • SYSLMOD DD
  • SYSPRINT DD
  • SYSPUNCH DD
  • SYSUT1 DD
  • SYSUT2 DD

JCL

The following code is the JCL for the IMSDALOC procedure.

//       PROC SOUT=A,SYS2=               
//ASSEM  EXEC PGM=ASMA90,          
//            PARM='ALIGN,DECK,NOOBJECT,NODBCS'       
//SYSLIB   DD DSN=IMS.&SYS2.SDFSMAC,DISP=SHR       
//         DD DSN=SYS1.MACLIB,DISP=SHR          
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(10,5))     
//SYSPUNCH DD DSN=&OBJMOD,                    
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=400), 
//         SPACE=(400,(100,100)),UNIT=SYSDA,    
//         DISP=(NEW,PASS)                      
//SYSPRINT DD SYSOUT=&SOUT                    
//BLDMBR EXEC PGM=IEBUPDTE,PARM='NEW',          
//            COND=(7,LT,ASSEM)                 
//SYSPRINT DD DUMMY                             
//SYSUT2   DD DSN=&TEMPPDS,UNIT=SYSDA,        
//         DISP=(NEW,PASS,DELETE),              
//         SPACE=(80,(1000,500,10)),            
//         DCB=(RECFM=F,BLKSIZE=80)             
//SYSIN    DD DSN=*.ASSEM.SYSPUNCH,             
//         DISP=(OLD,DELETE,DELETE)             
//LNKEDT EXEC PGM=IEWL,PARM='LIST,XREF,LET',   
//            COND=((7,LT,ASSEM),(3,LT,BLDMBR))  
//SYSUT1   DD UNIT=SYSDA,SPACE=(1024,(100,50))   
//SYSLIB   DD DUMMY                              
//SYSPRINT DD SYSOUT=&SOUT                   
//SYSLMOD  DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR  
//OBJMOD   DD DSN=&TEMPPDS,DISP=(OLD,DELETE,DELETE) 
//SYSLIN   DD DSN=&TEMPPDS(LNKCTL),        
//         DISP=(OLD,DELETE,DELETE),           
//         VOL=REF=*.OBJMOD                  

Example

The following JCL statement invokes the IMSDALOC procedure.

//DALOC    JOB
//*
//STEP    EXEC IMSDALOC
//*
//SYSIN     DD  *
   DFSMDA TYPE=
   END
/*