KIN08DBU/KIN09CSV: fix comment col, quoted ASSIGN, INITIALIZE order, WRITE logic; fix resource docs & coverage stats
This commit is contained in:
+16
-15
@@ -3,7 +3,7 @@
|
||||
## プログラム概要
|
||||
- **プログラムID**: KIN09CSV
|
||||
- **プログラム名**: CSV出力処理
|
||||
- **処理概要**: DAILY_RECORDSテーブルをCURSORで読込み、CSV形式に編集して出力。MODE=FULLで日別明細+月次サマリ、MODE=SHORTで月次サマリのみ。100行ごとにヘッダー再出力。
|
||||
- **処理概要**: DAILY_RECORDSテーブルをCURSORで読込み、CSV形式に編集(STRING WITH POINTER)して出力。MODE=FULLで日別明細+月次サマリ、MODE=SHORTで月次サマリのみ。100行ごとにヘッダー再出力。
|
||||
|
||||
## 使用ファイル
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
| サブPGM | 役割 | CALL箇所 |
|
||||
|---------|------|---------|
|
||||
| SUB02MSG | メッセージ編集出力 | 4000MSGOUTSOR |
|
||||
| SUB03END | ABEND処理 | 9999ABDSOR |
|
||||
| SUB03END | ABEND処理 | 1100PARMSOR(YEARMONTH未設定時)/ 9999ABDSOR |
|
||||
|
||||
## 使用DB2テーブル
|
||||
|
||||
@@ -34,24 +34,25 @@
|
||||
| MONTHLY_ABSENCE | SELECT | 2500-SHORT-MODE | DECLARE CURSOR / OPEN / FETCH / CLOSE |
|
||||
|
||||
## 処理フロー
|
||||
1. 初期処理(開始メッセージ→COMMAND-LINE解析→OPEN出力)
|
||||
2. ヘッダー出力(SHIFT JIS CSVヘッダー行)
|
||||
3. 日別明細ループ:DAILY_RECORDS CURSOR OPEN→FETCH→CSV編集(STRING WITH POINTER)→WRITE AFTER ADVANCING 1 LINE
|
||||
4. 100行ごとにヘッダー再出力(WRITE AFTER ADVANCING PAGE)
|
||||
5. MODE=SHORT: MONTHLY_ABSENCE CURSOR OPEN→FETCH→月次サマリCSV出力
|
||||
6. 終了処理(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"解析 |
|
||||
| ACCEPT FROM COMMAND-LINE | 1100PARMSOR | "YEARMONTH=202605,MODE=FULL"解析 |
|
||||
| STRING DELIMITED BY | 2000MAJSOR/2500-SHORT-MODE | CSV行編集(WITH POINTER) |
|
||||
| WRITE AFTER ADVANCING PAGE | 2000MAJSOR | 改ページ+ヘッダー再出力 |
|
||||
| WRITE AFTER ADVANCING 2 LINES | 2500-SHORT-MODE | ヘッダー後改行 |
|
||||
| WRITE AFTER ADVANCING 1 LINE | 2000MAJSOR/2500-SHORT-MODE | データ行改行 |
|
||||
| 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重CURSOR(DAILY→MONTHLY) |
|
||||
| OCCURS | WORKING-STORAGE | TARGET-EMP(100) |
|
||||
| INITIALIZE | 1100PARMSOR/1200-DAILY-OPEN | 変数初期化 |
|
||||
| MOVE CORRESPONDING | 2000MAJSOR | HV → CSV行項目編集 |
|
||||
| INITIALIZE | 1000ITTSOR | WRKARA初期化 |
|
||||
| FUNCTION WHEN-COMPILED | 1000ITTSOR | コンパイル日時表示 |
|
||||
|
||||
Reference in New Issue
Block a user