Skip to main content

I have a question about CALL CBLTDLI.

1. A customer is using the following four methods to start CBLTDLI.
   Are all of these supported by the product?
   Also, if there are no errors during compilation, can I assume that the product supports them?

◆Pattern 1: When the first argument is FUNC
03 GU PIC X(4) VALUE 'GU'.
~~
CALL 'CBLTDLI' USING GU PCB1 IOAREA1 SEGAREA1 SEGAREA2.

◆Pattern 2: When the first argument is 'PCB'
03 PCB PIC X(4) VALUE 'PCB'.
77 PWA380 PIC X(8) VALUE 'PWA380 '.
~~
CALL 'CBLTDLI' USING PCB
PWA380
ADDRESS OF DLIUIB.

◆Pattern 3: When the first argument is a PCB number
01 PARM PIC S9(08) COMP VALUE ZERO.
01 PCB01 PIC X(156).
~~
MOVE S-FUNC TO C-FUNC.
MOVE S-FUNC TO FUNC.
~~
IF C-FUNC = 'REPL' OR 'DLET'
MOVE 3 TO PARM
~~
CALL 'CBLTDLI' USING PARM FUNC PCB01 IOSEG SSA1 SSA2 SSA3

◆Pattern 4: When the total number of arguments is 7
03 GNP PIC X(4) VALUE 'GNP'.
~~
CALL 'CBLTDLI' USING GNP PCB1 IOAREA1 SSA1 SSA2 SSA3 SSA4.

2. Is there documentation of the supported syntax?



------------------------------
Ichiro Oba
Rocket Internal - All Brands
------------------------------

I have a question about CALL CBLTDLI.

1. A customer is using the following four methods to start CBLTDLI.
   Are all of these supported by the product?
   Also, if there are no errors during compilation, can I assume that the product supports them?

◆Pattern 1: When the first argument is FUNC
03 GU PIC X(4) VALUE 'GU'.
~~
CALL 'CBLTDLI' USING GU PCB1 IOAREA1 SEGAREA1 SEGAREA2.

◆Pattern 2: When the first argument is 'PCB'
03 PCB PIC X(4) VALUE 'PCB'.
77 PWA380 PIC X(8) VALUE 'PWA380 '.
~~
CALL 'CBLTDLI' USING PCB
PWA380
ADDRESS OF DLIUIB.

◆Pattern 3: When the first argument is a PCB number
01 PARM PIC S9(08) COMP VALUE ZERO.
01 PCB01 PIC X(156).
~~
MOVE S-FUNC TO C-FUNC.
MOVE S-FUNC TO FUNC.
~~
IF C-FUNC = 'REPL' OR 'DLET'
MOVE 3 TO PARM
~~
CALL 'CBLTDLI' USING PARM FUNC PCB01 IOSEG SSA1 SSA2 SSA3

◆Pattern 4: When the total number of arguments is 7
03 GNP PIC X(4) VALUE 'GNP'.
~~
CALL 'CBLTDLI' USING GNP PCB1 IOAREA1 SSA1 SSA2 SSA3 SSA4.

2. Is there documentation of the supported syntax?



------------------------------
Ichiro Oba
Rocket Internal - All Brands
------------------------------

I am sure that Pattern 1/2/4 are supported. Pattern 3 is new to me.



------------------------------
Junichi Kobayashi
Rocket Internal - All Brands
------------------------------

I am sure that Pattern 1/2/4 are supported. Pattern 3 is new to me.



------------------------------
Junichi Kobayashi
Rocket Internal - All Brands
------------------------------

The checker does not issue any syntax errors even if the contents of DLI function name is wrong as long as the CALL statement is syntactically correct. IMS will issue a runtime error if the function name passed is incorrect. 



------------------------------
Junichi Kobayashi
Rocket Internal - All Brands
------------------------------

I have a question about CALL CBLTDLI.

1. A customer is using the following four methods to start CBLTDLI.
   Are all of these supported by the product?
   Also, if there are no errors during compilation, can I assume that the product supports them?

◆Pattern 1: When the first argument is FUNC
03 GU PIC X(4) VALUE 'GU'.
~~
CALL 'CBLTDLI' USING GU PCB1 IOAREA1 SEGAREA1 SEGAREA2.

◆Pattern 2: When the first argument is 'PCB'
03 PCB PIC X(4) VALUE 'PCB'.
77 PWA380 PIC X(8) VALUE 'PWA380 '.
~~
CALL 'CBLTDLI' USING PCB
PWA380
ADDRESS OF DLIUIB.

◆Pattern 3: When the first argument is a PCB number
01 PARM PIC S9(08) COMP VALUE ZERO.
01 PCB01 PIC X(156).
~~
MOVE S-FUNC TO C-FUNC.
MOVE S-FUNC TO FUNC.
~~
IF C-FUNC = 'REPL' OR 'DLET'
MOVE 3 TO PARM
~~
CALL 'CBLTDLI' USING PARM FUNC PCB01 IOSEG SSA1 SSA2 SSA3

◆Pattern 4: When the total number of arguments is 7
03 GNP PIC X(4) VALUE 'GNP'.
~~
CALL 'CBLTDLI' USING GNP PCB1 IOAREA1 SSA1 SSA2 SSA3 SSA4.

2. Is there documentation of the supported syntax?



------------------------------
Ichiro Oba
Rocket Internal - All Brands
------------------------------

Hi Ichiro,
I recall answering this question but I don't see that answer here or in sent items. 

Pattern 3 is a parameter count, not a PCB number.  In the example, PCB01 is the PCB to use. 
All 4 syntaxes are supported.   



------------------------------
Carl Ball
Development
Rocket Software Forum Member
------------------------------

Hi Ichiro,
I recall answering this question but I don't see that answer here or in sent items. 

Pattern 3 is a parameter count, not a PCB number.  In the example, PCB01 is the PCB to use. 
All 4 syntaxes are supported.   



------------------------------
Carl Ball
Development
Rocket Software Forum Member
------------------------------

Hi Carl-san,

I posted the question on Teams and have received a response from you.

Answer:
Pattern 1 and 4 are the same.  After the I/O area are segment search arguments and there can be anywhere from 0 to 15 of them. 

Pattern 2 is from a CICS application. 

Pattern 3 includes an optional parameter count as the first parameter.

 

All are supported.  

 



------------------------------
Ichiro Oba
Rocket Internal - All Brands
------------------------------