Microsoft Concurrent Server
MSCS 交易 (程式 mscmtics.cbl) 範例同時支援 Standard 和 Enhanced Listener。 交易程式可由增強式或標準接聽程式啟動。
每個接聽程式會在啟動並行伺服器時,將唯一的交易初始訊息 (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 範例 Concurrent Server 可以藉由評估收到的 TIM 長度來判斷是否使用標準或增強接聽程式。
在增強式接聽程式啟動 Microsoft Concurrent Server 的案例中,mscmtics.cbl 程式會查看 TIM 資料區域 2 欄位中所包含 ELM 中的 Client-in-data。 用戶端資料包含要執行的 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'.