WRITE

LANSA Integrator

WRITE


WRITEコマンドは、作業リスト(SVTABLEキーワードを使用する場合はテーブル)から情報を選択し、FILEキーワードで指定された区切り変数ファイルにその情報を保存します。

ローカル・ファイル・システムにファイルを書き込むには、FILEキーワードのみが必要です。

FTPプロトコルを使用してリモート・ファイル・システムにファイルを書き込むには、HOSTキーワードと適切なUSER、PASSWORD、およびリモート・サーバーのアクセス詳細が必要です。

サービスでは、Unicode内容からバイト内容への変換に適用されるエンコーディングを決定し、Unicodeデータを保管する必要があるかどうかを判断します。

                                                           必須

 WRITE --------- FILE -----------ファイル・パス---------------------->

                                                        条件付

             >-- HOST -----------ホスト:ポート---------------------->

             >-- USER -----------値-------------------------->

             >-- PASSWORD -------値-------------------------->

             >-- NAMEFMT --------なし--------------------------->

                                  0

                                  1

             >-- DATALINK ------- *PASV -------------------------->

                                  *PORT

             >-- MODE ----------- *BINARY ------------------------>

                                  *ASCII

                                                           任意

             >-- CONTENT -------- *CSV --------------------------->

                                  *TSV

                                  *SV

             >-- SEPARATOR ------値-------------------------->

                                  *COMMA

                                  *SEMICOLON

                                  *TAB

                                  *TILDE

             >-- ENCODING ------- *DEFAULT ----------------------->

                                  値

             >-- SVQUOTE -------- *NONE -------------------------->

                                  *TEXT

                                  *ALL

             >-- SVHEAD ---------値-------------------------->

             >-- SVEXCLUDE ------値-------------------------->

             >-- SVLABEL --------値-------------------------->

             >-- SVTABLE --------テーブル名--------------------->

             >-- SVCOLUMN -------値-------------------------->

             >-- APPEND --------- *YES --------------------------->

                                  *NO

             >-- NUMBERFORMAT --- *NONE -------------------------->

                                  *DEFAULT

                                  *CLIENT

                                  *USERAGENT

                                  値

             >-- ARCHIVE --------ファイル・パス----------------------|

キーワード

FILE

パスとファイル名を指定します。

この値は相対パスまたは絶対パスになります。パスが相対パスの場合、現在の作業ディレクトリはJSMインスタンス・ディレクトリになります。

HOST

HOSTキーワードは、リモート・ファイル・システムから読み込む場合にのみ必要です。

接続先のFTPサーバーを指定します。FTPサーバーは、IPアドレスnnn.nnn.nnn.nnn:ポート、またはドメイン名で指定できます。

IPアドレスにポート番号を指定しない場合、キーワードSECURE (*IMPLICIT)を使用しない限り省略値21が使用されます。キーワードSECURE (*IMPLICIT)が使用される場合の省略値のポート値は990です。

USER

USERキーワードは、リモート・ファイル・システムから読み込む場合にのみ必要です。

PASSWORD

PASSWORDキーワードは、リモート・ファイル・システムから読み込む場合にのみ必要です。

USERキーワードに対応するデータベース・サーバーのパスワード

NAMEFMT

NAMEFMTキーワードは、リモート・ファイル・システムから読み込む場合にのみ有効です。

値が0の場合、IBM i のパス名形式library/file.memberが使用されます。

値が1の場合、Windowsのパス名形式/directory/directory/fileが使用されます。

DATALINK

DATALINKキーワードは、リモート・ファイル・システムから読み込む場合にのみ有効です。

可能な値は*PASV (パッシブ)または*PORT (ポート)です。*PASVが省略値です。

MODE

MODEキーワードは、リモート・ファイル・システムから読み込む場合にのみ有効です。

省略値は*BINARYです。必要に応じて値*ASCIIを使用します。

CONTENT

省略値では、指定したファイルは*CSVで処理されます。

あるいは、タブ区切り変数(*TSV)、または区切り文字キーワードに指定した変数区切り(*SV)で内容を処理することができます。区切り文字変数を含む内容を処理する場合の追加処理オプションについては、「SEPARATOR」「SVHEAD」「SVMODE」「SVTABLE」「SVCOLUMN」「SVLABEL」「NUMBERFORMAT」「TRIM」「TRUNCATE」の各キーワードを参照してください。

内容の保管に使用される作業リストは、データの保管に適した列数で定義する必要があります。

SEPARATOR

キーワードSEPARATORでは、区切り文字として使用する文字を指定します。内容が*CSVまたは*TSVで表される場合、区切り文字を定義する必要はありません。

SEPARATORキーワードがあり、CONTENTキーワードを指定しない場合、CONTENT(*SV)が前提となります。

詳細については、「SEPARATOR」を参照してください。

ENCODING

