Files
cobol-tna-system/使用資源一覧/SHA03MNP_使用資源一覧.md
qiuqiuqiu 71232af484 Add Subsystem D (SHA01-10): social insurance subsystem + design-resource consistency fixes
- 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
2026-07-15 20:32:51 +08:00

51 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SHA03MNP 使用資源一覧
## プログラム概要
- **プログラムID**: SHA03MNP
- **プログラム名**: 保険料計算明細出力処理
- **処理概要**: EMP-INSURANCE×INSURANCE-RATESの直積組合せにより保険料計算明細を出力する(M:N→M×N件出力)。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|------|---------------|------|-------------|-----------|--------|
| SHA03R01 | EMP-INSURANCE | 順編成 | F (固定長) | 200B | SHA02REC |
| SHA03W01 | INS-DETAIL | 順編成 | F (固定長) | 300B | SHA03REC |
| SHA03W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| SHA02REC | EMP-INSURANCE レコード定義(R01入力ファイル) | FILE SECTION |
| SHA03REC | INS-DETAIL レコード定義(W01出力ファイル) | FILE SECTION |
| ZAN05REC | エラーログレコード定義(W02出力ファイル) | FILE SECTION |
| SQLCA | SQL通信領域 | WORKING-STORAGE |
| SHADATAC | 運用日付サブPGM連絡領域 | WORKING-STORAGE |
| SHAMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
| SHAENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB01DAT | 運用日付取得 | 1000ITTSOR |
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
| SUB03END | ABEND処理 | 9999ABDSOR |
## 使用DB2テーブル
| DB名 | テーブル名 | I/O | 備考 |
|------|-----------|:---:|------|
| INSURANCEDB | INSURANCE-RATES | I | 料率取得(内部表LOAD |
## 処理フロー
1. 初期処理(開始メッセージ→SUB01DAT運用日取得→PARM取得→DB接続→INSURANCE-RATES内部表LOAD→OPEN→R01初回READ
2. 主処理:R01終了まで繰り返し
- 直積組合せ生成:従業員×全RATESエントリ
- 健康保険: HEALTH-PREMIUM = MONTHLY-AMOUNT × HEALTH-RATE (ROUNDED)
- 厚生年金: PENSION-PREMIUM = MONTHLY-AMOUNT × PENSION-RATE (ROUNDED)
- W01(INS-DETAIL)出力
- R01次件READ
3. 終了処理(CLOSE→件数出力→終了メッセージ)