*
**************************************************************
* SPPサービスプログラム *
**************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. SEND01.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
* ワーク変数 *
DATA DIVISION.
WORKING-STORAGE SECTION.
* ダイアログ開始要求送信領域 *
01 SEND-AREA1.
02 SE-DATALENG1 PIC 9(4) COMP VALUE 58.
02 SE-RSV1 PIC X(2).
02 SE-DATA1.
03 S1-DATA1 PIC X(1) VALUE X'00'.
03 S1-DATA2 PIC X(1) VALUE X'0a'.
03 S1-DATA3 PIC X(4) VALUE 'OTP1'.
03 S1-DATA4 PIC X(4) VALUE 'BDR '.
03 S1-DATA5 PIC X(1) VALUE X'00'.
03 S1-DATA6 PIC X(1) VALUE X'2a'.
03 S1-DATA7 PIC X(1) VALUE X'00'.
03 S1-DATA8 PIC X(1) VALUE X'0d'.
03 S1-DATA8-1 PIC X(2) VALUE 'PR'.
03 S1-DATA9 PIC X(9) VALUE 'SEND_TPSU'.
03 S1-DATA10 PIC X(1) VALUE X'00'.
03 S1-DATA11 PIC X(1) VALUE X'02'.
03 S1-DATA12 PIC X(1) VALUE X'00'.
03 S1-DATA13 PIC X(1) VALUE X'0d'.
03 S1-DATA13-1 PIC X(2) VALUE 'PR'.
03 S1-DATA14 PIC X(9) VALUE 'RECV_TPSU'.
03 S1-DATA15 PIC X(1) VALUE X'00'.
03 S1-DATA16 PIC X(1) VALUE X'04'.
03 S1-DATA17 PIC X(1) VALUE X'48'.
03 S1-DATA18 PIC X(1) VALUE X'ff'.
03 S1-DATA19 PIC X(1) VALUE X'00'.
03 S1-DATA20 PIC X(1) VALUE X'02'.
03 S1-DATA21 PIC X(1) VALUE X'00'.
03 S1-DATA22 PIC X(1) VALUE X'02'.
03 S1-DATA23 PIC X(1) VALUE X'00'.
03 S1-DATA24 PIC X(1) VALUE X'04'.
03 S1-DATA25 PIC X(2) VALUE 'AL'.
03 S1-DATA26 PIC X(1) VALUE X'00'.
03 S1-DATA27 PIC X(1) VALUE X'02'.
* ダイアログ開始応答受信領域 *
01 RECV-AREA1.
02 RE-DATALENG1 PIC 9(4) COMP VALUE 1028.
02 RE-RSV1 PIC X(2).
02 RE-DATA1 PIC X(1024).
* データ転送要求送信領域 *
01 SEND-AREA2.
02 SE-DATALENG2 PIC 9(4) COMP VALUE 27.
02 SE-RSV2 PIC X(2).
02 SE-DATA2.
03 S2-DATA1 PIC X(1) VALUE X'00'.
03 S2-DATA2 PIC X(1) VALUE X'0a'.
03 S2-DATA3 PIC X(4) VALUE 'OTP1'.
03 S2-DATA4 PIC X(4) VALUE 'TDR '.
03 S2-DATA5 PIC X(1) VALUE X'00'.
03 S2-DATA6 PIC X(1) VALUE X'02'.
03 S2-DATA7 PIC X(1) VALUE X'00'.
03 S2-DATA8 PIC X(1) VALUE X'0b'.
03 S2-DATA9 PIC X(1) VALUE X'80'.
03 S2-DATA10 PIC X(8) VALUE 'USERDATA'.
* ハンドシェイク指示受信領域 *
01 RECV-AREA2.
02 RE-DATALENG2 PIC 9(4) COMP VALUE 1028.
02 RE-RSV2 PIC X(2).
02 RE-DATA2 PIC X(1024).
* ハンドシェイク応答送信領域 *
01 SEND-AREA3.
02 SE-DATALENG3 PIC 9(4) COMP VALUE 18.
02 SE-RSV3 PIC X(2).
02 SE-DATA3.
03 S3-DATA1 PIC X(1) VALUE X'00'.
03 S3-DATA2 PIC X(1) VALUE X'0a'.
03 S3-DATA3 PIC X(4) VALUE 'OTP1'.
03 S3-DATA4 PIC X(4) VALUE 'HSP '.
03 S3-DATA5 PIC X(1) VALUE X'00'.
03 S3-DATA6 PIC X(1) VALUE X'02'.
03 S3-DATA7 PIC X(1) VALUE X'00'.
03 S3-DATA8 PIC X(1) VALUE X'02'.
* ダイアログ終了要求送信領域 *
01 SEND-AREA4.
02 SE-DATALENG4 PIC 9(4) COMP VALUE 22.
02 SE-RSV4 PIC X(2).
02 SE-DATA4.
03 S4-DATA1 PIC X(1) VALUE X'00'.
03 S4-DATA2 PIC X(1) VALUE X'0a'.
03 S4-DATA3 PIC X(4) VALUE 'OTP1'.
03 S4-DATA4 PIC X(4) VALUE 'EDR '.
03 S4-DATA5 PIC X(1) VALUE X'00'.
03 S4-DATA6 PIC X(1) VALUE X'06'.
03 S4-DATA7 PIC X(1) VALUE X'00'.
03 S4-DATA8 PIC X(1) VALUE X'04'.
03 S4-DATA9 PIC X(2) VALUE 'TR'.
03 S4-DATA10 PIC X(1) VALUE X'00'.
03 S4-DATA11 PIC X(1) VALUE X'02'.
* ダイアログ終了確認受信領域 *
01 RECV-AREA3.
02 RE-DATALENG3 PIC 9(4) COMP VALUE 1028.
02 RE-RSV3 PIC X(2).
02 RE-DATA3 PIC X(1024).
* 通信記述項 *
COMMUNICATION SECTION.
* ダイアログ開始要求の送信 *
CD SEND-OT1
FOR I-O
STATUS KEY IS SE-STATUS1
SYMBOLIC TERMINAL IS SE-TERMNAM1
SYNCHRONOUS MODE IS SYNC.
* ダイアログ開始指示の受信 *
CD RECV-IN1
FOR I-O
STATUS KEY IS RE-STATUS1
SYMBOLIC TERMINAL IS RE-TERMNAM1
MESSAGE DATE IS RE-DATE1
MESSAGE TIME IS RE-TIME1
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT1.
* データ転送要求の送信 *
CD SEND-OT2
FOR I-O
STATUS KEY IS SE-STATUS2
SYMBOLIC TERMINAL IS SE-TERMNAM2
SYNCHRONOUS MODE IS SYNC.
* ハンドシェイク指示の受信 *
CD RECV-IN2
FOR I-O
STATUS KEY IS RE-STATUS2
SYMBOLIC TERMINAL IS RE-TERMNAM2
MESSAGE DATE IS RE-DATE2
MESSAGE TIME IS RE-TIME2
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT2.
* ハンドシェイク応答の送信 *
CD SEND-OT3
FOR I-O
STATUS KEY IS SE-STATUS3
SYMBOLIC TERMINAL IS SE-TERMNAM3
SYNCRONOUS MODE IS SYNC.
* ダイアログ終了要求の送信 *
CD SEND-OT4
FOR I-O
STATUS KEY IS SE-STATUS4
SYMBOLIC TERMINAL IS SE-TERMNAM4.
* ダイアログ終了確認の受信 *
CD RECV-IN3
FOR I-O
STATUS KEY IS RE-STATUS3
SYMBOLIC TERMINAL IS RE-TERMNAM3
MESSAGE DATE IS RE-DATE3
MESSAGE TIME IS RE-TIME3
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT3.
* 通信文 *
PROCEDURE DIVISION.
* ダイアログ開始要求の送信 *
MOVE 'otm01' TO SE-TERMNAM1.
SEND SEND-OT1
FROM SEND-AREA1.
* ダイアログ開始確認の受信 *
MOVE 'otm01' TO RE-TERMNAM1.
MOVE '00010000' TO RE-WAIT1.
RECEIVE RECV-IN1
SEGMENT
INTO RECV-AREA1.
* データ転送要求の送信 *
MOVE 'otm01' TO SE-TERMNAM2.
SEND SEND-OT2
FROM SEND-AREA2.
* ハンドシェイク指示の受信 *
MOVE 'otm01' TO RE-TERMNAM2.
MOVE '00010000' TO RE-WAIT2.
RECEIVE RECV-IN2
SEGMENT
INTO RECV-AREA2.
* ハンドシェイク応答の送信 *
MOVE 'otm01' TO SE-TERMNAM3.
SEND SEND-OT3
FROM SEND-AREA3.
* ダイアログ終了要求の送信 *
MOVE 'otm01' TO SE-TERMNAM4.
DISABLE SEND-OT4
WITH SEND-AREA4.
* ダイアログ終了確認の受信 *
MOVE 'otm01' TO RE-TERMNAM3.
MOVE '00010000' TO RE-WAIT3.
RECEIVE RECV-IN3
SEGMENT
INTO RECV-AREA3.
* 終了処理 *
EXIT PROGRAM.
*
**************************************************************
* MHPサービスプログラム *
**************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. RECV01.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
* ワーク変数 *
DATA DIVISION.
WORKING-STORAGE SECTION.
* ダイアログ開始指示受信領域 *
01 RECV-AREA1.
02 RE-DATALENG1 PIC 9(4) COMP VALUE 1028.
02 RE-RSV1 PIC X(2).
02 RE-DATA1 PIC X(1024).
* ダイアログ開始応答送信領域 *
01 SEND-AREA1.
02 SE-DATALENG1 PIC 9(4) COMP VALUE 22.
02 SE-RSV1 PIC X(2).
02 SE-DATA1.
03 S1-DATA1 PIC X(1) VALUE X'00'.
03 S1-DATA2 PIC X(1) VALUE X'0a'.
03 S1-DATA3 PIC X(4) VALUE 'OTP1'.
03 S1-DATA4 PIC X(4) VALUE 'BDPA'.
03 S1-DATA5 PIC X(1) VALUE X'00'.
03 S1-DATA6 PIC X(1) VALUE X'06'.
03 S1-DATA7 PIC X(1) VALUE X'00'.
03 S1-DATA8 PIC X(1) VALUE X'04'.
03 S1-DATA9 PIC X(2) VALUE 'AC'.
03 S1-DATA10 PIC X(1) VALUE X'00'.
03 S1-DATA11 PIC X(1) VALUE X'02'.
* データ転送指示受信領域 *
01 RECV-AREA2.
02 RE-DATALENG2 PIC 9(4) COMP VALUE 1028.
02 RE-RSV2 PIC X(2).
02 RE-DATA2 PIC X(1024).
* ハンドシェイク要求送信領域 *
01 SEND-AREA2.
02 SE-DATALENG2 PIC 9(4) COMP VALUE 22.
02 SE-RSV2 PIC X(2).
02 SE-DATA2.
03 S2-DATA1 PIC X(1) VALUE X'00'.
03 S2-DATA2 PIC X(1) VALUE X'0a'.
03 S2-DATA3 PIC X(4) VALUE 'OTP1'.
03 S2-DATA4 PIC X(4) VALUE 'HSR '.
03 S2-DATA5 PIC X(1) VALUE X'00'.
03 S2-DATA6 PIC X(1) VALUE X'06'.
03 S2-DATA7 PIC X(1) VALUE X'00'.
03 S2-DATA8 PIC X(1) VALUE X'04'.
03 S2-DATA9 PIC X(2) VALUE 'NR'.
03 S2-DATA10 PIC X(1) VALUE X'00'.
03 S2-DATA11 PIC X(1) VALUE X'02'.
* ハンドシェイク確認受信領域 *
01 RECV-AREA3.
02 RE-DATALENG3 PIC 9(4) COMP VALUE 1028.
02 RE-RSV3 PIC X(2).
02 RE-DATA3 PIC X(1024).
* ダイアログ終了指示受信領域 *
01 RECV-AREA4.
02 RE-DATALENG4 PIC 9(4) COMP VALUE 1028.
02 RE-RSV4 PIC X(2).
02 RE-DATA4 PIC X(1024).
* ダイアログ終了応答送信領域 *
01 SEND-AREA3.
02 SE-DATALENG3 PIC 9(4) COMP VALUE 18.
02 SE-RSV3 PIC X(2).
02 SE-DATA3.
03 S3-DATA1 PIC X(1) VALUE X'00'.
03 S3-DATA2 PIC X(1) VALUE X'0a'.
03 S3-DATA3 PIC X(4) VALUE 'OTP1'.
03 S3-DATA4 PIC X(4) VALUE 'EDP '.
03 S3-DATA5 PIC X(1) VALUE X'00'.
03 S3-DATA6 PIC X(1) VALUE X'02'.
03 S3-DATA7 PIC X(1) VALUE X'00'.
03 S3-DATA8 PIC X(1) VALUE X'02'.
* 通信記述項 *
COMMUNICATION SECTION.
* ダイアログ開始要求の受信 *
CD RECV-IN1
FOR INPUT
STATUS KEY IS RE-STATUS1
SYMBOLIC TERMINAL IS RE-TERMNAM1
MESSAGE DATE IS RE-DATE1
MESSAGE TIME IS RE-TIME1.
* ダイアログ開始応答の送信 *
CD SEND-OT1
FOR I-O
STATUS KEY IS SE-STATUS1
SYMBOLIC TERMINAL IS SE-TERMNAM1
SYNCHRONOUS MODE IS SYNC.
* データ転送指示の受信 *
CD RECV-IN2
FOR I-O
STATUS KEY IS RE-STATUS2
SYMBOLIC TERMINAL IS RE-TERMNAM2
MESSAGE DATE IS RE-DATE2
MESSAGE TIME IS RE-TIME2
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT2.
* ハンドシェイク要求の送信 *
CD SEND-OT2
FOR I-O
STATUS KEY IS SE-STATUS2
SYMBOLIC TERMINAL IS SE-TERMNAM2
SYNCHRONOUS MODE IS SYNC.
* ハンドシェイク確認の受信 *
CD RECV-IN3
FOR I-O
STATUS KEY IS RE-STATUS3
SYMBOLIC TERMINAL IS RE-TERMNAM3
MESSAGE DATE IS RE-DATE3
MESSAGE TIME IS RE-TIME3
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT3.
* ダイアログ終了指示の受信 *
CD RECV-IN4
FOR I-O
STATUS KEY IS RE-STATUS4
SYMBOLIC TERMINAL IS RE-TERMNAM4
MESSAGE DATE IS RE-DATE4
MESSAGE TIME IS RE-TIME4
SYNCHRONOUS MODE IS SYNC
WAITING TIME IS RE-WAIT4.
* ダイアログ終了応答の送信 *
CD SEND-OT3
FOR I-O
STATUS KEY IS SE-STATUS3
SYMBOLIC TERMINAL IS SE-TERMNAM3.
* 通信文 *
PROCEDURE DIVISION.
* ダイアログ開始指示の受信 *
RECEIVE RECV-IN1
FIRST SEGMENT
INTO RECV-AREA1.
* ダイアログ開始応答の送信 *
MOVE RE-TERMNAM1 TO SE-TERMNAM1.
SEND SEND-OT1
FROM SEND-AREA1.
* データ転送指示の受信 *
MOVE RE-TERMNAM1 TO RE-TERMNAM2.
MOVE '00010000' TO RE-WAIT2.
RECEIVE RECV-IN2
SEGMENT
INTO RECV-AREA2.
* ハンドシェイク要求の送信 *
MOVE RE-TERMNAM1 TO SE-TERMNAM2.
SEND SEND-OT2
FROM SEND-AREA2.
* ハンドシェイク確認の受信 *
MOVE RE-TERMNAM1 TO RE-TERMNAM3.
MOVE '00010000' TO RE-WAIT3.
RECEIVE RECV-IN3
SEGMENT
INTO RECV-AREA3.
* ダイアログ終了指示の受信 *
MOVE RE-TERMNAM1 TO RE-TERMNAM4.
MOVE '00010000' TO RE-WAIT4.
RECEIVE RECV-IN4
SEGMENT
INTO RECV-AREA4.
* ダイアログ終了応答の送信 *
MOVE RE-TERMNAM1 TO SE-TERMNAM3.
DISABLE SEND-OT3
WITH SEND-AREA3.
* 終了処理 *
EXIT PROGRAM.