可変長 コネクターのメッセージおよび制限事項

 

オペレーションについては「可変長」(オペレーショントップページ)を参照してください。

VARLENGTHカテゴリのメッセージコード一覧

可変長 Connectorで発生するエラーに対応するメッセージコードです。

 

VARLENGTH0000E

定義されていないエラーが発生した場合に出力されるメッセージコードです。

原因

対策

定義されていないエラーが発生しました。

エラーメッセージやエラーが発生した処理のヘルプなどを確認してください。

対応するエラー

  • 特になし

 

VARLENGTH0001E

可変長ファイルの解析に失敗した場合に出力されるメッセージコードです。

原因

対策

可変長ファイル読み取り処理のファイルに指定されたファイルをフォーマットで読み取れません。

可変長ファイル読み取り処理のファイルまたはフォーマットを確認してください。

対応するエラー

  • StructuredTextParseException

 

VARLENGTHカテゴリの例外メッセージ

例外名

原因

対策

ArrayIndexOutOfBoundsException

フォーマットで指定した列一覧のフィールド数が、入力元XMLデータのカラム数より大きい可能性があります。

フォーマットで指定した列一覧のフィールド数または、入力元XMLデータのカラム数を確認してください。

FileAlreadyExistedException

ファイルに指定されたファイルがすでに存在します。

ファイルのファイル名を変更する、または書き込み設定上書きにチェックを入れてください。

FileIsDirectoryException

ファイルに入力されたパスがディレクトリーです。

ファイルにはファイルパスを入力してください。

FileIsLockedException

ファイルに指定されたファイルがロックされています。

エクスプローラやCLIからロックの解除を行ってください。

InputDataNotFoundException

入力データが指定されていません。

入力データを指定する、またはデータフローを引いてください。

InvalidPropertyConfigurationException

<プロパティ名>が指定されていません。

<プロパティ名>が指定されていません。

<プロパティ名>を指定してください。

java.io.FileNotFoundException

ファイルに指定されたファイルが存在しません。

ファイルを確認してください。

java.io.FileNotFoundException

別のプロセスが使用中です。

ファイルに指定されたファイルが別のプロセスによって使用されています。

別のプロセスで使用されていないかを確認してください。

java.io.UnsupportedEncodingException

エンコードにサポートされていないエンコードが指定されています。

Java SE Runtime Environment 8でサポートされているエンコードを指定してください。

= 備考 =

詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。

ResourceNotFoundException

リソース定義が見つかりませんでした。名前:[]

フォーマットが指定されていません。

フォーマットを指定してください。

ResourceNotFoundException

リソース定義が見つかりませんでした。名前:[<データ形式リソース名>]

フォーマットで選択されたリソース定義が見つかりません。

フォーマットで指定したデータ形式リソースを確認してください。

StructuredTextParseException

指定されたフォーマットでファイルを読めませんでした。

ファイルに指定されたファイルをフォーマットで読み取れません。

ファイルまたはフォーマットを確認してください。

 

VARLENGTHカテゴリの制限事項

可変長ファイル読み取り処理

仕様制限

  • 命名規則について

    • 同じ親要素を持つ要素同士で同じ名前のもの存在する場合、正常に読み取ることはできません。

      具体的には以下の要素同士が該当します。

      • グループ

      • 構造定義アイコン直下のレコード

      • 同一グループ内のレコード

      • 同一レコード内のフィールド

    • フィールド・レコード・グループの名前は省略できません。

  • グループ・レコードの出現回数について

    • グループの出現回数無制限の場合、そのグループに対応する入力データが出現した際、次のグループを使用した入力データの解析を最初に行い、適用可能かどうか調べます。適用可能であれば、次のグループが適用されます。適用不可能であれば、そのグループを使用した解析に移ります。

    • レコードの出現回数無制限の場合、そのレコードに対応する入力データが出現した際、そのレコードを使用した入力データの解析を最初に行い、適用可能かどうか調べます。適用可能であれば、そのレコードを使用した解析を行い続けます。適用不可能であれば、次のレコードを使用した解析に移ります。

    • レコード・グループの出現回数無制限に設定すると、実際にはJavaのInteger.MAX_VALUEの値(2147483647)が上限になっています。

    • グループの出現回数省略可チェックありの場合、実際のグループの出現回数が指定した出現回数に満たなくてもエラーにはなりません。

    • レコードの出現回数省略可チェックありの場合、実際のレコードの出現回数が指定した出現回数に満たなくてもエラーにはなりません。

  • 日付型のフィールドについて

    • 日付に現れる曜日などの文字列は、デフォルトのロケールに依存したものになります。デフォルトのロケールでは読み取れない日付を扱う場合は、文字列として読み取るようにしてください。

  • 大容量データ処理について

    • 読み込んだデータはグループ単位で出力されます。したがって、グループ内のレコードのデータが大容量の場合、OutOfMemoryErrorが発生する場合があります。

  • その他

    • 外字は扱えません。

    • 列一覧にあるフィールドを構造定義で削除した場合、列一覧にはフィールドは残ったままになります。

    • 構造定義でグループを選択して列一覧にフィールドを追加した場合、フィールドの順序は保証されません。

    • タグ、改行コードがない出現回数不特定なデータは、構造解析を切り替える基準が判定できないため正確な解析はできません。

    • 実行ログに出力される「トランザクション」とは、グループの構造をまとめるために暗黙的に定義されたものであり、出現回数は無制限となります。

