# 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→件数出力→終了メッセージ)