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 "DFHoeAXCS". |
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, as follows:
Using the data names specified in the WORKING-STORAGE SECTION as described above, 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 CICSTS31.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: