首页 > 解决方案 > OPEN_PIPE_NO_AUTHORITY 在不使用 FILTER 的情况下使用 OPEN DATASET FOR OUTPUT IN BINARY MODE 打开不存在的文件

问题描述

我有一个非常奇怪的问题。

我有一个带有以下代码的标准程序,该程序尝试创建一个文件以响应先前使用OPEN DATASET ... FOR INPUT IN BINARY MODE.

CATCH SYSTEM-EXCEPTIONS dataset_too_many_files = 6
                        open_dataset_no_authority = 7
                        open_pipe_no_authority = 8
                        dataset_no_pipe = 9.
    OPEN DATASET filename FOR OUTPUT IN BINARY MODE
      MESSAGE msg.
ENDCATCH.

令人惊讶的是sy-subrc = 8,根据 SAP 文档,只有OPEN DATASETFILTER.

msg变量中的消息有那个File could not be opened,这是无关紧要的,因为我们正在尝试创建这个文件。

有没有人经历过这样的事情?我想这与在操作系统级别的给定目录中创建文件的权限有关,但我找不到任何其他日志或跟踪。在这种情况下,错误消息sy-subrc = 8似乎实际上具有误导性。通过激活的追踪可以看到更多的信息ST01吗?

标签: abap

解决方案


事实证明,问题的原因首先是缺少应该在其中创建文件的目录。难怪系统无法在不存在的文件夹中创建文件。在这种情况下,错误消息无论如何都是一种误导。


推荐阅读