我有一个非常奇怪的问题。
我有一个标准程序,其中包含以下代码,该程序试图创建一个文件,以响应之前使用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
中的激活跟踪是否可以看到更多的信息?
事实证明,问题的原因首先是缺少创建文件的目录。难怪系统无法在不存在的文件夹中创建文件。无论如何,在这种情况下,错误消息是一个误导性的消息。
打开数据集Docu:和打开添加的数据集
令人惊讶的是,对它的响应是sy-subrc=8,根据SAP文档,只有当OPEN DATASET与FILTER一起使用时,才会发生这种情况。
不完全是文档所说的。值得再看一眼。Ie将在open dataset
命令上添加sy-subrc = 8
意味着
The operating system could not open the file.