Example of EXCI CALL with null parameters
If you omit an optional parameter, such as userid on a DPL_Request, you must ensure that the parameter list is built with a null address for the missing parameter.
The example that follows illustrates how to issue an EXCI DPL_Request with the userid and uowid parameters omitted in a COBOL program.
DPL CALL without userid and uowid (COBOL): In this example, the DPL parameters used on
the call are defined in the WORKING-STORAGE SECTION, as follows:
| DPL parameter | COBOL variable | Field definition |
|---|---|---|
| version_number | 01 VERSION-1 | PIC S9(8) COMP VALUE 1. |
| return_area | 01 EXCI-RETURN-CODE. | (structure) |
| user_token | 01 USER-TOKEN | PIC S9(8) COMP VALUE ZERO. |
| call_type | 03 DPL-REQUEST | PIC S9(8) COMP VALUE 6. |
| pipe_token | 01 PIPE-TOKEN | PIC S9(8) COMP VALUE ZERO. |
| pgmname | 01 TARGET-PROGRAM | PIC X(8) VALUE "DFHœAXCS". |
| commarea | 01 COMMAREA. | (structure) |
| commarea_len | 01 COMM-LENGTH | PIC S9(8) COMP VALUE 98. |
| data_len | 01 DATA-LENGTH | PIC S9(8) COMP VALUE 18. |
| transid | 01 TARGET-TRANSID | PIC X(4) VALUE "EXCI". |
| dpl_retarea | 01 EXCI-DPL-RETAREA. | (structure) |
| dpl_opts | 01 SYNCONRETURN | PIC X VALUE X'80'. |
The variable used for the null address is defined in the LINKAGE SECTION:
LINKAGE SECTION.
01 NULL-PTR USAGE IS POINTER.
01 NULL-PTR USAGE IS POINTER.
Using the data names specified in the WORKING-STORAGE SECTION, and the NULL-PTR name as
described in the LINKAGE SECTION, the following invocation of the DPL function omits the
uowid and the userid parameters, and replaces them in the parameter list with the
NULL-PTR variable:
DPL-SECTION.
*
SET ADDRESS OF NULL-PTR TO NULLS.
*
CALL 'DFHXCIS' USING VERSION-1 EXCI-RETURN-CODE USER-TOKEN
DPL-REQUEST PIPE-TOKEN TARGET-PROGRAM
COMMAREA COMM-LENGTH DATA-LENGTH
TARGET-TRANSID NULL-PTR NULL-PTR
EXCI-DPL-RETAREA SYNCONRETURN.
This example is taken from the CICS®-supplied sample
external CICS
interface program, DFH0CXCC, which is supplied in CICSTS56 .CICS.SDFHSAMP. For an
example of how to omit the same parameters from the DPL call in the other supported languages, see
the following sample programs:
- DFH$AXCC
- The assembler sample
- DFH$PXCC
- The PL/I sample
- DFH$DXCC
- The C sample.