abap - 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 DATASET
与FILTER
.
msg
变量中的消息有那个File could not be opened
,这是无关紧要的,因为我们正在尝试创建这个文件。
有没有人经历过这样的事情?我想这与在操作系统级别的给定目录中创建文件的权限有关,但我找不到任何其他日志或跟踪。在这种情况下,错误消息sy-subrc = 8
似乎实际上具有误导性。通过激活的追踪可以看到更多的信息ST01
吗?
解决方案
事实证明,问题的原因首先是缺少应该在其中创建文件的目录。难怪系统无法在不存在的文件夹中创建文件。在这种情况下,错误消息无论如何都是一种误导。
推荐阅读
- python - 组织名称(在互联网上找到)以将它们用作请求中的输入
- node.js - Nodemon 不断因“已在使用错误”而崩溃
- git - 如何显示“git add”的进度?
- qt - 从源代码构建 VLC-Qt 库
- ios - 发出 AppAuth iOS“invalid_grant:错误请求”
- android - 从应用程序内的 Google Book API 下载电子书
- java - 尽管 qr 是可扫描的,但 MultiFormatReader 无法读取 qr
- java - 如何在 HttpServletRequest 中获取 URI 参数?
- javascript - Material UI Popover - keydown 事件模拟问题
- react-native - 状态数据变大怎么办?