Running the PSBGEN procedure

IMS system definition places the procedure named PSBGEN in the IMS.PROCLIB procedure library. This two-step assemble and bind procedure produces PSBs.

Recommendations

If your IMS system does not manage runtime application control blocks (ACB) by using the catalog, you must regenerate PSBs by using the PSBGEN utility after you import PSBs into z/OS by using IMS Explorer.

The first step, Step C, an operating system assembly, is performed after the procedure is invoked. The second step, Step L, is a bind which takes the assembly output from Step C and places the PSBs in IMS.PSBLIB.

Procedure statement

The following figure shows the procedure statement. The list following the figure defines the parameters used in the statement.

//       PROC MBR=TEMPNAME,SOUT=A,RGN=0M,SYS2=     
//C      EXEC PGM=ASMA90,REGION=&RGN,               
//            PARM=(OBJECT,NODECK,NODBCS,           
//            'SIZE(MAX,ABOVE)')                 
//SYSLIB   DD DSN=IMS.&SYS2.SDFSMAC,DISP=SHR       
//SYSLIN   DD UNIT=SYSDA,DISP=(,PASS),             
//         SPACE=(80,(100,100),RLSE),          
//         DCB=(BLKSIZE=80,RECFM=F,LRECL=80)      
//SYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089,    
//         SPACE=(121,(300,300),RLSE,,ROUND)    
//SYSUT1   DD UNIT=SYSDA,DISP=(,DELETE),       
//         SPACE=(CYL,(10,5))                   
//L      EXEC PGM=IEWL,PARM='XREF,LIST',         
//            COND=(0,LT,C),REGION=4M      
//SYSLIN   DD DSN=*.C.SYSLIN,DISP=(OLD,DELETE) 
//SYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089, 
//         SPACE=(121,(90,90),RLSE)       
//SYSLMOD  DD DISP=SHR,                  
//         DSN=IMS.&SYS2.PSBLIB(&MBR)      
//SYSUT1   DD UNIT=(SYSDA,SEP=(SYSLMOD,SYSLIN)),  
//         SPACE=(1024,(100,10),RLSE),DISP=(,DELETE)  
MBR=
Is the name of the PSB generated. This name should be the same as the name specified on the PSBNAME= parameter of the PSBGEN statement. If this precaution is not followed, a user ABEND 929 can occur during execution, or message DFS929I (BLDL FAILED FOR MEMBER) can be received during an ACB generation BUILD PSB operation.
SOUT=
Specifies the SYSOUT class. The default is A.
RGN=
Specifies the region size for execution of the PSBGEN utility. The default is 512KB.
SYS2=
Specifies an optional second level dsname qualifier for those data sets which are designated as Optional Replicate in an XRF complex. When specified, the parameter must be enclosed in quotes and must include a trailing period, for example, SYS2='IMSA.'.

Step C

Step C is the assembly step.

DD statements

SYSIN DD
Defines the input data sets to step C. These DD statements must be provided when invoking the procedure.

Step L

Step L is the bind step.

Example: This step can be run using AMODE=31, RMODE=24 instead of the default AMODE=24, RMODE=24 by adding AMODE=31 to the bind EXEC statement PARM list as shown as follows.

//L      EXEC  PGM=IEWL,PARM='XREF,LIST,AMODE=31',
//             COND=(0,LT,C),REGION=120K

If you do not specify different values for AMODE or RMODE, the default values are in effect. You must always run the bind step with RMODE=24.

DD statements

SYSLMOD DD
Defines an output partitioned data set, IMS.PSBLIB, for the binder.

Invoking the procedure

The JCL statements in the following figure are used to invoke the PSBGEN procedure.

//PSBGEN   JOB
//        EXEC    PROC=PSBGEN,MBR=TEMPNAME
//C.SYSIN   DD   *
 
          PCB
       SENSEG     (The control statements for PSB generation)
       PSBGEN     PSBNAME=TEMPNAME
       END
/*