MSCS 事务(程序 mscmtics.cbl)示例支持标准侦听器和增强侦听器。 事务程序可由增强型侦听器或标准侦听器启动。
每个侦听器在启动并发服务器时将唯一的事务启动消息(TIM)传递给事务程序。 标准侦听器格式化并传递以下代码示例中显示的 TIM。 此 TIM 的长度为 72 字节。
01 TRANSACTION-INITIATION-MESSAGE.
05 GIVE-TAKE-SOCKET PIC 9(8) COMP.
05 LSTN-NAME PIC X(8).
05 LSTN-SUBNAME PIC X(8).
05 CLIENT-IN-DATA PIC X(35).
05 FILLER PIC X(1).
05 SOCKADDR-IN-PARM.
15 SIN-FAMILY PIC 9(4) COMP.
15 SIN-PORT PIC 9(4) COMP.
15 SIN-ADDRESS PIC 9(8) COMP.
15 SIN-ZERO PIC X(8).
增强侦听器格式并传递以下代码示例中显示的 TIM。 此 TIM 的长度为 189 字节。
01 TRANSACTION-INITIATION-MESSAGE.
05 GIVE-TAKE-SOCKET PIC 9(8) COMP.
05 LSTN-NAME PIC X(8).
05 LSTN-SUBNAME PIC X(8).
05 CLIENT-IN-DATA PIC X(35).
05 FILLER PIC X(1).
05 SOCKADDR-IN-PARM.
15 SIN-FAMILY PIC 9(4) COMP.
15 SIN-PORT PIC 9(4) COMP.
15 SIN-ADDRESS PIC 9(8) COMP.
15 SIN-ZERO PIC X(8).
05 FILLER PIC X(80).
05 DATA-AREA-2-LEN PIC 9(4) COMP.
05 DATA-AREA-2 PIC X(35).
mscmtics.cbl 示例并发服务器可以通过评估收到的 TIM 长度来确定标准侦听器还是增强侦听器。
在增强型侦听器启动Microsoft并发服务器的情况下,mscmtics.cbl 程序查看 TIM 数据区域-2 字段中的 ELM 中包含的客户端数据。 客户端数据包含要执行的 CICS 服务器程序的名称以及要从客户端接收的请求数据的长度。 下面的代码示例显示了此数据区域的内容。
01 CLIENT-IN-DATA PIC X(35).
01 FILLER REDEFINES CLIENT-IN-DATA.
05 CID-USERID PIC X(8).
05 CID-PASSWORD PIC X(8).
05 CID-LINK-TO-PROG PIC X(8).
05 CID-COMMAREA-LEN PIC S9(4) COMP.
05 CID-DATA-LEN PIC S9(8) COMP.
05 CID-VERSION PIC X.
88 CID-VERSION-1 VALUE X'00'.
88 CID-VERSION-2 VALUE X'01'.
05 CID-FLAGS PIC X(2).
88 CID-FLAGS-PERSISTENT-NONE VALUE X'0001'.
88 CID-FLAGS-PERSISTENT-OPEN VALUE X'0002'.
88 CID-FLAGS-PERSISTENT-USE VALUE X'0004'.
88 CID-FLAGS-PERSISTENT-CLOSE VALUE X'0008'.
05 CID-RESERVED PIC X.
05 CID-FORMAT PIC X.
88 CID-FORMAT-NOTSET VALUE X'00'.
88 CID-FORMAT-MS VALUE X'01'.
88 CID-FORMAT-IBM VALUE X'02'.