我正在尝试创建一个新文件,其中包含我将从BD中提取的信息。
CONCATENATE cdf ndf
INTO cdf.
OPEN DATASET cdf for APPENDING IN LEGACY TEXT MODE WITH SMART LINEFEED.
IF sy-subrc = 0.
TRANSFER wa_es_tabt TO ndf.
CLOSE DATASET cdf.
ENDIF.
CDF
=我的文件的路径,其中包含用户将要放置的名称
NDF
=用户名称
wa_es_tabt
=我打算保存为txt的数据库信息。
但sy-subrc
始终为8,文件未打开...为什么?
感谢...
答案 0 :(得分:0)
我确实解决了我的问题这是我在ABAP中创建保存txt文件的程序示例。
FORM g_fich TABLES dt_es_tab STRUCTURE es_tabd
USING str TYPE string
str1 TYPE string.
CONCATENATE cdf ndf '.txt'
INTO str.
CONCATENATE 'Parceiro' 'Conta Contrato' 'Conttrato' 'Nome' 'Morada'
INTO str1
SEPARATED BY space.
OPEN DATASET str FOR APPENDING IN TEXT MODE ENCODING DEFAULT WITH SMART LINEFEED .
IF sy-subrc = 0.
LOOP AT dt_es_tab INTO wa_es_tabt.
IF cont = 0.
TRANSFER str1 TO str.
cont = 2.
ENDIF.
TRANSFER wa_es_tabt TO str.
ENDLOOP.
ENDIF.
CLOSE DATASET str.
ENDFORM. " G_FIC
CDF
=我的文件的路径,其中包含用户将要放置的名称
NDF
=用户名称
wa_es_tabt
=来自BD的数据,我打算保存为txt。
感谢...
答案 1 :(得分:0)
嗯......那不是重点。您只需在OPEN DATASET
和TRANSFER
语句中使用相同的目标。
例如:
OPEN DATASET abc FOR OUTPUT/APPENDING.
TRANSFER <whatever_you_want> TO abc.
在您的第一个示例中,您获得了cdf
的开放式数据集,但转移到ndf
根本未打开进行传输。
后一个示例仅有效,因为您同时使用str
和OPEN DATASET
的目标变量TRANSFER
。