Abap 数据集“无法关闭错误编号32”;“断管”;

Abap 数据集“无法关闭错误编号32”;“断管”;,abap,Abap,我在SAP ABAP中遇到一个错误,该错误表示数据集无法关闭,错误号为32(管道断裂)。问题是:是什么过程触发了这种错误? 据我所知,此错误是由以下原因触发的: 关闭数据集dset 但是我不能重现这个错误,因为我不知道是什么过程触发了这种错误 这是我使用的代码: method GENERATE_TXT_FILE. DATA : lwa_data TYPE t_line, lv_param TYPE sxpgcolist-parameters. "Upl

我在SAP ABAP中遇到一个错误,该错误表示数据集无法关闭,错误号为32(管道断裂)。问题是:是什么过程触发了这种错误?

据我所知,此错误是由以下原因触发的:

关闭数据集dset

但是我不能重现这个错误,因为我不知道是什么过程触发了这种错误

这是我使用的代码:

method GENERATE_TXT_FILE.

  DATA :
        lwa_data TYPE t_line,
        lv_param TYPE sxpgcolist-parameters.

  "Upload File to Server
  *Open Dataset
  OPEN DATASET im_file_name FILTER 'dos2ux'
      FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

  CLEAR lwa_data.

  LOOP AT it_data INTO lwa_data.

    CATCH SYSTEM-EXCEPTIONS file_access_errors = 4
                        OTHERS = 8.
      TRANSFER lwa_data-lines TO im_file_name.
    ENDCATCH.

    IF sy-subrc <> 0.
      CLEAR lwa_data.
      EXIT.
    ENDIF.
    CLEAR lwa_data.

  ENDLOOP.

  *Close Dataset
  CLOSE DATASET im_file_name.
方法生成\u TXT\u文件。
数据:
lwa_数据类型t_线,
lv_参数类型sxpgcolist参数。
“将文件上载到服务器
*开放数据集
打开数据集im\u文件\u名称筛选器“dos2ux”
对于文本模式编码的默认输出。
清除lwa_数据。
将it_数据循环到lwa_数据中。
捕获系统异常文件访问错误=4
其他=8。
将lwa_数据线传输到im_文件名。
收尾。
如果sy subrc为0。
清除lwa_数据。
出口
恩迪夫。
清除lwa_数据。
结束循环。
*封闭数据集
关闭数据集im_文件名。

正如我通过后台作业日志调查的那样,运行后台作业的当前服务器似乎尚未映射到文本文件文件夹。解决方案是将服务器重新映射到文本文件文件夹。

您正在使用-这可能是一个巨大的安全问题,并且会增加f可移植性问题,除非您知道自己在做什么,但这不是问题所在。从文档中可以看出:

执行OPEN DATASE语句时,将在中启动一个进程 指定语句的操作系统。当文件 打开用于读取的通道(管道)与 进程,在文件读取期间从中读取数据。文件 它本身与进程的STDIN链接。当文件打开时 对于写入,通道(管道)链接到进程的STDIN,以 写入时传递哪些数据。进程的输出为 转移到此文件


在您的情况下,filter命令可能决定退出—请参阅其中的许多。为什么很难调查—您可能需要查看各种系统日志才能找到。如果问题确实是某个未映射的网络文件夹,您可以尝试切换到UNC路径。

请添加完整的代码—至少是打开数据集和CLO的部分添加了完整的打开-关闭数据集代码..请帮助:)