# SHA10S10 使用資源一覧 ## プログラム概要 - **プログラムID**: SHA10S10 - **プログラム名**: 保険者別分割出力処理 - **処理概要**: RPT-DATAをINSURER-CODE(001~010)で判定し、10個の出力ファイルに振り分けて出力する。CLOSE WITH LOCKで各ファイルを確定する。本実装は代表10ファイル(001-010)で定義。エラーファイルはW99(DD名SHA10W98)。 ## 使用ファイル | DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | |------|---------------|------|-------------|-----------|--------| | SHA10R01 | RPT-DATA | 順編成 | F (固定長) | 300B | SHA08REC | | SHA10W01~W10 | INSURER-OUT-01~10 | 順編成 | F (固定長) | 300B | SHA09REC | | SHA10W98 | ERROR-LOG(識別子:W99OUTFIL) | 順編成 | V (可変長) | 200B | ZAN05REC | ## 使用COPY句 | COPY句 | 用途 | 使用箇所 | |--------|------|---------| | SHA08REC | RPT-DATA レコード定義(R01入力ファイル) | FILE SECTION | | SHA09REC | INSURER-OUT レコード定義(W01~W10出力ファイル) | FILE SECTION | | ZAN05REC | エラーログレコード定義(W98出力ファイル) | FILE SECTION | | SHADATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE | | SHAMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE | | SHAENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE | ## 使用サブプログラム | サブPGM | 役割 | CALL箇所 | |---------|------|---------| | SUB01DAT | 運用日付取得 | 1000ITTSOR | | SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR | | SUB03END | ABEND処理 | 9999ABDSOR | ## 使用DB2テーブル なし(DB操作なし) ## 処理フロー 1. 初期処理(開始メッセージ→SUB01DAT運用日付取得→OPEN(R01+W01~W99+W98)→R01初回READ) 2. 主処理:R01終了まで繰り返し - INSURER-CODE判定(EVALUATE INSURER-CODE 001〜010)→該当ファイルにWRITE - SHA09REC編集: PREF-CODE/INSURER-CODE/RPT-BODY設定 - R01次件READ - INSURER-CODE範囲外(001〜010以外)→W99(ERROR-LOG/DD:SHA10W98)出力 3. 終了処理(CLOSE WITH LOCK→件数出力→終了メッセージ)