注意: 9.1 組み込み関数の規則 利用オプション
1つ以上の作業リストの内容をディスク・ファイルに変換します。
この組み込み関数は、Visual LANSAアプリケーションとスプレッドシートなどのその他の製品との間で情報を簡単に転送できるようにするために作成されました。
引数
|
戻り値
|
技術上の注記 - 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 |