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

59 lines
3.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.
# KIN09CSV 使用資源一覧
## プログラム概要
- **プログラムID**: KIN09CSV
- **プログラム名**: CSV出力処理
- **処理概要**: DAILY_RECORDSテーブルをCURSORで読込み、CSV形式に編集(STRING WITH POINTER)して出力。MODE=FULLで日別明細+月次サマリ、MODE=SHORTで月次サマリのみ。100行ごとにヘッダー再出力。
## 使用ファイル
| DD名 | ファイル識別子 | 編成 | レコード形式 | レコード長 | COPY句 | 定義参照先 |
|------|---------------|------|-------------|-----------|--------|-----------|
| KIN09W01 | CSV-OUTPUT | 順編成 | F (固定長) | 200B | KIN09REC | COPY句定義書.md |
## 使用COPY句
| COPY句 | 用途 | 使用箇所 |
|--------|------|---------|
| KIN09REC | W01出力レコード定義(CSV-OUTPUT-REC | FILE SECTION |
| ZANMSGAC | メッセージ編集サブPGM連絡領域 | WORKING-STORAGE |
| ZANENDAC | ABENDサブPGM連絡領域 | WORKING-STORAGE |
## 使用サブプログラム
| サブPGM | 役割 | CALL箇所 |
|---------|------|---------|
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
| SUB03END | ABEND処理 | 1100PARMSORYEARMONTH未設定時)/ 9999ABDSOR |
## 使用DB2テーブル
| テーブル名 | 操作種別 | 使用箇所 | SQL種別 |
|-----------|---------|---------|--------|
| DAILY_RECORDS | SELECT | 1200-DAILY-OPEN | DECLARE CURSOR / OPEN / FETCH / CLOSE |
| MONTHLY_ABSENCE | SELECT | 2500-SHORT-MODE | DECLARE CURSOR / OPEN / FETCH / CLOSE |
## 処理フロー
1. 初期処理(1000ITTSOR): 開始メッセージ→ワーク初期化→COMMAND-LINE解析→OPEN出力
2. ヘッダー出力: WRITE AFTER ADVANCING PAGE(改ページ+CSVヘッダー)
3. CURSOR OPEN(1200-DAILY-OPEN): DAILY_RECORDS CURSOR OPEN + 初回FETCH
4. 日別明細ループ(2000MAJSOR): CSV編集(STRING WITH POINTER)→WRITE AFTER ADVANCING 1 LINE
- 100行ごとにヘッダー再出力: WRITE AFTER ADVANCING 2 LINES
- CSV危険文字サニタイズ: INSPECT REPLACING
5. MODE=SHORT(2500-SHORT-MODE): MONTHLY_ABSENCE CURSOR→月次サマリCSV出力
6. 終了処理(3000STPSOR): CLOSE→件数出力→終了メッセージ
## 使用構文(特記事項)
| 構文 | 使用箇所 | 備考 |
|------|---------|------|
| ACCEPT FROM COMMAND-LINE | 1100PARMSOR | "YEARMONTH=202605,MODE=FULL"解析 |
| STRING DELIMITED BY | 2000MAJSOR/2500-SHORT-MODE | CSV行編集(WITH POINTER |
| WRITE AFTER ADVANCING PAGE | 1000ITTSOR | 改ページ+CSVヘッダー初回出力 |
| WRITE AFTER ADVANCING 2 LINES | 2000MAJSOR | 100行ごとのヘッダー再出力時 |
| WRITE AFTER ADVANCING 1 LINE | 2000MAJSOR/2500-SHORT-MODE | データ行・ヘッダー行改行 |
| INSPECT REPLACING | 2000MAJSOR | CSVカンマ・改行サニタイズ |
| DECLARE CURSOR / OPEN / FETCH / CLOSE | 1200-DAILY-OPEN/2500-SHORT-MODE | 2重CURSORDAILY→MONTHLY |
| INITIALIZE | 1000ITTSOR | WRKARA初期化 |
| FUNCTION WHEN-COMPILED | 1000ITTSOR | コンパイル日時表示 |