- Add SHA01CVT-SHA10S10: all 10 programs, COPY books (13), binaries, design docs, resource usage lists, DDL schema_sha.sql - Add KYU01REC-KYU06REC COPY books (previously missing from git) - Fix design-code inconsistencies detected in audit: - SHA07KBR: remove dead SHACHKAC COPY (SUB04CHK never called) - SHA02MNC: 2020TYPSOR paragraph -> inline EVALUATE; SUB04CHK = PARM val - SHA05TWN: REVISED-TYPE values 'C'/'N' -> 'A'(定期決定)/'B'(月変) - SHA03MNP: 2010CALCSOR/2020WRTSOR -> inline implementation - SHA04TWO: remove GRADE-HISTORY from DB table list (not accessed) - SHA06TWM: add SALARYDB.EMP-MASTER to DB table list - SHA10S10: fix error file W99OUTFIL, 10+1 file count - Fix comment column alignment (Area A col 7) in SHA07KBR, SHA08SRT - Update KYU source/design docs: BOM removal, classification comment cleanup - Update README: Subsystem D added, program count 39
2.6 KiB
2.6 KiB
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 | 履歴整合性確認 |
処理フロー
- 初期処理(開始メッセージ→SUB01DAT運用日取得→OPEN→R02全件読込→OFFICE-TBL格納→R03全件読込→INSURER-TBL格納→DB接続→R01初回READ)
- 主処理: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
- 終了処理(CLOSE→件数出力→終了メッセージ)