Page 1 of 1

IMS batch program call 'CBLTDLI' with status code 'AD'

PostPosted: Sun Apr 23, 2017 8:28 am
by huxianjun
Hello

Below is the IMS program I got the IMS status code 'AD':
01  FUNCTION-CODES.
           05 GN-FUNC   PIC X(4) VALUE 'GN  '.
. . .
       01 DBDB-SSA-UNQUAL.
           05 FILLER    PIC X(08) VALUE 'SEGROOT'.
           05 FILLER    PIC X VALUE SPACES.

       LINKAGE SECTION.
       01 DUMMY-IO-PCB-MASK.
           05 FILLER PIC X(10).
           05 DUMMY-IO-STATUS PIC XX.

       01 DATABASE-PCB-MASK.
            05 DBD-NAME              PIC X(8).
            05 SEG-LEVEL             PIC X(2).
            05 DATABASE-STATUS       PIC X(2).
            05 PROC-OPTIONS          PIC X(4).
            05 WS-RESERVED           PIC S9(5) COMP.
            05 SEGMENT-NAME-FEEDBACK PIC X(8).
            05 LENGTH-KEY-FEEDBACK   PIC S9(5) COMP.
            05 NUM-SENS-SEGS         PIC S9(5) COMP.
            05 KEY-FEEDBACK          PIC X(256).

        PROCEDURE DIVISION USING DUMMY-IO-PCB-MASK,
                                 DATABASE-PCB-MASK.

           ENTRY 'DLITCBL' USING DATABASE-PCB-MASK.

           MOVE 'DBDBTEST'   TO DBD-NAME
           MOVE '01'         TO SEG-LEVEL

           CALL 'CBLTDLI' USING
                          GN-FUNC
                          DATABASE-PCB-MASK
                          WS-IO-RECORD
                          DBDB-SSA-UNQUAL
. . .

I could not figure it out what's causing the status code 'AD' (the IMS manual says it's caused by invalid function parameter), could anyone help?


Thanks, Roy

Re: IMS batch program call 'CBLTDLI' with status code 'AD'

PostPosted: Mon Apr 24, 2017 8:08 am
by huxianjun
The issue is solved after following change in the job to run the program:
Change from:
//STEP010 EXEC PGM=DFSRRC00,
// PARM=(BMP,&PGM,&PSB...

Change to:
//STEP010 EXEC PGM=DFSRRC00,
// PARM=(DLI,&PGM,&PSB...

However, now the program abend with U4036:
+DFS629I IMS BATCH REGION ABEND- IMS 4036

Still investigating... if anyone has a hint for the problem?

Thanks, Roy

Re: IMS batch program call 'CBLTDLI' with status code 'AD'

PostPosted: Wed Apr 26, 2017 2:05 am
by huxianjun
It's all figured out now:
1. The previous IMS status code 'AD' was caused by that the sequence of the PCB in my program linkage doesn't match with the sequence it presents in the PSB I used to run the program
2. The abend U4036 from last run with DLI instead of DMP specified in the PARM line was caused by that the IMS database was not made offline from the IMS online region

Failure is the best teacher to learn from :D