Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Added |../../index.htm#lansa/stm_file_write_ctl.htm]
現在地:

Anchor
STM_FILE_WRITE_CTL
STM_FILE_WRITE_CTL
Anchor
_Toc130907427
_Toc130907427
9.208 STM_FILE_WRITE_CTL

注意: 9.1 組み込み関数の規則      &<a href="bifcat2_01.htm"&>利用オプション&</a&>利用オプション
この組み込み関数によって、データ・ストリームに行終了文字を書き込みます。
関連する組み込み関数:STM_FILE_OPEN、STM_FILE_CLOSE、STM_FILE_WRITE、STM_FILE_READ
 
引数

...


このIBM iの例では、ストリーム・ファイルがIBM IFSに書き込まれます。ファイルは、ディレクトリ/tmpに書き込まれ、example2.txtという名前が付けられます。
データは、データベース・ファイルPSLMSTからの従業員番号の後に、その従業員のスキル・コードが続く形で書き込まれます。スキルは、コンマによって区切られます。従業員に関するデータの終わりは、次の例のように、復帰改行(CRLF)によって示されます。 A0001,ADVPGM,CS A0008 A0013 A0090,CL,COBOL,ECD,INTRO,MANAGE1,MARKET2,MARKET3,MBA,RPG
開くときのオプションがLineTerminator=NONEのため、行終了文字は、STM_FILE_WRITEによって自動的に書き込まれません。行終了文字は、従業員に関する情報の最後にSTM_FILE_WRITE_CTLによって書き込まれます。
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(#COMMA) TYPE(*CHAR) LENGTH(1) DEFAULT(',')        DEFINE     FIELD(#OPTIONS) TYPE(*CHAR) LENGTH(256) DESC('Options for stream file open') CHANGE     FIELD(#OPTIONS) TO('''WRITE Text CodePage=819 LineTerminator=NONE''') **********                                                         USE        BUILTIN(STM_FILE_OPEN) WITH_ARGS('''/tmp/example2.txt''' #OPTIONS) TO_GET(#FILENO #RETNCODE) IF         COND('#retncode *NE OK')                                 MESSAGE    MSGTXT('Error occurred on OPEN')                         RETURN                                                              ENDIF                                                               **********                                                          ********** Read file PSLMST and for each employee get his skills    ********** Write to stream file employee no and list of skills      **********  comma delimited. Terminate with a CRLF.                 **********                                                          SELECT     FIELDS((#EMPNO)) FROM_FILE(PSLMST)                       USE        BUILTIN(STM_FILE_WRITE) WITH_ARGS(#FILENO #EMPNO) TO_GET(#RETNCODE) **********                                                        SELECT     FIELDS((#SKILCODE)) FROM_FILE(PSLSKL) WITH_KEY(#EMPNO) USE        BUILTIN(STM_FILE_WRITE) WITH_ARGS(#FILENO #COMMA #SKILCODE) TO_GET(#RETNCODE) ENDSELECT                                                         ********** Add line terminator at end of details for employee     USE        BUILTIN(STM_FILE_WRITE_CTL) WITH_ARGS(#FILENO CRLF) TO_GET(#RETNCODE) ENDSELECT                                                         **********                                                        ********** Close stream file and finish                           **********                                                        USE        BUILTIN(STM_FILE_CLOSE) WITH_ARGS(#FILENO)             RETURN                                                              
[ Image Added |../../index.htm#lansa/stm_file_write_ctl.htm]