Subsystem A KIN04-07追加、KIN02UPD/KIN03EXP更新(APPLICATION_ID対応+br_get_colバグ修正)、テスト済み全シナリオPASS

This commit is contained in:
qiuqiuqiu
2026-06-28 16:04:36 +08:00
parent 3379941b44
commit 5d595c79b6
24 changed files with 2928 additions and 98 deletions
@@ -0,0 +1,45 @@
# 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切断 → 終了処理