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

3.0 KiB
Raw Permalink Blame History

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 コンパイル日時表示