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.