Abap 开放数据集和传输
我正在尝试创建一个新文件,其中包含我将从BD中提取的信息Abap 开放数据集和传输,abap,Abap,我正在尝试创建一个新文件,其中包含我将从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=用户
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,文件未打开。。。为什么?
谢谢…我确实解决了我的问题这是我的程序在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
旧文件的问题是我打算创建一个没有扩展名的新文件,比如“.txt”,然后
我想打开一个只有他名字的文件
谢谢……好吧。。。这不是重点。您只需在
opendataset
和TRANSFER
语句中使用相同的目的地
例如:
打开数据集abc进行输出/追加。
转到abc。
在第一个示例中,您有一个为cdf
打开的数据集,但传输到ndf
的数据集根本就没有打开进行传输
后一个示例之所以有效,是因为您在尝试打开文件时,将目标变量
str
同时用于OPEN DATASET
和TRANSFER
的内容是什么?应用服务器的操作系统是什么?
OPEN DATASET abc FOR OUTPUT/APPENDING.
TRANSFER <whatever_you_want> TO abc.