Files
cobol-tna-system/使用資源一覧/SHA07KBR_使用資源一覧.md
T
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

53 lines
2.4 KiB
Markdown
Raw 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.
# SHA07KBR 使用資源一覧
## プログラム概要
- **プログラムID**: SHA07KBR
- **プログラム名**: 資格異動キーブレイク処理
- **処理概要**: DB2 QUALIFICATION-CHANGESから資格異動データをFETCHし、従業員ごと(1:N)かつ保険者コード変更時(異キー)にキーブレイクしてサマリ・明細を出力する。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 |
|------|---------------|------|-------------|-----------|--------|
| SHA07W01 | CHG-SUMMARY | 順編成 | F (固定長) | 200B | SHA07REC |
| SHA07W02 | CHG-DETAIL | 順編成 | F (固定長) | 200B | SHA07REC |
| SHA07W03 | ERROR-LOG | 順編成 | V (可変長) | 200B | ZAN05REC |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| SHA07REC | CHG-SUMMARY/CHG-DETAIL レコード定義(W01/W02出力ファイル) | FILE SECTION |
| ZAN05REC | エラーログレコード定義(W03出力ファイル) | 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 | QUALIFICATION-CHANGES | I | DECLARE CURSOR / FETCHJOIN with EMP-MASTER |
| SALARYDB | EMP-MASTER | I | JOIN取得(従業員名) |
## 処理フロー
1. 初期処理(開始メッセージ→SUB01DAT運用日取得→OPEN→DB接続→CURSOR宣言(ORDER BY EMP-ID, CHG-DATE)→初回FETCH→WS-PREV初期設定)
2. 主処理:FETCH終了まで繰り返し
- EMP-ID主キーブレイク判定:前回≠今回→サマリレコード出力
- INSURER-CODE異キーブレイク判定:前回≠今回→サマリレコード出力
- 明細レコード出力(全FETCHレコード)
- WS-PREV更新→次件FETCH
3. 最終グループ処理(最終従業員グループのサマリ/明細出力)
4. 終了処理(CLOSE CURSOR→DISCONNECT→ファイルCLOSE→件数出力→終了メッセージ)