# KIN05MAT 使用資源一覧 ## プログラム概要 - **プログラムID**: KIN05MAT - **プログラム名**: 打刻休暇照合処理 - **処理概要**: EDITED-PUNCH(打刻側)とLEAVE-DAILY(休暇側)を社員番号+日付キーで照合し、1:Nマッチング結果をKIN-LEAVE(160B)に出力する。 ## 使用ファイル | DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | |------|---------------|------|-------------|-----------|--------| | KIN04W01 | EDITED-PUNCH | 順編成 | F (固定長) | 80B | KIN04REC | | KIN02W01 | LEAVE-DAILY | 順編成 | F (固定長) | 80B | KIN02REC | | KIN05W01 | KIN-LEAVE | 順編成 | F (固定長) | 160B | KIN03REC | ## 使用COPY句 | COPY句 | 用途 | 使用箇所 | |--------|------|---------| | KIN04REC | R01入力レコード定義 | FILE SECTION | | KIN02REC | R02入力レコード定義 | FILE SECTION | | KIN03REC | W01出力レコード定義 | FILE SECTION | | ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE | | ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE | ## 使用サブプログラム | サブPGM | 役割 | CALL箇所 | |---------|------|---------| | SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR | | SUB03END | ABEND処理 | 9999ABDSOR | ## 使用DB2テーブル なし(ファイルマッチングのみ) ## 処理フロー 1. 初期処理(開始メッセージ→OPEN→R01/R02初回読込) 2. EVALUATE TRUE マッチング3分岐制御 - R01key < R02key OR R02-EOF:打刻のみ出力(LEAVE-TYPE='99') - R01key = R02key:マッチング(N:1ループ)、休暇種別優先順位で選定 - R01key > R02key:R02のみスキップ 3. 終了処理(CLOSE→件数出力→終了メッセージ)