Files
cobol-tna-system/使用資源一覧/KIN07DAI_使用資源一覧.md

61 lines
3.0 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.
# KIN07DAI 使用資源一覧
## プログラム概要
- **プログラムID**: KIN07DAI
- **プログラム名**: 日別勤怠計算処理
- **処理概要**: WORK-DAY-FILE(出勤日カレンダー)を主駆動とし、社員番号+日付キーでKIN-LEAVE(打刻+休暇)と照合。4パターン(A/B/C/D)のEVALUATE分岐で休暇時間計算を実行し、DAILY-RECORD200B)に出力する。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | 定義参照先 |
|------|---------------|------|-------------|-----------|--------|-----------|
| KIN07R01 | WORK-DAY-FILE | 順編成 | F (固定長) | 80B | KIN06REC | COPY句定義書.md |
| KIN07R02 | KIN-LEAVE | 順編成 | F (固定長) | 160B | KIN03REC | COPY句定義書.md |
| KIN07R03 | LEAVE-DAILY | 順編成 | F (固定長) | 80B | KIN02REC | COPY句定義書.md |
| KIN07W01 | DAILY-RECORD | 順編成 | F (固定長) | 200B | KIN07REC | COPY句定義書.md |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| KIN06REC | R01入力レコード定義(WORK-DAY-REC | FILE SECTION |
| KIN03REC | R02入力レコード定義(KIN-LEAVE-REC | FILE SECTION |
| KIN02REC | R03入力レコード定義(LEAVE-DAILY-REC | FILE SECTION |
| KIN07REC | W01出力レコード定義(DAILY-REC | FILE SECTION |
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
| ZANTIMAC | 丸めサブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
| SUB03END | ABEND処理 | 9999ABDSOR |
| SUB05TIM | 休暇時間丸め(0.1h切上) | 6100PATTERNASOR / 6300PATTERNSOR |
## 使用DB2テーブル
なし(ファイル処理のみ)
## 処理フロー
1. 初期処理(開始メッセージ→OPEN→R01/R02/R03初回読込)
2. メインループ:R01(主駆動)を基準にEVALUATEで4パターン分岐
- PATTERN-A (1): R01+R02+R03全てあり → 打刻+休暇時間計算
- PATTERN-B (2): R01+R02あり、R03なし → 打刻のみ(休暇=0)
- PATTERN-C (3): R01+R03あり、R02なし → 休暇時間計算(打刻=0000)
- PATTERN-D (4): R01のみ → 未申請欠勤=8.0h
3. 各パターン内でMULTIPLY/SUBTRACT/COMPUTE併用による時間計算、CALL SUB05TIM丸め
4. 終了処理(CLOSE→件数出力→終了メッセージ)
## 使用構文(特記事項)
| 構文 | 使用箇所 | 備考 |
|------|---------|------|
| EVALUATE | 5000PROCESS | 4パターン分岐(GO TO DEPENDING ONから変更) |
| MULTIPLY | 6100PATTERNASOR/6300PATTERNSOR | 時間→分変換 |
| SUBTRACT | 6100PATTERNASOR/6300PATTERNSOR | ランチ時間除外 |
| DIVIDE | 6100PATTERNASOR/6300PATTERNSOR | 分→時間変換 |
| COMPUTE | 6100PATTERNASOR/6300PATTERNSOR | 休暇時間端数処理 |
| CALL SUB05TIM | 6100PATTERNASOR/6300PATTERNSOR | 0.1h単位切上丸め |