Add Subsystem C (KYU01-09): all 9 programs, design docs, resource lists, DDL, COPY, coverage stats

KYU programs for payroll calculation:
  KYU01CVT - CSV conversion
  KYU02REG - attendance registration
  KYU03AGG - aggregation
  KYU04CAL - salary calculation
  KYU05DED - deduction calculation
  KYU06UPD - DB update
  KYU07DIV - division/pay-slip
  KYU08PRI - print output
  KYU09MRG - merge output

Includes:
  - Source programs (9 .cbl)
  - Compiled executables (9 .exe)
  - Detailed design docs (9 + sign-off)
  - Basic design doc (subsystem C overview)
  - Resource lists (9)
  - DDL schema (schema_kyu.sql)
  - COPY book (KYU99REC.cpy)
  - Coverage statistics update
  - DB definition update (STATUS values)
  - Overall system design document
This commit is contained in:
qiuqiuqiu
2026-07-09 08:09:59 +08:00
parent 02dd36e094
commit 75475b3fa1
43 changed files with 7212 additions and 41 deletions
@@ -0,0 +1,49 @@
# KYU05DED 使用資源一覧
## プログラム概要
- **プログラムID**: KYU05DED
- **プログラム名**: 控除計算処理
- **処理概要**: SALARY-DETAILを入力に、源泉所得税・社会保険料・住民税を計算しSALARY-NETを出力する。TAX-TABLEDB2 SELECT ... BETWEEN)とINSURANCE-TABLESEARCH ALL)を参照。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|------|---------------|------|-------------|-----------|--------|
| KYU05R01 | SALARY-DETAIL | 順編成 | F (固定長) | 240B | KYU03REC |
| KYU05W01 | SALARY-NET | 順編成 | F (固定長) | 200B | KYU04REC |
| KYU05W02 | ERROR-LOG | 順編成 | V (可変長) | 200B | KYU99REC |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| KYU03REC | レコード定義(R01入力ファイル) | FILE SECTION |
| KYU04REC | レコード定義(W01出力ファイル) | FILE SECTION |
| KYU99REC | エラーログレコード定義(W02出力ファイル) | FILE SECTION |
| SQLCA | SQL通信領域 | WORKING-STORAGE |
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
| SUB03END | ABEND処理 | 1100INSLOADSOR / 9999ABDSOR |
## 使用DB2テーブル
| テーブル名 | アクセス種別 | 用途 |
|-----------|-------------|------|
| TAX-TABLE | SELECT | 課税所得に対する税率・控除額(BETWEEN検索) |
| INSURANCE-TABLE | SELECTDECLARE/FETCH | 社会保険料率取得(全件LOAD→SEARCH ALL |
## 処理フロー
1. 初期処理(開始メッセージ→DB接続→INSURANCE-TABLE全件LOAD→OPEN→初回読込)
2. 課税所得計算(基本控除差引)
3. DB2 TAX-TABLE参照(BETWEEN条件で税率・控除額取得)
4. 社会保険料計算(SEARCH ALL:所得範囲一致)
5. 住民税計算(定率計算)
6. 差引支給額計算
7. SALARY-NET出力
8. 終了処理(CLOSE→件数出力→終了メッセージ)