Subsystem B cleanup: dead code removal, sort-key fix, ZAN04MAT/ZAN05CAL/ZAN06UPD updates, resource lists added
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# ZAN06UPD 使用資源一覧
|
||||
|
||||
## プログラム概要
|
||||
- **プログラムID**: ZAN06UPD
|
||||
- **プログラム名**: 残業統計DB更新処理
|
||||
- **処理概要**: OVT-SUMMARYの各レコードをDBにINSERT/UPSERTし、OVT-DBCLEANの各レコードについて該当申請を取消状態に更新する。DB2テーブル操作を含む全サブシステムB唯一のDB更新プログラム。
|
||||
|
||||
## 使用ファイル
|
||||
|
||||
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|
||||
|------|---------------|------|-------------|-----------|--------|
|
||||
| ZAN06R01 | OVT-SUMMARY | 順編成 | F (固定長) | 80B | ZAN03REC |
|
||||
| ZAN06R02 | OVT-DBCLEAN | 順編成 | F (固定長) | 80B | ZAN04REC |
|
||||
| ZAN06W01 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC |
|
||||
|
||||
## 使用COPY句
|
||||
|
||||
| COPY句 | 用途 | 使用箇所 |
|
||||
|--------|------|---------|
|
||||
| ZAN03REC | OVT-SUMMARYレコード定義(R01入力) | FILE SECTION |
|
||||
| ZAN04REC | OVT-DBCLEANレコード定義(R02入力) | FILE SECTION |
|
||||
| ZAN05REC | エラーログレコード定義(W01出力) | FILE SECTION |
|
||||
| ZANDATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE |
|
||||
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
|
||||
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
|
||||
|
||||
## 使用サブプログラム
|
||||
|
||||
| サブPGM | 役割 | CALL箇所 |
|
||||
|---------|------|---------|
|
||||
| SUB01DAT | 運用日付取得 | 1000ITTSOR |
|
||||
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
|
||||
| SUB03END | ABEND処理 | 9999ABDSOR |
|
||||
|
||||
## 使用DB2テーブル
|
||||
|
||||
| テーブル名 | 操作種別 | 説明 |
|
||||
|------------|---------|------|
|
||||
| OVT_APPLICATIONS | INSERT / UPDATE | 申請データ登録・更新(取消) |
|
||||
| OVT_MONTHLY | SELECT / INSERT / UPDATE | 月次集計テーブル(加算・減算) |
|
||||
|
||||
## 実行SQL一覧
|
||||
|
||||
| SQL種別 | 内容 | 該当箇所 |
|
||||
|---------|------|---------|
|
||||
| CONNECT TO | DB接続(data\OVERTIME.DB) | 1000ITTSOR |
|
||||
| INSERT INTO ... OVT_APPLICATIONS | 申請データ新規登録 | 2100SUMMARYSOR |
|
||||
| UPDATE ... OVT_APPLICATIONS | 重複時更新(STATUS) | 2100SUMMARYSOR |
|
||||
| SELECT ... OVT_MONTHLY | 月次集計存在確認 | 2110MONTHLYUPSOR |
|
||||
| UPDATE ... OVT_MONTHLY (+加算) | 月次集計加算 | 2110MONTHLYUPSOR |
|
||||
| INSERT INTO ... OVT_MONTHLY | 月次集計新規作成 | 2110MONTHLYUPSOR |
|
||||
| SELECT ... OVT_APPLICATIONS | 取消データ取得 | 2200DBCLEANSOR |
|
||||
| UPDATE ... OVT_APPLICATIONS (取消) | 申請ステータス取消 | 2200DBCLEANSOR |
|
||||
| UPDATE ... OVT_MONTHLY (-減算) | 月次集計減算(リトライ3回) | 2210MONTHLYSUBSOR |
|
||||
| COMMIT WORK | 50件毎/最終コミット | 2300COMMITDBX |
|
||||
| ROLLBACK WORK | DBエラー時ロールバック | 9100DBERRSOR |
|
||||
|
||||
## 処理フロー
|
||||
1. 初期処理(開始メッセージ→運用日付取得→OPEN→DB CONNECT→R01/R02初回読込)
|
||||
2. フェーズ1(OVT-SUMMARY処理):
|
||||
- SQLホスト変数設定(年月抽出・時刻変換・時間→分変換)
|
||||
- OVT_APPLICATIONSにINSERT
|
||||
- 成功 → INSERTカウンタ+1
|
||||
- 重複エラー(SQLCODE≠0) → UPDATE(STATUS更新)
|
||||
- OVT_MONTHLY UPSERT(存在確認SELECT→UPDATE/INSERT)
|
||||
- 50件毎にCOMMIT
|
||||
3. フェーズ2(OVT-DBCLEAN処理):
|
||||
- OVT_APPLICATIONSから既存データSELECT
|
||||
- 該当なし(孤立取消) → ERROR-LOG出力+ABEND(999)
|
||||
- OVT_APPLICATIONSステータス更新('9'=取消)
|
||||
- OVT_MONTHLY減算(3回リトライ付きUPDATE)
|
||||
4. 終了処理(最終COMMIT→CLOSE→件数出力→終了メッセージ)
|
||||
Reference in New Issue
Block a user