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

73 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. フェーズ1OVT-SUMMARY処理):
- SQLホスト変数設定(年月抽出・時刻変換・時間→分変換)
- OVT_APPLICATIONSにINSERT
- 成功 → INSERTカウンタ+1
- 重複エラー(SQLCODE≠0) → UPDATESTATUS更新)
- OVT_MONTHLY UPSERT(存在確認SELECT→UPDATE/INSERT
- 50件毎にCOMMIT
3. フェーズ2OVT-DBCLEAN処理):
- OVT_APPLICATIONSから既存データSELECT
- 該当なし(孤立取消) → ERROR-LOG出力+ABEND(999)
- OVT_APPLICATIONSステータス更新('9'=取消)
- OVT_MONTHLY減算(3回リトライ付きUPDATE)
4. 終了処理(最終COMMIT→CLOSE→件数出力→終了メッセージ)