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

46 lines
2.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.
# 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切断 → 終了処理