ENCODINGは、バイト内容からUnicode文字列への変換に適用されるエンコーディングを指定する場合に使用されます。ENCODINGキーワードの省略値は*DEFAULTです。

詳細については、「ENCODING」を参照してください。

APPEND

APPENDは、内容を既存のローカル・ファイルに追加する場合に使用されます。APPENDキーワードの省略値は*NOです。

SVQUOTE

任意のキーワードSVQUOTEは、値に二重引用符 (")を付けるために使用されます。SVQUOTEの省略値は*NONEです。*ALLの値は全ての値が二重引用符で囲まれます。*TEXTはテキスト値のみに二重引用符が付けられます。

SVHEAD

オプションのキーワードSVHEADは、区切り値データのフィールド・レイアウトの記述に使用されます。

詳細については、「SVHEAD」を参照してください。

SVEXCLUDE

オプションのキーワードSVEXCLUDEは、作業リスト・データからフィールドを除外する場合に使用されます。値は、1つ以上のコンマ区切り作業リストのフィールド名になります。

詳細については、「SVEXCLUDE」を参照してください。

SVTABLE

SVTABLEキーワードがある場合、現在のデータベース接続を使用して指定のテーブルからデータが選択されます。SVTABLEに値を指定しない場合、ファイル・データは作業リスト引数から取り出されます。

詳細については、「SVTABLE」を参照してください。

SVCOLUMN

SVCOLUMNが使用されるのは、SVTABLEキーワードと組み合わせる場合のみです。SVCOLUMNは、値サービスを区切り、リレーショナル・データベースの列を定義します。

sv.column.{値}を使用して、サービス・プロパティ・リソースの検索が行われます。

詳細については、「SVCOLUMN」を参照してください。

SVLABEL

SVLABELが使用されるのは、SVTABLEキーワードと組み合わせる場合のみです。SVLABELは、データベース・テーブル挿入の場合は最初の列値として、データベース・テーブル選択の場合はwhere制約としてキーワード値を含める場合に使用されます。

詳細については、「SVLABEL」を参照してください。

NUMBERFORMAT

オプションのキーワードNUMBERFORMATは、小数区切り文字が小数点文字「.」ではない数字文字列を処理する場合に使用されます。

詳細については、「NUMBERFORMAT」を参照してください。

ARCHIVE

オプションのキーワードARCHIVEを使用して、内容の保管に使用されるパスとファイル名を指定します。

詳細については、「ARCHIVE」を参照してください。

RDML

DEF_LIST NAME(#WRKLIST) FIELDS(#LINENUM #PARTNUM #PARTDSC #PARTAMT #PARTQTY) TYPE(*WORKING)

USE BUILTIN(JSM_COMMAND) WITH_ARGS('WRITE FILE(order.csv) SERVICE_LIST(LINENUM,PARTNUM,PARTDSC,PARTAMT,PARTQTY)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)

または

USE BUILTIN(JSM_COMMAND) WITH_ARGS('WRITE FILE(order.csv) SEPARATOR(*TILDE) SERVICE_LIST(LINENUM,PARTNUM,PARTDSC,PARTAMT,PARTQTY)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)

または

USE BUILTIN(JSM_COMMAND) WITH_ARGS('WRITE FILE(order.csv) SVHEAD(*COLUMN) SVTABLE(ORD) SVCOLUMN(ORDER) SVLABEL(23)') TO_GET(#JSMSTS #JSMMSG)

RDMLX

def_list name(#valueslst) fields(#std_num #std_obj #std_desc #std_amnt #std_qty) counter(#listcount) type(*working)

#jsmcmd := 'write file(' + #jsmfile + ') content(*sv) separator(' + #separator + ')'

use builtin(jsmx_command) with_args(#jsmhdle #jsmcmd) to_get(#jsmsts #jsmmsg #valueslst)

ILE RPG

 * NB: This MUST match the structure xml provided to the JSM Server! 

                                                                     

d svlist          ds                  occurs(svocur)

d  linenum                       7s 0                                

d  partnum                       7a                                  

d  partdsc                      30a                                  

d  partamt                       9s 2                                

d  partqty                       7s 0                                

                                                                     

d svocur          c                   const(50)                       

d svsize          c                   const(%size(svlist))            

c                   eval      jsmcmd = 'WRITE'                      

c                             + ' FILE(' + %trim(svfilepath) + ')'  

c                             + ' SVHEAD(ORDER)'                    

c                             + ' SERVICE_STRUCTURE(SV.SVOrderLine)'

c                             + ' COUNT('  + %char(svocur) + ')'    

c                             + ' OCCURS(' + %char(svocur) + ')'    

c                             + ' SIZE('   + %char(svsize) + ')'    

                                                                    

c                   eval      bytelength = svocur * svsize          

                                                                    

c                   callp     p_jsmcmdx(jsmcmd:svlist:bytelength:   

c                                       jsmsts:jsmmsg)