Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


6.2.1 SPPの例(メインプログラム)

SPPのメインプログラムのコーディング例を次に示します。

  10        *
  20        *******************************************************
  30        *  SPP01 メインプログラム                             *
  40        *******************************************************
  50        * 
  60         IDENTIFICATION DIVISION. 
  70         PROGRAM-ID. MAIN. 
  80        *
  90        *******************************************************
 100        *  データ領域の設定                                   *
 110        *******************************************************
 120        * 
 130         DATA DIVISION. 
 140         WORKING-STORAGE SECTION. 
 150         01 RPC-ARG. 
 160            02 REQ-CODE       PIC  X(8)    VALUE SPACE. 
 170            02 STATUS-CODE    PIC  X(5)    VALUE SPACE. 
 180            02 FILLER          PIC  X(3). 
 190            02 FLAGS          PIC S9(9)   COMP. 
 200         PROCEDURE DIVISION. 
 210        *
 220        *******************************************************
 230        *  RPC-OPEN(UAPの開始)                                *
 240        *******************************************************
 250        * 
 260             MOVE 'OPEN' TO REQ-CODE OF RPC-ARG. 
 270             MOVE ZERO   TO FLAGS  OF RPC-ARG. 
 280             CALL 'CBLDCRPC' USING RPC-ARG. 
 290             IF STATUS-CODE OF RPC-ARG NOT = '00000' THEN
 300                 DISPLAY 'SPP01 : RPC-OPEN FAILED. CODE = ' 
 310                         STATUS-CODE OF RPC-ARG
 320                 GO TO PROG-END
 330             END-IF. 
 340        *
 350        *******************************************************
 360        *  RPC-MAINLOOP(SPPのサービス開始)                    *
 370        *******************************************************
 380        * 
 390             MOVE 'MAINLOOP' TO REQ-CODE OF RPC-ARG. 
 400             MOVE ZERO     TO FLAGS    OF RPC-ARG. 
 410             CALL 'CBLDCRSV' USING RPC-ARG. 
 420             IF STATUS-CODE OF RPC-ARG NOT = '00000' THEN
 430                 DISPLAY ' SPP01 : RPC-MAINLOOP FAILED. CODE = ' 
 440                         STATUS-CODE OF RPC-ARG
 450             END-IF. 
 460        *
 470        *******************************************************
 480        *  RPC-CLOSE(UAPの終了)                               *
 490        *******************************************************
 500        * 
 510             MOVE 'CLOSE   ' TO REQ-CODE OF RPC-ARG. 
 520             MOVE ZERO       TO FLAGS    OF RPC-ARG. 
 530             CALL 'CBLDCRPC' USING RPC-ARG. 
 540         PROG-END.
 550        *
 560        *******************************************************
 570        *  終了処理                                           *
 580        *******************************************************
 590        *
 600             DISPLAY ' SPP01 : GooD-by!' . 
 610             STOP RUN.