49 lines
2.2 KiB
Markdown
49 lines
2.2 KiB
Markdown
# 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 1~366)
|
||
3. メイン処理:R01とR02のキー比較(社員番号+日付)
|
||
- R01 < R02 → 打刻データなしエラー(W02出力)
|
||
- R01 = R02 → 時間範囲チェック
|
||
- 申請時間帯が出勤〜退勤の範囲内 → OVT-TYPE設定(SEARCH ALL休日判定)→ W01出力
|
||
- 範囲外 → エラー(W02出力)
|
||
- R01 > R02 → R02読み飛ばし
|
||
4. 終了処理(CLOSE→件数出力→終了メッセージ)
|
||
|
||
## 備考
|
||
- SUB01DAT不使用:日付取得不要のためFUNCTION CURRENT-DATEも使用しない
|
||
- R02FILLER = 56B(PUNCH-SORTEDのフォーマット:社員番号8B+日付8B+出勤4B+退勤4B+予備56B) |