9.207 STM_FILE_WRITE

注意: 9.1 組み込み関数の規則      &<a href="bifcat2_01.htm"&>利用オプション&</a&>
この組み込み関数によって、指定のストリーム・ファイルにデータを書き込みます。このストリーム・ファイルは、STM_FILE_OPENによってあらかじめ開いています。
LineTerminatorオプションを指定してストリーム・ファイルを開いている場合、データ・ブロックにあるデータが書き込まれ、指定の終了文字で終わります。
LineTerminator=NONEオプションを指定してストリーム・ファイルを開いている場合、データ・ブロックにあるデータがデータ・ストリームに書き込まれます。STM_FILE_WRITE_CTL組み込み関数を使用することによって、データ・ストリームの適切な位置に行終了文字を書き込むことができます。
関連する組み込み関数:STM_FILE_OPEN、STM_FILE_READ、STM_FILE_CLOSE、STM_FILE_WRITE_CTL Line Terminatorの使用については、「9.205 STM_FILE_OPEN 」を参照してください。
 
引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

必須

データが書き込まれるファイルのファイル番号(ファイル・ハンドル)
この番号は、ストリーム・ファイルに割り当てられ、STM_FILE_OPENで戻されています。

1

3

0

0

2

A

必須

データ・ブロック1

1

制限なし

 

 

3

A

任意

データ・ブロック2

1

制限なし

 

 

4

A

任意

データ・ブロック3

1

制限なし

 

 

5

A

任意

データ・ブロック4

1

制限なし

 

 

6

A

任意

データ・ブロック5

1

制限なし

 

 

7

A

任意

データ・ブロック6

1

制限なし

 

 

8

A

任意

データ・ブロック7

1

制限なし

 

 

9

A

任意

データ・ブロック8

1

制限なし

 

 

10

A

任意

データ・ブロック9

1

制限なし

 

 

11

A

任意

データ・ブロック10

1

制限なし

 

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

任意

戻りコード
OK = データが書き込まれた
ER = エラーが発生した

2

2

 

 


このIBM iの例では、ストリーム・ファイルがIBM i IFSに書き込まれます。
ファイルは、ディレクトリ/tmpに書き込まれ、example1.txtという名前が付けられます。
ファイルはテキストとして書き込まれ、各行は復帰改行(CRLF)で終わります。各行のフィールドでは、末尾ブランクが除去されないため、データは固定の書式のように見えます。
FUNCTION   OPTIONS(*DIRECT)                                         **********                                                          DEFINE     FIELD(#FILENO) TYPE(*DEC) LENGTH(3) DECIMALS(0) DESC('Allocated file number') DEFINE     FIELD(#RETNCODE) TYPE(*CHAR) LENGTH(2)                   DEFINE     FIELD(#OPTIONS) TYPE(*CHAR) LENGTH(256) DESC('Options for stream file open') CHANGE     FIELD(#OPTIONS) TO('''WRITE notrim Text lineTerminator= CRLF CodePage=819''') **********                                                          USE        BUILTIN(STM_FILE_OPEN) WITH_ARGS('''/tmp/example1.txt''' #OPTIONS) TO_GET(#FILENO #RETNCODE) IF         COND('#retncode *NE OK')                                MESSAGE    MSGTXT('Error occurred on OPEN')                        RETURN                                                             ENDIF                                                              **********                                                         ********** Read file PSLMST and write to the IFS file example1.txt ********** Each line written contains employee name and phone number. ********** Each line written contains employee name and phone number.     **********                                                         SELECT     FIELDS((#SURNAME) (#GIVENAME) (#PHONEBUS)) FROM_FILE(PSLMST) USE        BUILTIN(STM_FILE_WRITE) WITH_ARGS(#FILENO #SURNAME #GIVENAME #PHONEBUS) TO_GET(#RETNCODE) IF         COND('#retncode *NE OK')                              MESSAGE    MSGTXT('Error writing to stream file')                RETURN                                                           ENDIF                                                            ENDSELECT                                                        **********                                                       ********** Close stream file and finish                          **********                                                       USE        BUILTIN(STM_FILE_CLOSE) WITH_ARGS(#FILENO)            RETURN