# ZAN02CHK 使用資源一覧 ## プログラム概要 - **プログラムID**: ZAN02CHK - **プログラム名**: 時間帯重複チェック処理 - **処理概要**: OVT-APPLYファイルの同一社員・同一日付内の開始時刻と終了時刻の重複をチェックする。 ## 使用ファイル | DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | |------|---------------|------|-------------|-----------|--------| | ZAN02R01 | OVT-APPLY | 順編成 | F (固定長) | 80B | ZAN01REC | | ZAN02W01 | OVT-NODUP | 順編成 | F (固定長) | 80B | ZAN01REC | | ZAN02W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC | ## 使用COPY句 | COPY句 | 用途 | 使用箇所 | |--------|------|---------| | ZAN01REC | レコード定義(R01入力/W01出力) | FILE SECTION | | ZAN05REC | エラーログレコード定義(W02出力) | 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テーブル なし(DB操作なし) ## 処理フロー 1. 初期処理(開始メッセージ→運用日付取得→OPEN→初回読込) 2. 1件目をそのままW01出力+前レコード保持 3. メイン処理:キー比較 - 同一社員+同一日付 かつ 前終了時刻>現開始時刻 → 重複エラー(W02出力) - 同一社員+同一日付 かつ 重複なし → W01出力+前レコード更新 - キーブレイク → 前レコード更新+W01出力 4. 終了処理(CLOSE→件数出力→終了メッセージ)