機能利用時の注意点
-
レコード読み込み時にレコードの終了位置がずれて認識された場合、以降のデータがすべて不正なデータとして扱われ、大量のエラーレコードおよびエラースキップ結果がファイルに出力される可能性があります。レイアウト情報から外れたデータが存在した場合、不正なデータの終端位置を判断する方法がないため、このような問題が生じる可能性があります。 問題となるケースを次に示します。大量にエラーレコードおよびエラースキップ結果が出力された場合、該当しないか確認してください。
- 入力ファイルがフォーマット形式、マルチフォーマット形式の場合
-
以下のいずれかの条件に該当する場合、以降のレコード開始位置がすべてずれて認識されます。
-
固定長の項目に対して、レコードサイズが定義したサイズと異なるデータが存在する。
-
可変長の項目に対して、デリミタが適切に設定されていないデータが存在する。
-
-
エラーデータのスキップが発生した場合、変数のロールバック処理は行われません。 例えば、変数に入力レコードの値を加算した後に、続く抽出処理でスキップ対象エラーが発生した場合、該当レコードは正常系の出力ファイルにアウトプットされません。ただし、変数の値は該当レコードの処理を正常に処理した場合と同様の値になったまま次の処理に引き継がれます。
また、複数の変数に値が格納されるケースで、その途中にスキップ対象エラーが発生した場合、途中まで変数に格納された値は、そのまま次の処理に引き継がれます。 このため、エラーデータスキップ機能を使用する場合は、変数にレコードを跨いだ値を代入しないことを推奨します。