51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
# KIN04CHK 使用資源一覧
|
|
|
|
## プログラム概要
|
|
- **プログラムID**: KIN04CHK
|
|
- **プログラム名**: 打刻項目チェック処理
|
|
- **処理概要**: CSV形式の打刻データファイルを読み込み、IF多重ネスト(THEN句)による項目チェックを行い、正常レコードをEDITED-PUNCHへ、異常レコードをERROR-LOGへ振り分ける。
|
|
|
|
## 使用ファイル
|
|
|
|
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|
|
|------|---------------|------|-------------|-----------|--------|
|
|
| KIN04R01 | RAW-PUNCH | 順編成 | F (固定長) | 80B | なし(自前定義) |
|
|
| KIN04W01 | EDITED-PUNCH | 順編成 | F (固定長) | 80B | KIN04REC |
|
|
| KIN04W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | KIN05REC |
|
|
|
|
## 使用COPY句
|
|
|
|
| COPY句 | 用途 | 使用箇所 |
|
|
|--------|------|---------|
|
|
| KIN04REC | レコード定義(W01出力ファイル) | FILE SECTION / WORKING-STORAGE(WRITE FROM用) |
|
|
| KIN05REC | エラーログレコード定義(W02出力ファイル) | FILE SECTION |
|
|
| ZANDATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE |
|
|
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
|
|
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
|
|
| ZANCHKAC | 項目チェックサブPGM連絡領域 | WORKING-STORAGE |
|
|
|
|
## 使用サブプログラム
|
|
|
|
| サブPGM | 役割 | CALL箇所 |
|
|
|---------|------|---------|
|
|
| SUB01DAT | 運用日付取得 | 1000ITTSOR |
|
|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
|
|
| SUB03END | ABEND処理 | 9999ABDSOR |
|
|
| SUB04CHK | 日付/時刻/社員番号妥当性チェック | 2020VALIDATESOR |
|
|
|
|
## 使用DB2テーブル
|
|
|
|
なし(DB操作なし)
|
|
|
|
## 処理フロー
|
|
1. 初期処理(開始メッセージ→運用日付取得→OPEN→初回読込)
|
|
2. CSV分解(UNSTRINGで6項目に分解)
|
|
3. IF多重ネスト(THEN句)で4段階チェック
|
|
- フィールド数=6 AND 社員番号 NOT = SPACE
|
|
- SUB04CHK日付チェック
|
|
- SUB04CHK時刻チェック(出勤/退勤)
|
|
- 出勤時刻 < 退勤時刻
|
|
4. 正常→WRITE FROMでW01出力
|
|
5. 異常→W02出力(エラー区分='02')
|
|
6. 終了処理(CLOSE→件数出力→終了メッセージ)
|