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 範例 Concurrent Server 可透過評估接收 TIM 的長度來判斷使用的是標準還是增強監聽器。
在強化聆聽器啟動 Microsoft 並行伺服器的情境下,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'.