Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Abap 开放数据集和传输_Abap - Fatal编程技术网

Abap 开放数据集和传输

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=用户

我正在尝试创建一个新文件,其中包含我将从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,文件未打开。。。为什么?


谢谢…

我确实解决了我的问题这是我的程序在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.