Subsystem A KIN04-07追加、KIN02UPD/KIN03EXP更新(APPLICATION_ID対応+br_get_colバグ修正)、テスト済み全シナリオPASS
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# KIN07DAI 使用資源一覧
|
||||
|
||||
## プログラム概要
|
||||
- **プログラムID**: KIN07DAI
|
||||
- **プログラム名**: 日別勤怠計算処理
|
||||
- **処理概要**: WORK-DAY-FILE(出勤日カレンダー)を主駆動とし、社員番号+日付キーでKIN-LEAVE(打刻+休暇)と照合。4パターン(A/B/C/D)のEVALUATE分岐で休暇時間計算を実行し、DAILY-RECORD(200B)に出力する。
|
||||
|
||||
## 使用ファイル
|
||||
|
||||
| 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単位切上丸め |
|
||||
Reference in New Issue
Block a user