Files
cobol-tna-system/使用資源一覧/KIN02UPD_使用資源一覧.md

2.7 KiB
Raw Permalink Blame History

KIN02UPD 使用資源一覧

プログラム概要

  • プログラムID: KIN02UPD
  • プログラム名: 休暇申請DB更新処理
  • 処理概要: WORK-LEAVEファイルの各レコードをDB2テーブルLEAVE_RECORDSに反映する。ステータスに応じて新規登録(INSERT)、変更(DELETE+INSERT)、取消(DELETE)を行う。

使用ファイル

DD名 ファイル識別子 編成 レコード形式 レコード長 COPY句
KIN01W01 WORK-LEAVE 順編成 F (固定長) 80B KIN01REC
KIN02W01 ERROR-LOG 順編成 V (可変長) 200B KIN05REC

使用COPY句

COPY句 用途 使用箇所
KIN01REC レコード定義(R01入力ファイル) FILE SECTION
KIN05REC エラーログレコード定義(W01出力) FILE SECTION
ZANMSGAC メッセージ編集サブPGM連絡領域 WORKING-STORAGE
ZANENDAC ABENDサブPGM連絡領域 WORKING-STORAGE
SQLCA SQL通信領域 WORKING-STORAGE

使用サブプログラム

サブPGM 役割 CALL箇所
SUB02MSG メッセージ編集出力 4000MSGOUTSOR
SUB03END ABEND処理 9999ABDSOR

使用DB2テーブル

テーブル名 操作 備考
LEAVE_RECORDS INSERT, DELETE APPLICATION_ID=0→INSERT, >0→DELETE+INSERT, STATUS='9'→DELETE

EXEC SQL一覧

SQL種別 処理 実行条件 使用箇所
CONNECT TO 'data/kin.db' 常時 1000ITTSOR
SELECT COALESCE(MAX(APPLICATION_ID),0)+1 FROM LEAVE_RECORDS 常時(初期処理時) 1000ITTSOR
INSERT LEAVE_RECORDSへ追加(APPLICATION_ID含む) STATUS='1' AND APPL-ID=0 2110INSERTSOR
DELETE APPLICATION_ID一致削除+INSERT STATUS='1' AND APPL-ID>0 2120UPDATESOR
INSERT LEAVE_RECORDSへ追加(変更後、APPLICATION_ID含む) STATUS='1' AND APPL-ID>0 2120UPDATESOR
DELETE APPLICATION_ID一致削除 STATUS='9' 2130DELETESOR
COMMIT WORK 常時 3000STPSOR
ROLLBACK WORK SQLエラー時 9100DBERRSOR

処理フロー

  1. 初期処理(開始メッセージ→DB接続→OPEN(R01/W01)→初回読込)
  2. ホスト変数設定(R01→WS-*
  3. ロジック分岐(EVALUATE
    • STATUS='1' AND APPL-ID=0 → INSERT
    • STATUS='1' AND APPL-ID>0 → DELETE + INSERT
    • STATUS='9' → DELETE
    • その他 → スキップ
  4. SQLエラー時 → ROLLBACK + ERROR-LOG出力(W01) + エラーメッセージ + ABEND
  5. 終了処理(COMMIT→CLOSE(R01/W01)→件数出力→終了メッセージ)