# SHA01CVT 使用資源一覧 ## プログラム概要 - **プログラムID**: SHA01CVT - **プログラム名**: 被保険者資格データ変換処理 - **処理概要**: ASCII CSVの被保険者資格データをINSPECT CONVERTINGでEBCDIC固定長に変換する。半角桁数チェックを内部処理として実施。 ## 使用ファイル | DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | |------|---------------|------|-------------|-----------|--------| | SHA01R01 | INS-CSV-ASCII | 順編成 | F (固定長) | 500B | なし(自前定義) | | SHA01W01 | INSURED-DATA | 順編成 | F (固定長) | 200B | SHA01REC | | SHA01W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC | ## 使用COPY句 | COPY句 | 用途 | 使用箇所 | |--------|------|---------| | SHA01REC | INSURED-DATA レコード定義(W01出力ファイル) | FILE SECTION | | ZAN05REC | エラーログレコード定義(W02出力ファイル) | FILE SECTION | | SHADATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE | | SHAMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE | | SHAENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE | | SHACHKAC | 項目チェックサブPGM連絡領域 | WORKING-STORAGE | ## 使用サブプログラム | サブPGM | 役割 | CALL箇所 | |---------|------|---------| | SUB01DAT | 運用日付取得 | 1000ITTSOR | | SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR | | SUB03END | ABEND処理 | 9999ABDSOR | | SUB04CHK | 日付/数値妥当性チェック | 2020HALFSOR | ## 使用DB2テーブル なし(DB操作なし) ## 処理フロー 1. 初期処理(開始メッセージ→コンパイル日時出力→ワーク初期化→SUB01DAT運用日取得→OPEN→初回読込) 2. 主処理:R01終了まで繰り返し - CSV分解(UNSTRINGでカンマ区切り→各項目) - 半角桁数チェック(氏名カナ20/被保険者番号10/事業所番号4/日付妥当性/数値妥当性→エラーはW02出力) - ASCII→EBCDIC変換(変換テーブルで各バイト変換→INSURED-DATAレコードにMOVE) - W01(INSURED-DATA)出力 - R01次件READ 3. 終了処理(CLOSE→件数出力→終了メッセージ)