Problem:

An IMS BMP job is run that takes a check point call (symbolic check point) every x number of records updated. The check point writes out to the log, the check point id “IMSRT1002I XRST ID=HE200001 DATE TIME STAMP=15231/171637”

 

On the jcl exec statement the check point id “HE200001” is set.

     XXSTEP0030 EXEC PGM=DFSRRC00,                                         *

     XX             PARM='BMP,XHEB2000,XHEB2000,7,0000,,,&CKPTID',         *

     SUBSTITUTION - PARM='BMP,XHEB2000,XHEB2000,7,0000,,,HE200001',         *

     XX             COND=(0,LT)                                           *

 

The job is rerun and the first ims call is XRST.

The XRST writes out to the log file “XHEB2000 XRST CALL REQUESTED NORMAL START” but the job always restarts from the beginning.

 

The only way to get the restart to work is to code the check point id in the program, then the XRST will restart at that point.

           MOVE ' HE200001' TO WS010-CHECKPOINT-ID-XRST.

 

Solution:

The PARM statement is incorrect.

What has happened is that the job on the Mainframe was running as a batch program, PARM='DLI.... but the JCL was changed to run as a BMP in Enterprise Server. 

It should be :-

PARM='BMP,TSTCHKPT,TSTCHKPT,,0000,,,,&CKPTID'

 

The CKPTID must be the 9th parameter not the 8th.

A correct DLI batch example :-

 

//G     EXEC PGM=DFSRRC00,REGION=&RGN,

     //           PARM=(DLI,&MBR,&PSB,&BUF,

     //           &SPIE&TEST&EXCPVR&RST,&PRLD,

     //           &SRCH,&CKPTID,&MON,&LOGA,&FMTO,

     //           &IMSID,&SWAP,&DBRC,&IRLM,&IRLMNM,

     //           &BKO,&IOB,&SSM,'&APARM',

     //           &LOCKMAX,&GSGNAME,&TMINAME,

     //           &IMSPLEX)

 

where the CKPTID must be the 8th parameter.

 

A correct BMP example :-

 

//G     EXEC PGM=DFSRRC00,REGION=&RGN,

|   //           PARM=(BMP,&MBR,&PSB,&IN,&OUT,

|   //           &OPT&SPIE&TEST&DIRCA,&PRLD,

|   //           &STIMER,&CKPTID,&PARDLI,&CPUTIME,

|   //           &NBA,&OBA,&IMSID,&AGN,&SSM,

|   //             &PREINIT,&ALTID,

|   //             '&APARM',&LOCKMAX,,,&IMSPLEX)

 

where CKPTID must be the 9th parameter.