59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
# CSV→FB変換 データ生成規則
|
||
|
||
## 概要
|
||
|
||
CSV形式の入力ファイルを読み取り、固定長(FB)レコードに変換して出力するプログラムのテストデータ。
|
||
CSVのカンマ区切り分解、引用符内改行処理、項目チェックを含む。改行なし(STRING合并、CF-N001)と改行あり(改行展開、CF-N002)の両方の変換方式に対応する。
|
||
|
||
本规则定义4组数据,覆盖正常、异常、引用符・改行、空項目・最大長。
|
||
|
||
## 输入
|
||
|
||
- 入力CSVの項目定義(処理詳細から特定)
|
||
- 出力COPYBOOKのフィールド定義
|
||
|
||
## 生成データ組
|
||
|
||
| 组 | 用途 | 内容 |
|
||
|----|------|------|
|
||
| 1 | 正常データ | 全項目が正しいCSVレコード 3〜5件。異なる値のバリエーションを確保。改行なし変換(STRING合并、CF-N001)のケースを含む |
|
||
| 2 | 異常データ | 項目数不足、項目数過剰、不正な値、改行位置がRECORD長超過(CF-A001)、引用符未閉じ(CF-A002)のレコード |
|
||
| 3 | 引用符・改行(CF-N002〜N004) | 改行展開(1行入力→複数行出力)、項目内カンマ引用符付き、引用符内改行保持 |
|
||
| 4 | 空項目・最大長(CF-N005/N006) | 連続カンマ→空文字列処理、各項目がPIC定義ギリギリの最大長 |
|
||
|
||
### 组1:正常データ
|
||
|
||
全項目が正しいCSVレコード。値をPIC定義に従い生成し、隣接レコード間で異なる値のバリエーションを確保。
|
||
|
||
### 组2:異常データ
|
||
|
||
- 項目数不足・項目数過剰
|
||
- 不正な値(フォーマット違反)
|
||
- 改行位置がRECORD長超過(CF-A001: 改行展開後1行が定義長を超える)
|
||
- 引用符未閉じ(CF-A002: 閉じ"がない→残り全部1項目)
|
||
|
||
### 组3:引用符・改行(CF-N002〜N004)
|
||
|
||
- 有换行(改行展开): 1行入力→複数行出力(改行位置)
|
||
- 項目内カンマ引用符付き(CF-N003)
|
||
- 引用符付き文字列(CF-N004): "..."内のカンマ/改行を保持
|
||
|
||
### 组4:空項目・最大長(CF-N005/N006)
|
||
|
||
- 空項目連続カンマ→空文字列処理(CF-N005)
|
||
- 全項目最大長(CF-N006): 各項目がPIC定義ギリギリ
|
||
|
||
## データ生成手順
|
||
|
||
1. CSVの項目数と項目名を処理詳細から特定
|
||
2. 正常データ: カンマ区切りCSV行文字列を生成。値はPIC定義に従う
|
||
3. 異常データ: 項目数不一致、空値、不正フォーマット、改行位置超過、引用符未閉じを含む
|
||
4. 引用符・改行データ: 引用符内カンマ・改行、改行展開を含む
|
||
5. 空項目・最大長データ: 連続カンマと各項目最大長を含む
|
||
|
||
## 出力
|
||
|
||
入力はCSV文字列(カンマ区切り)として1フィールドに格納。每组输出1个JSON文件:`{プログラムID}_g{groupId}.json`
|
||
|
||
组数约束:输出组数必须与本规则定义的4组一致(g1〜g4),组号连续从1开始。禁止添加本规则未定义的组,禁止缺组。
|