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

62 lines
3.3 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.
# KIN08DBU 使用資源一覧
## プログラム概要
- **プログラムID**: KIN08DBU
- **プログラム名**: 勤怠DB更新処理
- **処理概要**: SYSIN制御カード(T/P/M)で処理対象を指定し、DAILY_RECORD200B)を読込み、DAILY_RECORDSテーブルにINSERT。社員別月次集計後MONTHLY_ABSENCEにUPSERT。集計結果をABSENCE_SUMMARYファイル(80B)に出力。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | 定義参照先 |
|------|---------------|------|-------------|-----------|--------|-----------|
| KIN08R01 | DAILY-RECORD(日別勤怠) | 順編成 | F (固定長) | 200B | KIN07REC | COPY句定義書.md |
| KIN08S01 | SYSIN(制御カード) | 順編成 | F (固定長) | 80B | - | JCL DD定義 |
| KIN08W01 | ABSENCE-SUMMARY(月次集計) | 順編成 | F (固定長) | 80B | KIN08REC | COPY句定義書.md |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| KIN07REC | DAILY-RECORDR01入力レコード定義) | FILE SECTIONFD R01INNFIL |
| KIN08REC | ABSENCE-SUMMARYW01出力レコード定義) | FILE SECTIONFD W01OUTFIL |
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
| SUB03END | ABEND処理 | 1000ITTSOR(パラメータ不足時)/ 9100DBERRSOR / 9999ABDSOR |
## 使用DB2テーブル
| テーブル名 | 操作種別 | 使用箇所 | SQL種別 |
|-----------|---------|---------|--------|
| DAILY_RECORDS | INSERT | 2000MAJSOR | INSERT |
| MONTHLY_ABSENCE | DELETE/SELECT/INSERT/UPDATE | 3000STPSOR | DELETERESETモード)/ SELECT COUNT / INSERT / UPDATE |
## 処理フロー
1. 初期処理(1000ITTSOR): 開始メッセージ→OPEN SYSIN→SYSIN読込ループ
2. SYSINカード解析(1199-SYSIN-LOOP): GO TO DEPENDING ON でT/P/M分岐
- Tカード(1110-TARGETSOR): UNSTRINGで対象社員一覧を内部表に格納
- Pカード(1120-PERIODSOR): 処理対象年月を設定
- Mカード(1130-MODESOR): MODERESET/NORMAL)を設定
3. 主処理(2000MAJSOR): DAILY-RECORD読込→DAILY_RECORDS INSERT→集計テーブルに累積
4. 終了処理(3000STPSOR): RESET時DELETE→MONTHLY_ABSENCE UPSERT→ABSENCE_SUMMARY出力→COMMIT→CLOSE
## 使用構文(特記事項)
| 構文 | 使用箇所 | 備考 |
|------|---------|------|
| GO TO DEPENDING ON | 1199-SYSIN-LOOP | T/P/Mカードパラグラフ分岐 |
| UNSTRING | 1110-TARGETSOR / 1120-PERIODSOR | カンマ区切り/代入符で文字列分割 |
| INSPECT TALLYING | 2000MAJSOR | 社員番号先頭ゼロ数チェック |
| COMPUTE ROUNDED ON SIZE ERROR | 2000MAJSOR | 丸め+サイズエラー検出 |
| UPSERTSELECT COUNT→INSERT/UPDATE | 3000STPSOR | 月次集計行の存在確認後分岐 |
| OCCURS | WORKING-STORAGE | AGG-ENTRIES(100), TARGET-EMP(100) |
| INITIALIZE | 1000ITTSOR | WRKARA + AGGREGATION-TABLE初期化 |
| EXEC SQL INCLUDE | WORKING-STORAGE | SQLCA(ブリッジ変数) |
| FUNCTION WHEN-COMPILED | 1000ITTSOR | コンパイル日時表示 |
| INSPECT REPLACING | 1130-MODESOR | 'MODE='除去 |