8.222 TRANSFORM_LIST

1つ以上の作業リストの内容をディスク・ファイルに変換します。

この組み込み関数は、Visual LANSAアプリケーションとスプレッドシートなどのその他の製品との間で情報を簡単に転送できるようにするために作成されました。

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

L

必須

ディスク・ファイルに変換される1次作業リストの名前

注:このリストにタイプBinaryまたはVarBinaryのフィールドが含まれている場合、この組み込み関数はエラーで終了します。

 

 

 

 

2

A

必須

この組み込み関数によって置換または作成されるファイルの名前

1

256

 

 

3

A

任意

出力ファイルの形式

A - 通常の区切りファイル

B - DBFファイル

C - 列化されたファイル (数値フィールドは先頭符号付き) (符号あり)

D - 列化されたファイル (数値フィールドに先頭符号なし) (符号なし)

O - コンマ区切りファイル

S – コンマ区切りファイル: 共通 CSV ファイル形式。完全にブランクのフィールドは1 つのブランクとして現されず、無効な文字置換を表す時にのみ、後続ブランクが含まれることを除いてはタイプ O のファイルと全く同じフォーマットです。

T - 水平タブ区切りファイル

出力ファイルの形式がA、C、D、O、S および 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

8.222.1 出力ファイル形式

8.222.2 その他のパラメータ

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