可変長ファイル書き込み処理

仕様制限

  • 外字は扱えません。

  • BOM(Byte Order Mark)の読み取りはできません。

  • 列一覧で定義したフィールド数が入力元のXMLデータのカラム数より少ない場合、列一覧で定義したフィールド数のデータしか書き込まれません。

  • 列一覧で定義したフィールド数が入力元のXMLデータのカラム数より多い場合、エラーが発生し書き込むことができません。

  • nullが入力された場合は、空文字として書き込みます。

  • 構造定義ツリーのノード値は、ダブルクリックで編集を行うことができます。

  • 構造定義ツリーで、ノードの追加、削除、コピーはできません。

  • 実行ログに出力される「トランザクション」とは、グループの構造をまとめるために暗黙的に定義されたものであり、出現回数は無制限となります。

  • 同じ親要素を持つ要素同士で同じ名前のものが存在する場合、正常に書き込むことはできません。

    具体的には以下の要素同士が該当します。

    • グループ

    • 構造定義アイコン直下のレコード

    • 同一グループ内のレコード

    • 同一レコード内のフィールド

可変長ウィザード

仕様制限

  • 外字は扱えません。

  • グループはそれぞれ自分自身を含めることはできません(入れ子にすることはできません)。グループの構成要素はレコードのみです。

  • 同じ親要素を持つ要素同士は、同じ名前を付けることはできません。

    具体的には以下の要素同士が該当します。

    • グループ

    • 構造定義アイコン直下のレコード

    • 同一グループ内のレコード

    • 同一レコード内のフィールド

  • タグは文字列として扱います。それ以外の型を選択することはできません。

  • ファイルの最終行が空行の場合は無視します。

  • 日付に現れる曜日などの文字列は、デフォルトのロケールに依存したものになります。デフォルトのロケールでは読み取れない日付の場合は文字列として読み取るようにしてください。

  • グループの出現回数無制限の場合、そのグループに対応する入力データが出現した際、次のグループを使用した入力データの解析を最初に行い、適用可能かどうか調べます。適用可能であれば、次のグループが適用されます。適用不可能であれば、そのグループを使用した解析に移ります。

  • レコードの出現回数無制限の場合、そのレコードに対応する入力データが出現した際、そのレコードを使用した入力データの解析を最初に行い、適用可能かどうか調べます。適用可能であれば、そのレコードを使用した解析を行い続けます。適用不可能であれば、次のレコードを使用した解析に移ります。

  • レコード・グループの出現回数無制限に設定すると、実際にはJavaのInteger.MAX_VALUEの値(2147483647)が上限になっています。

  • グループの出現回数省略可チェックありの場合、実際のグループの出現回数が指定した出現回数に満たなくてもエラーにはなりません。

  • レコードの出現回数省略可チェックありの場合、実際のレコードの出現回数が指定した出現回数に満たなくてもエラーにはなりません。

  • 列一覧にあるフィールドを構造定義で削除した場合、列一覧にはフィールドは残ったままになります。

  • 構造定義でグループを選択して列一覧にフィールドを追加した場合、フィールドの順序は保証されません。

  • 列一覧にフィールドの順番は、構造定義の上から出現するフィールドの順番にしたがいます。列一覧でフィールドの順番を入れ替えると正しく読み取ることができません。

  • あるグループ(Aグループ)と同階層でかつ下に位置するレコード(Aレコード)を持つ構造定義をエクスポート/インポートすると、AレコードはAグループの子要素となります。

    例:

  • 「[」や「]」などの正規表現ではエスケープが必要な文字は、グループ名、レコード名、フィールド名に使用することができません。

可変長書き込みウィザード

仕様制限

  • 外字は扱えません。

  • フィールドの名前は省略できません。

  • タグは文字列として扱います。それ以外の型を選択することはできません。

  • 列一覧で定義したフィールドの数が入力元のXMLデータのカラム数より少ない場合、列一覧で定義したフィールドの数のデータしか書き込まれません。

  • 列一覧で定義したフィールドの数が入力元のXMLデータのカラム数より多い場合、エラーが発生し書き込むことができません。

  • あるグループ(Aグループ)と同階層でかつ下に位置するレコード(Aレコード)を持つ構造定義をエクスポート/インポートすると、AレコードはAグループの子要素となります。

    例:

  • 「[」や「]」などの正規表現ではエスケープが必要な文字は、グループ名、レコード名、フィールド名に使用することができません。

  • スラッシュ(「/」)は、フィールド名に使用することができません。

  • 同じ親要素を持つ要素同士は、同じ名前を付けることはできません。

    具体的には以下の要素同士が該当します。

    • グループ

    • 構造定義アイコン直下のレコード

    • 同一グループ内のレコード

    • 同一レコード内のフィールド