分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編

[目次][用語][索引][前へ][次へ]

3.4.3 データ操作言語

 
***************************************************************
*    MHP SERVICE PROGRAM                                      *
***************************************************************
 
 IDENTIFICATION DIVISION.
 
 PROGRAM-ID. SVRA.
 
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 
***************************************************************
*    WORKING STORAGE                                          *
***************************************************************
 
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 
***************************************************************
*    AREA FOR MESSAGE RECEIVING                               *
***************************************************************
 
  01  RECV-AREA.
    02  RE-DATALENG       PIC 9(4) COMP.
    02  RE-RSV1           PIC X(2).
    02  RE-DATA           PIC X(1024).
 
***************************************************************
*    AREA FOR APPLICATION BOOTING MESSAGE                     *
***************************************************************
 
  01  SEND-PRO-AREA.
    02  PRO-DATALENG       PIC 9(4) COMP VALUE 29.
    02  PRO-RSV1           PIC X(2).
    02  PRO-DATA1          PIC X(9) VALUE SPACE.
    02  PRO-DATA2          PIC X(16) VALUE 'SVRA EXECAP DATA'.
 
***************************************************************
*    AREA FOR MESSAGE SENDING                                 *
***************************************************************
 
  01  SEND-AREA.
    02  SE-DATALENG       PIC 9(4) COMP VALUE 29.
    02  SE-RSV1           PIC X(2).
    02  SE-DATA1          PIC X(9) VALUE X'C1D7D3F0F240404040'.
    02  SE-DATA2          PIC X(16) VALUE 'SVRA SEND   DATA'.
 
 COMMUNICATION SECTION.
 
***************************************************************
*    RECEIVE OF MESSAGE (COMMUNICATION DESCRIPTION TERM)      *
***************************************************************
 
 CD RECV-INF
   FOR INPUT
   STATUS KEY IS        RE-STATUS
   SYMBOLIC TERMINAL IS RE-TERMNAM
   MESSAGE DATE IS      RE-DATE
   MESSAGE TIME IS      RE-TIME.
 
***************************************************************
* APPLICATION PROGRAM BOOTING (COMMUNICATION DESCRIPTON TERM) *
***************************************************************
 
 CD SEND-PRO
   FOR OUTPUT PROGRAM
   STATUS KEY IS        SE-STATUS-PRO
   SYMBOLIC TERMINAL IS SE-TERMNAM-PRO.
 
***************************************************************
*    SEND OF MESSAGE (COMMUNICATIO DESCRIPTION TERM)          *
***************************************************************
 
 CD SEND-INF
   FOR OUTPUT
   STATUS KEY IS        SE-STATUS
   SYMBOLIC TERMINAL IS SE-TERMNAM.
 
 PROCEDURE DIVISION.
 
***************************************************************
*    RECEIVE OF MESSAGE (COMMUNICATION DESCRIPTION SENTENCE)  *
***************************************************************
 
   MOVE 1028 TO RE-DATALENG.
   RECEIVE RECV-INF
           FIRST SEGMENT
           INTO RECV-AREA.
   IF RE-STATUS IS NOT EQUAL '00000'
 
***************************************************************
*    PARTIAL RECOVERY                                         *
***************************************************************
 
   ROLLBACK WITH STOPPING.
 
***************************************************************
*    APPLICATION PROGRAM BOOTING (COMMUNICATION SENTENCE)     *
***************************************************************
 
   MOVE 'APL01   ' TO SE-TERMNAM-PRO.
   SEND SEND-PRO
        FROM SEND-PRO-AREA
        WITH EMI.
   IF SE-STATUS-PRO IS NOT EQUAL '00000'
 
***************************************************************
*    PARTIAL RECOVERY                                         *
***************************************************************
 
   ROLLBACK WITH STOPPING.
 
***************************************************************
*    SEND OF MESSAGE (COMMUNICATION SENTENCE)                 *
***************************************************************
 
   MOVE 'NFLE02  ' TO SE-TERMNAM.
   SEND SEND-INF
        FROM SEND-AREA
        WITH EMI.
   IF SE-STATUS IS NOT EQUAL '00000'
 
***************************************************************
*    PARTIAL RECOVERY                                         *
***************************************************************
 
   ROLLBACK WITH STOPPING.
 
***************************************************************
*    END PROCESSING                                           *
***************************************************************
 
   EXIT PROGRAM.