# 振り分け データ生成規則 ## 概要 単一の入力ファイル(CSVまたは固定長)を読み取り、条件分岐に基づいて複数の出力ファイルに振り分けるプログラムのテストデータを生成する。 ## 入力 - 詳細設計書の処理詳細(分岐条件と出力先の対応) - 入力ファイルのCOPYBOOKフィールド定義 ## 生成データ組 | 组 | 用途 | 内容 | |----|------|------| | 1 | 全分支カバー | すべての分岐条件をカバーするデータ。各出力先に最低1件ずつ振り分けられるようにする。 | ## データ生成手順 1. **分岐条件の特定**: 処理詳細からすべての分岐条件とそれに対応する出力先を抽出する 2. **分岐パターンの列挙**: 正常系(検証通過→正常出力)と異常系(エラー→ERROR-LOG)の全パターンを列挙 3. **データ生成**: - 各分岐パターンに最低1件のレコードを生成 - フィールド値はPIC定義に従い生成 - 正常系データ: 全チェックを通過する有効な値 - 異常系データ: 該当するチェックに引っかかる値(不正な日付、不正な時刻、範囲外の値など) 4. **値のルール**: - PIC X(n): 左詰め・スペース埋め - PIC 9(n): 右詰め・先行ゼロ - DATE/日付系: 実在しそうな日付(YYYYMMDD形式)、異常系では不正な日付(99999999等) - TIME/時刻系: 実在しそうな時刻(HHMM形式)、異常系では範囲外の時刻 - STATUS系: 0/1/9 などのコード値 - CSV項番号フィールド: 分割後の項目数 5. **出力**: 1組 = 1 JSONファイルに全レコードを格納 ## 出力形式 ```json { "program": "ZAN01CHK", "records": [ { "input": { "DD名": { "フィールド名": "値", ... } } } ] } ``` 各レコードが1回の処理に対応。正常系→異常系→特殊分岐の順に並べる。