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