Subsystem B cleanup: dead code removal, sort-key fix, ZAN04MAT/ZAN05CAL/ZAN06UPD updates, resource lists added
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# 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. 初期処理(開始メッセージ→ACCEPT FROM DATE→運用日付取得→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→件数出力→終了メッセージ)
|
||||
Reference in New Issue
Block a user