Page History
9.218 TRANSFORM_FILE
| Note |
|---|
ディスク・ファイルの現在の内容を1つ以上の作業リストに変換します。
...
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 | ||
|---|---|---|---|---|---|---|---|---|---|
1 | L | 必須 | 変換されたファイル・データを受け取る1次作業リストの名前 | ||||||
2 | A | 必須 | 入力データを含んでいるファイルの名前 | 1 | 256 | ||||
3 | A | 任意 | 入力ファイルの形式 A = 通常の区切りファイル デフォルトは、Aです。 次の特殊なテスト・オプションも使用することができます。このオプションは、テストとデバッグの目的にのみ使用し、本番のソフトウェアでは使用しないでください。 CL = 予期される列ファイル(符号あり)のレイアウト 予期される列ファイル(符号あり)のレイアウト 入力ファイルの形式がA、C、D、O、T、CLおよびDLである場合、UTF-8形式をサポートします。これにより、引数(つまり、形式)の2列目に8形式をサポートします。これにより、引数(つまり、形式)の2列目に'U'が置かれることになります。例えば、UTF-8入力を形式Aでした場合、入力ファイルの形式は'AU'になります。形式CLの場合は、'CUL'になります。 | 1 | 3 | ||||
4 | A | 任意 | 英数字フィールドに検出された無効な文字の処理方法 B = ブランク文字で置き換える デフォルトはBです。 | 1 | 1 | ||||
5 | A | 任意 | 復帰(CR)の予期 N = 復帰(CR)を予期しない デフォルトは、Yです。 | 1 | 1 | ||||
6 | A | 任意 | 予期される小数点。使用できる値は、以下のとおりです。 R = 小数点は存在しないため、ロードされるフィールドの定義から暗黙指定される必要があります。ファイル形式CとDに対してのみ有効です。 その他 - 小数点文字として予期される値 デフォルトは、現在システムで定義されている小数点(つまり、'.'または',')です。
| 1 | 1 | ||||
7 | A | 任意 | 入力ファイルのクローズ・オプション Y = 完了時にファイルを閉じる デフォルトはYです。 | 1 | 1 | ||||
8 | A | 任意 | レコード選択オプション N = 比較の必要なし デフォルトはNです。 入力ファイルのタイプがBの場合、このオプションを使用することはできません。 | 1 | 20 | ||||
9 | N | 任意 | レコード選択オプション 比較値と比較される入力レコードの位置。レコードの最初のバイトは、位置1です。 デフォルトは1です。 引数番号8がNに指定されている場合、この引数は無視されます。 | 1 | 制限なし | 0 | 0 | ||
10 | u | 任意 | レコード選択の比較値。レコードは、入力バッファーから読み込まれるとき、(指定の位置で)この値と比較されます。値が保持されているフィールドの長さ分のバイト数が比較されます。 比較が真の場合、レコードは処理されます。偽の場合、レコードはスキップされます。フィールドの全長とその現在の大文字/小文字を使用して、フィールドの現在の値が比較されます。引数番号8がNに指定されている場合、この引数は無視されます。 デフォルトはありません。*DEFAULTを指定した場合、比較は行われません。 | 1 | 256 | ||||
11 - 20 | L | 任意最大10個の「付属」の作業リストを指定することができます。詳細については、以下の「技術上の注記」を参照してください。 | 最大10個の「付属」の作業リストを指定することができます。詳細については、以下の「技術上の注記」を参照してください。 1 次作業リストがRDMLリストの場合のみ有効です。 |
...
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 戻りコード OK – ファイル・データが変換された。 EF - ファイルはリストに変換された。リストがオーバーフローする前に入力ファイルの終わりに到達した OV - ファイルはリストに変換された。入力ファイルの終わりに到達する前に、リストがオーバーフローした。 FE - 形式エラー。例えば、入力ファイル形式をUTF-8 と指定したが、ファイルがUTF-16である場合。 ER - ファイルを開くときにエラーが発生した。 | 2 | 2 |
| Anchor | ||||
|---|---|---|---|---|
|
ファイル名
詳細については、「TRANSFORM_LIST」の「9.219.1 出力ファイル形式」を参照してください。
入力ファイルの形式
詳細については、「TRANSFORM_LIST」の「9.219.1 出力ファイル形式」を参照してください。
特殊なオプションCLとDLは、テストとデバッグの目的にのみ使用することができます。このオプションを本番のソフトウェアでは使用しないでください。使用した場合、このオプションによって指定のリストは読み取られません。代わりに、レイアウトの詳細が準備され、入力ファイルの予期されるレアウトが、ファイル・パラメータで指定されたファイルに実際に書き込まれます。指定のファイルが存在しない場合、ファイルが作成されます。指定のファイルが存在する場合、そのファイル内の既存のデータがすべて消去されてから、レイアウトの詳細が書き込まれます。レイアウト・ファイルは生成されると、標準のテキスト・エディターで表示することができます。この情報によって、実際の入力データ・ファイルのレコード・レイアウトとこの組み込み関数が予期するレイアウトを比較することができます。このような比較によって、フォーマットに関する問題を見つけることができます。
Alpha、Char、String、BLOB、CLOBフィールドでの無効文字の処理
TRANSFORM_LISTの「9.219.1 出力ファイル形式」に記載されている「Alpha、Char、String、BLOB、CLOB フィールドでの無効文字の処理」を参照してください。同じルールが適用されますが、適用されるのは、出力ファイルのフィールドに対してではなく、作業リストのフィールドです。
...
TRANSFORM_LISTによってバイナリー・データをファイルに出力するには、組み込み関数「9.9 BINTOHEX9.9 BINTOHEX 」を使用して英数字文字列に変換してから、結果をTRANSFORM_LISTで出力する方法が最善です。
データを取得するには、TRANSFORM_FILEを使用してデータを読み取ってから、「9.115 HEXTOBIN 9.115 HEXTOBIN」を使用してデータを元の形式に変換して戻します。
小数点文字
...
if (substring(<record>,<position>,<length>) <operation> <value>)
表記の説明:
- <record> は、現在のレコードです。
- <position> は、引数9の位置です。
- <length> は、引数10のフィールドの長さです。この<length>は、256バイト以下でなければなりません。
- <operation> は、引数8の演算です。
- <value> は、引数10のフィールドの値です。
式が真の場合、レコードは選択されます。式が偽の場合、レコードは無視されます。
...
この組み込み関数を呼び出すとき、最大10個の付属作業リストを指定することができます。付属リストは、入力ファイルが100を超えるフィールドを含んでいる場合、またはリストの合計エントリー長が256バイトを超える場合に使用することができます。
付属リストの詳細については、組み込み関数「9.219 TRANSFORM_LIST9.219 TRANSFORM_LIST 」を参照してください。「付属オプション」フィールドの概念は、この組み込み関数には関係ありません。付属リストに定義されるフィールドはすべて、1次リスト(引数1)を論理的に拡張したものとして処理されます。付属作業リストの最大エントリー数は、1次リストに許可された数と同じにする必要があります。
...
標準的なエラー処理を行う組み込み関数を生成されるアプリケーションに組み入れて、問題に対処するようにしてください。ユーザー定義のエラー処理ロジックが非常に複雑になったために全RDMLコードの40から50%を占有するようなケースもあります(アプリケーションには何のメリットもありません)。このような事態に陥らないようにしてください。
| Note |
|---|
特別注記: 注記事項: 結果リストのBLOB、CLOBフィールド値 結果リストのBLOB、CLOBフィールド値 BLOB(またはCLOB)フィールドは、ファイル名だけを保持します。ファイル名の値が<ドライブ>:\ <パス>\<ファイル>.<接尾辞>の場合、BLOB (またはCLOB)ファイル自体は、サブディレクトリ<ドライブ>:\ <パス>\<ファイル>_LOB\にあります。 |
...
変換されたファイルからBLOB値BLOBNumber1.txtを取得するには、次を使用します。
C:\Root\Data\Transformed1.dat
この場合、BLOBファイルは以下の場所に存在しなければなりません。
C:\Root\Data\Transformed1_LOB\BLOBNumber1.txt
変換されたファイルがTRANSFORM_LISTによって作成されていない場合、BLOB(またはCLOB)ファイルを複製する必要はありません。この場合、BLOB(またはCLOB)の値には、フル・パスを入れる必要があります。
例えば、BLOBNumber1.txtというBLOBファイルがC:\Data\にあり、このBLOBファイルを複製しない場合、変換されたファイルのBLOBフィールドの値は、C:\Data\BLOBNumber1.txtでなければなりません。
例
「9.219 TRANSFORM_LIST 9.219 TRANSFORM_LIST」を参照してください。