9.231 TRANSFORM_LIST
1つ以上の作業リストの内容をディスク・ファイルに変換します。
この組み込み関数は、Visual LANSAアプリケーションとスプレッドシートなどのその他の製品との間で情報を簡単に転送できるようにするために作成されました。
各製品の対応
LANSA/AD |
使用可 |
RDMLX のみで使用可能 |
Visual LANSA for Windows |
使用可 |
|
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
L |
必須 |
ディスク・ファイルに変換される1次作業リストの名前 注:このリストにタイプBinaryまたはVarbinaryのフィールドが含まれている場合、この組み込み関数はエラーで終了します。 |
||||
2 |
A |
必須 |
この組み込み関数によって置換または作成されるファイルの名前 |
1 |
256 |
||
3 |
A |
任意 |
出力ファイルの形式 B - DBFファイル (IBM iでは使用不可) C - 列化されたファイル (符号あり) D - 列化されたファイル(符号なし) 出力ファイルの形式がA、C、D、O、およびTである場合、UTF-8形式をサポートします。これにより、引数(つまり、形式)の2列目に'U'が追加されることになります。例えば、UTF-8出力を形式Aでした場合、出力ファイルの形式は'AU'になります。 デフォルトは、Aです。 |
1 |
3 |
||
4 |
A |
任意 |
英数字フィールドに検出された無効な文字の処理方法 B - ブランク文字で置き換える I - 無視する。文字は含んだままにする R - 出力から削除する デフォルトは、Bです。 |
1 |
1 |
||
5 |
A |
任意 |
各レコードの終わりに復帰(CR)を追加するかどうかを指定 N- 復帰(CR)を追加しない T - 復帰(CR)を追加し、レコードの終わりからすべてのブランク・データを切り捨てる Y = 復帰(CR)を追加する デフォルトは、Yです。 |
1 |
1 |
||
6 |
A |
任意 |
使用される小数点使用できる値は、以下のとおりです。 R - すべての数値表記から小数点を削除する。これによって、小数点のある数値フィールドの長さは1文字短くなります。ファイル形式CとDに対してのみ有効です。 その他 - 小数点文字として使用される値 デフォルトは、現在システムに定義されている小数点(つまり、'.'または',')です。 注:ヨーロッパ形式の','小数点を使用すると、フィールドを区切るためにコンマを使用するファイル形式で問題が発生する可能性があります。 |
1 |
1 |
||
7 |
A |
任意 |
Y = 完了時にファイルを閉じる N- 完了時にファイルを閉じない デフォルトは、Yです。 |
1 |
1 |
||
8 - 17 |
L |
任意 |
最大10個の付属作業リストを指定することができます。詳細については、以下の「技術上の注記」を参照してください。 1 次作業リストがRDMLリストの場合のみ有効です。 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
戻りコード OK - ファイルは作成された ER - ファイルを開くときにエラーが発生した。「その他のパラメータ」を参照してください。 |
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 |