# KYU05DED 使用資源一覧 ## プログラム概要 - **プログラムID**: KYU05DED - **プログラム名**: 控除計算処理 - **処理概要**: SALARY-DETAILを入力に、源泉所得税・社会保険料・住民税を計算しSALARY-NETを出力する。TAX-TABLE(DB2 SELECT ... BETWEEN)とINSURANCE-TABLE(SEARCH 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 | SELECT(DECLARE/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→件数出力→終了メッセージ)