具有空参数的 EXCI CALL 示例
如果省略可选参数 (例如 DPL_Request 上的 userid ) ,那么必须确保使用空地址为缺少的参数构建参数列表。
下面的示例说明了如何在 COBOL 程序中省略 userid 和 uowid 参数后发出 EXCI DPL_Request。
不带 userid 和 uowid 的 DPL 调用 ( COBOL ): 在本例中,调用时使用的 DPL 参数在工作存储段中定义如下:
| DPL 参数 | COBOL 可变因素 | 字段定义 |
|---|---|---|
| 版本数 | 01 VERSION-1 | PIC S9(8) COMP VALUE 1。 |
| 返回区域 | 01 EXCI-RETURN-CODE。 | (结构) |
| 用户令牌 | 01 用户-令牌 | PIC S9(8) COMP 值为零。 |
| call_type | 03 DPL-请求 | PIC S9(8) COMP VALUE 6。 |
| 管道令牌 | 01 管道令牌 | PIC S9(8) COMP 值为零。 |
| PGMNAME | 01 目标计划 | PIC X (8) VALUE "DFHaXCS"。 |
| 通信区域 | 01 COMMAREA。 | (结构) |
| 社区区域长度 | 01 COMM-长度 | PIC S9(8) COMP 值 98。 |
| 数据长度 | 01 数据-长度 | PIC S9(8) COMP 值 18。 |
| 事务ID | 01 目标-TRANSID | PIC X (4) VALUE "EXCI"。 |
| dpl_rerea | 01 EXCI-DPL-REA。 | (结构) |
| dpl_opts | 01 同步返回 | PIC X VALUE X'80 '。 |
用于空地址的变量在链路部分中定义:
Linkage section.
01 NULL-PTR 用法是指针。
01 NULL-PTR 用法是指针。
使用 WORKING-STORAGE SECTION 中指定的数据名称和如链接 SECTION 中描述的 NULL-PTR 名称,以下对 DPL 函数的调用会省略 uowid 和 userid 参数,并将参数列表中的这些参数替换为 NULL-PTR 变量:
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.
此示例取自 CICS® 提供的示例外部 CICS 接口程序 DFH0CXCC ,该程序在 CICSTS xx. CICS.SDFHSAMP 中提供,其中 xx 代表 CICS 版本。 有关如何在其他受支持语言的 DPL 调用中省略相同参数的示例,请参阅以下样本程序:
- DFH$AXCC
- 汇编程序样本
- DFH$PXCC
- PL/I 样本
- DFH$DXCC
- C样本。