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

3.0 KiB
Raw Permalink Blame History

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単位切上丸め