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

2.2 KiB
Raw Permalink Blame History

ZAN05CAL 使用資源一覧

プログラム概要

  • プログラムID: ZAN05CAL
  • プログラム名: 残業時間集計処理
  • 処理概要: OVT-SORTED2(申請番号+処理番号昇順)をキーブレイク集計し、同一APPL-ID内の全明細の加班時間を積算してOVT-SUMMARYに1レコード出力。

使用ファイル

DD名 ファイル識別子 編成 レコード形式 レコード長 COPY句
ZAN05R01 OVT-SORTED2 順編成 F (固定長) 80B ZAN02REC
ZAN05W01 OVT-SUMMARY 順編成 F (固定長) 80B ZAN03REC

使用COPY句

COPY句 用途 使用箇所
ZAN02REC OVT-MATCHEDレコード定義(R01入力) FILE SECTION
ZAN03REC OVT-SUMMARYレコード定義(W01出力) FILE SECTION
ZANDATAC 運用日付サブPGM連絡領域 WORKING-STORAGE
ZANMSGAC メッセージ編集サブPGM連絡領域 WORKING-STORAGE
ZANENDAC ABENDサブPGM連絡領域 WORKING-STORAGE
ZANTIMAC 時刻丸めサブPGM連絡領域 WORKING-STORAGE

使用サブプログラム

サブPGM 役割 CALL箇所
SUB01DAT 運用日付取得 1000ITTSOR
SUB02MSG メッセージ編集出力 4000MSGOUTSOR
SUB03END ABEND処理 9999ABDSOR
SUB05TIM 時刻丸め(0.1h単位切捨) 2100OUTSOR

使用DB2テーブル

なし(DB操作なし)

処理フロー

  1. 初期処理(開始メッセージ→運用日付取得→OPEN→初回読込)
  2. キーブレイク集計ループ
    • キー変わり(APPL-ID) → 前グループ集計出力+累積リセット+新グループ開始
    • 同一グループ → 現レコード時間差分をWRK-ACCUM-MINに積算+最新レコード上書き保持
    • EOF → 最終グループを出力
  3. 集計出力処理(2100OUTSOR
    • DIVIDE REMAINDERで時→分変換
    • COMPUTE ROUNDED ON SIZE ERROR
    • SUB05TIM呼出(0.1h単位切捨て丸め)
    • OVT-SUMMARY出力(グループ先頭START・最新END・積算OVT-HOURS
  4. 終了処理(CLOSE→件数出力→終了メッセージ)