Microsoft Concurrent Server

Gli esempi di transazione MSCS (program mscmtics.cbl) supportano sia il listener Standard che il listener avanzato. Il programma di transazione può essere avviato dal listener Avanzato o Standard.

Ogni listener passa un messaggio di avvio della transazione univoco (TIM) al programma di transazione all'avvio del server simultaneo. Il listener standard formatta e passa tim illustrato nell'esempio di codice seguente. La lunghezza di questo TIM è di 72 byte.

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).  

Il listener avanzato formatta e passa tim illustrato nell'esempio di codice seguente. La lunghezza di questo TIM è di 189 byte.

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).  

Il server simultaneo mscmtics.cbl di esempio può determinare se il listener standard o avanzato è stato usato valutando la lunghezza della ricezione tim.

In uno scenario in cui il listener avanzato ha avviato Microsoft Concurrent Server, il programma mscmtics.cbl esamina i dati in ingresso client contenuti nel campo ELM nell'area dati TIM-2. Il client in-data contiene il nome del programma server CICS da eseguire e la lunghezza dei dati della richiesta da ricevere dal client. L'esempio di codice seguente illustra il contenuto di questa area dati.

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'.  
  

Vedere anche

Richiesta di transazione standard e messaggi di risposta
Richieste e messaggi di risposta avanzati del listener CICS