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