9.219 TRANSFORM_LIST
注意: 9.1 組み込み関数の規則 利用オプション
1つ以上の作業リストの内容をディスク・ファイルに変換します。
この組み込み関数は、Visual LANSAアプリケーションとスプレッドシートなどのその他の製品との間で情報を簡単に転送できるようにするために作成されました。
以下も参照してください。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | L | 必須 | ディスク・ファイルに変換される1次作業リストの名前 注:このリストにタイプBinaryまたはVarBinaryのフィールドが含まれている場合、この組み込み関数はエラーで終了します。 | ||||
2 | A | 必須 | この組み込み関数によって置換または作成されるファイルの名前 | 1 | 256 | ||
3 | A | 任意 | 出力ファイルの形式 C - 列化されたファイル (数値フィールドは先頭符号付き) (符号あり) D - 列化されたファイル (数値フィールドに先頭符号なし) (符号なし) S – コンマ区切りファイル 無効な文字処理のメソッドが R の場合、無効な文字列のブランクがないことを除いては、タイプ O のファイルと全く同じフォーマットです。 出力ファイルの形式がA、C、D、O、S および T である場合、UTF-8形式をサポートします。これにより、引数(つまり、形式)の2列目に'U'が追加されることになります。例えば、UTF-8出力を形式 O にした場合、出力ファイルの形式は 'OU' になります。 注:CU および DU の列幅は、UTF-8 が必要とする追加バイトに対応するため、フィールド幅の倍になっています。 デフォルトは、Aです。 | 1 | 3 | ||
4 | A | 任意 | 英数字フィールドに検出された無効な文字の処理方法 B - ブランク文字で置き換える デフォルトは、Bです。 | 1 | 1 | ||
5 | A | 任意 | 各レコードの終わりに復帰(CR)を追加するかどうかを指定 N- 復帰(CR)を追加しない デフォルトは、Yです。 | 1 | 1 | ||
6 | A | 任意 | 使用される小数点 。使用できる値は、以下のとおりです。 R - すべての数値表記から小数点を削除する。これによって、小数点のある数値フィールドの長さは1文字短くなります。ファイル形式CとDに対してのみ有効です。 その他 - 小数点文字として使用される値 デフォルトは、現在システムに定義されている小数点(つまり、'.'または',')です。 注:ヨーロッパ形式の','小数点を使用すると、フィールドを区切るためにコンマを使用するファイル形式で問題が発生する可能性があります。 | 1 | 1 | ||
7 | A | 任意 | Y = 完了時にファイルを閉じる デフォルトは、Yです。 | 1 | 1 | ||
8 - 17 | L | 任意 | 最大10個の 付加作業リスト を指定することができます。詳細については、以下の「技術上の注記」を参照してください。 1 次作業リストがRDMLリストの場合のみ有効です。 |
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 戻りコード OK - ファイルは作成された 「戻りコード - エラー処理およびエラー操作」を参照してください。 | 2 | 2 |
技術上の注記 - TRANSFORM_LIST
SQLNULL処理
フィールドがSQLNULLの場合、同等の*NULLが出力されます。
BLOB値およびCLOB値の特別処理
出力ファイルにはBLOB/CLOBファイルの完全名が保存されます。BLOB/CLOBファイルそのものは出力ファイル・ディレクトリの下のサブディレクトリに複製されます。このサブディレクトリの名前は、<出力ファイル名>_LOBです。例えば以下のようになります。
出力ファイルがC:\Root\Data\Transformed1.datで
オリジナルのCLOBファイルがC:\XYZ\ CLOBNumber1.txtの場合、
複製されるCLOBファイルは以下のようになります。
C:\Root\Data\Transformed1_LOB\CLOBNumber1.txt
Transformed1.datのCLOB値は
C:\XYZ\ CLOBNumber1.txtになります。
Transformed1.datを他のシステムに移動(またはコピー)する場合は、サブディレクトリのTransformed1_LOBとその内容もすべて移動またはコピーします。
例
次の例は、既存のSQLテーブルの内容をディスク・ファイルに保存ができ、またディスク・ファイルの内容をSQLテーブルに挿入することができるファンクション(つまりSQLテーブルの保存/復元ファンクションです)の概要です。
def_list #list fields(....) listcount(#count) type(*working) entrys(100)
request fields (#option and name of disk file involved)
if (#option = SAVE)
select fields(...) from_file(...)
add_entry #list
if (#count = 100)
use TRANSFORM_LIST #list (with "do not close" option)
clr_list #list
endif
endselect
use TRANSFORM_LIST #list (with "close" option)
else (#option was RESTORE)
dowhile (#retcode *ne EF)
use TRANSFORM_FILE into #list (with "do not close" option)
execute insertlist
endwhile
execute insertlist
endif
subroutine insertlist
selectlist #list
insert fields(...) to_file(....)
endselect
clr_list #list
endroutine
CONNECT_SERVERとCONNECT_FILE組み込み関数を追加すれば、簡単にこのファンクションを拡張できて、次の表に記載された「データ転送」に対応することができます。
データ・ターゲット | <- - - - - - - - - - - - | データ・ソース | - - - - - - - - - - - -> |
PC SQLテーブル | PCディスク・ファイル | IBM iファイル | |
PC SQLテーブル | N/A | あり | あり |
PC ディスク・ファイル | あり | N/A | あり |
IBM iファイル | あり | あり | N/A |