52 lines
2.4 KiB
Markdown
52 lines
2.4 KiB
Markdown
# KIN01INP 使用資源一覧
|
||
|
||
## プログラム概要
|
||
- **プログラムID**: KIN01INP
|
||
- **プログラム名**: 休暇申請CSV取込・検証処理
|
||
- **処理概要**: CSV形式の休暇申請ファイルを読み込み、休暇種別テーブル検索と項目チェックを行い、ステータスによってWORK-LEAVEまたはERROR-LOGへ振り分ける。
|
||
|
||
## 使用ファイル
|
||
|
||
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|
||
|------|---------------|------|-------------|-----------|--------|
|
||
| KIN01R01 | CSV-INPUT | 順編成 | F (固定長) | 80B | なし(自前定義) |
|
||
| KIN01W01 | WORK-LEAVE | 順編成 | F (固定長) | 80B | KIN01REC |
|
||
| KIN01W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | KIN05REC |
|
||
|
||
## 使用COPY句
|
||
|
||
| COPY句 | 用途 | 使用箇所 |
|
||
|--------|------|---------|
|
||
| KIN01REC | レコード定義(W01出力ファイル) | FILE SECTION |
|
||
| 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 | 日付/時刻/社員番号妥当性チェック | 2030VALIDATESOR |
|
||
|
||
## 使用DB2テーブル
|
||
|
||
なし(DB操作なし)
|
||
|
||
## 処理フロー
|
||
1. 初期処理(開始メッセージ→休暇種別テーブル設定→運用日付取得→OPEN→初回読込)
|
||
2. CSV分解(UNSTRINGで8項目に分解)
|
||
3. 休暇種別テーブル検索(SEARCH)
|
||
4. エラー前提判定
|
||
- フィールド数≠8 → ERROR-LOG出力(種別:F)
|
||
- 休暇種別未発見 → ERROR-LOG出力(種別:L)
|
||
5. ステータス判定
|
||
- ステータス'1'(有効)→ 項目チェック(SUB04CHK: 開始日付/時刻、終了日付/時刻)→ WORK-LEAVE出力(APPL-ID=0)
|
||
- ステータス'9'(取消)→ WORK-LEAVE出力(APPL-ID保持、チェックなし)
|
||
- その他(エラー)→ ERROR-LOG出力(種別:S)
|
||
6. 終了処理(CLOSE→件数出力→終了メッセージ)
|