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

49 lines
2.2 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.
# ZAN03CHK 使用資源一覧
## プログラム概要
- **プログラムID**: ZAN03CHK
- **プログラム名**: 打刻時間照合処理
- **処理概要**: OVT-NODUPとPUNCH-SORTEDを突合し申請時間帯の照合を行う。申請時間帯が出勤〜退勤の範囲内かを確認する。申請日が休日かを判定しOVT-TYPEを付加する。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|------|---------------|------|-------------|-----------|--------|
| ZAN03R01 | OVT-NODUP | 順編成 | F (固定長) | 80B | ZAN01REC |
| ZAN03R02 | PUNCH-SORTED | 順編成 | F (固定長) | 80B | なし(自前定義:20B+56B |
| ZAN03R03 | HOLIDAY | 順編成 | F (固定長) | 80B | なし(自前定義:9B+71B |
| ZAN03W01 | OVT-CHECKED | 順編成 | F (固定長) | 80B | ZAN01REC |
| ZAN03W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| ZAN01REC | レコード定義(R01入力/W01出力) | FILE SECTION |
| ZAN05REC | エラーログレコード定義(W02出力) | FILE SECTION |
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
## 使用DB2テーブル
なし(DB操作なし)
## 処理フロー
1. 初期処理(開始メッセージ→OPEN)
2. 休日ファイル(R03)全件読込→HOLIDAY-TABLE設定(OCCURS 1366
3. メイン処理:R01とR02のキー比較(社員番号+日付)
- R01 < R02 → 打刻データなしエラー(W02出力)
- R01 = R02 → 時間範囲チェック
- 申請時間帯が出勤〜退勤の範囲内 → OVT-TYPE設定(SEARCH ALL休日判定)→ W01出力
- 範囲外 → エラー(W02出力)
- R01 > R02 → R02読み飛ばし
4. 終了処理(CLOSE→件数出力→終了メッセージ)
## 備考
- SUB01DAT不使用:日付取得不要のためFUNCTION CURRENT-DATEも使用しない
- R02FILLER = 56BPUNCH-SORTEDのフォーマット:社員番号8B+日付8B+出勤4B+退勤4B+予備56B