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

2.0 KiB
Raw Permalink Blame History

KIN06CLD 使用資源一覧

プログラム概要

  • プログラムID: KIN06CLD
  • プログラム名: 出勤日カレンダー生成処理
  • 処理概要: PARM指定年月の出勤日カレンダーを生成。在籍社員全員 × 当月全日をループし、休日判定を行って出勤日のみ出力。

使用ファイル

DD名 ファイル識別子 編成 レコード形式 レコード長 COPY句
KIN06W01 WORK-DAY-FILE 順編成 F (固定長) 80B KIN06REC

使用COPY句

COPY句 用途 使用箇所
KIN06REC OUTREC出力レコード定義 FILE SECTION
ZANMSGAC メッセージ編集サブPGM連絡領域 WORKING-STORAGE
ZANENDAC ABENDサブPGM連絡領域 WORKING-STORAGE

注: DBブリッジ変数(WS-SQL-STR, SQLCODE, WS-COL-IDX, WS-COL-LEN)はCOPY句DB-COMMONではなく、プリプロセッサconvert-sql.mjsによりWORKING-STORAGEに注入される。cpy/DB-COMMON.cpyは存在しない。

使用DBテーブル

テーブル名 種別 操作 備考
EMP_MASTER 参照 SELECT (CURSOR) 在籍社員一覧(STATUS='1')
HOLIDAY_CALENDAR 参照 SELECT 対象月の休日一覧

使用サブプログラム

サブPGM 役割 CALL箇所
SUB02MSG メッセージ編集出力 4000MSGOUTSOR
SUB03END ABEND処理 1100PARMSOR (直接CALL、9999ABDSORセクション廃止)

処理フロー

  1. PARM解析(YEARMONTH取得)
  2. DB接続 → 休日データ読込 → 社員CURSOR OPEN
  3. 社員ループ(PERFORM UNTIL EOF
    • 日付ループ(PERFORM VARYING 当月1日〜月末日)
      • PERFORM VARYING 線形探索で休日判定 + 曜日判定(部分埋めテーブルのためSEARCH ALL不使用)
      • 出勤日 → WRITE FROM出力
  4. CURSOR CLOSE → DB切断 → 終了処理