# SHA04TWO 使用資源一覧 ## プログラム概要 - **プログラムID**: SHA04TWO - **プログラム名**: 事業所保険者マッチング処理 - **処理概要**: INSURED-DATAをOFFICE-MST/INSURER-MSTの2段階で1:1マッチングし、GRADED-LIST/UNMATCHED-LISTを出力する。 ## 使用ファイル | DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | |------|---------------|------|-------------|-----------|--------| | SHA04R01 | INSURED-DATA | 順編成 | F (固定長) | 200B | SHA01REC | | SHA04R02 | OFFICE-MST | 順編成 | F (固定長) | 80B | なし(自前定義) | | SHA04R03 | INSURER-MST | 順編成 | F (固定長) | 80B | なし(自前定義) | | SHA04W01 | GRADED-LIST | 順編成 | F (固定長) | 200B | SHA04REC | | SHA04W02 | UNMATCHED-LIST | 順編成 | F (固定長) | 200B | なし(自前定義) | | SHA04W03 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC | ## 使用COPY句 | COPY句 | 用途 | 使用箇所 | |--------|------|---------| | SHA01REC | INSURED-DATA レコード定義(R01入力ファイル) | FILE SECTION | | SHA04REC | GRADED-LIST レコード定義(W01出力ファイル) | FILE SECTION | | ZAN05REC | エラーログレコード定義(W03出力ファイル) | FILE SECTION | | SQLCA | SQL通信領域 | WORKING-STORAGE | | SHAMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE | | SHAENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE | | SHADATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE | ## 使用サブプログラム | サブPGM | 役割 | CALL箇所 | |---------|------|---------| | SUB01DAT | 運用日付取得 | 1000ITTSOR | | SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR | | SUB03END | ABEND処理 | 9999ABDSOR | ## 使用DB2テーブル | DB名 | テーブル名 | I/O | 備考 | |------|-----------|:---:|------| | INSURANCEDB | INSURED-MASTER | I | 履歴整合性確認 | ## 処理フロー 1. 初期処理(開始メッセージ→SUB01DAT運用日取得→OPEN→R02全件読込→OFFICE-TBL格納→R03全件読込→INSURER-TBL格納→DB接続→R01初回READ) 2. 主処理:R01終了まで繰り返し - 第1段階マッチング:OFFICE-NO vs OFFICE-TBL線形探索→成功なら第2段階、失敗ならW02出力 - 第2段階マッチング:INSURER-CODE vs INSURER-TBL線形探索→成功ならW01出力、失敗ならW02出力 - DB2整合性検証:W01出力時INSURED-MASTER SELECT、異常はW03出力 - R01次件READ 3. 終了処理(CLOSE→件数出力→終了メッセージ)