获取SAP ABAP中服务器端目录的内容
-
02-07-2019 - |
题
我需要在SAP中获取服务器端目录的列表。我如何在ABAP中实现这一目标?我可以调用任何内置的SAP函数吗?
理想情况下,我想要一个可以传递路径作为输入的函数,它将返回内部表中的文件名列表。
解决方案
在阅读了Chris Carrthers和tomdemuyt的答案后,我会说:
1)如果您需要简单的文件名列表,请使用RZL_READ_DIR_LOCAL。
2)EPS_GET_DIRECTORY_LISTING功能更强大 - 它还可以列出子目录。
谢谢你们俩!
最诚挚的问候 尼基·加拉诺夫
其他提示
EPS2_GET_DIRECTORY_LISTING
与 EPS_GET_DIRECTORY_LISTING
做同样的事情但BUT返回的文件名最多为 200 字符!
调用函数RZL_READ_DIR_LOCAL:
FUNCTION RZL_READ_DIR_LOCAL.
*"----------------------------------------------------------------------
*"Lokale Schnittstelle:
*" IMPORTING
*" NAME LIKE SALFILE-LONGNAME
*" TABLES
*" FILE_TBL STRUCTURE SALFLDIR
*" EXCEPTIONS
*" ARGUMENT_ERROR
*" NOT_FOUND
*"----------------------------------------------------------------------
将路径放在NAME导入参数中,然后在返回后从FILE_TBL中读取目录列表。
RZL_READ_DIR_LOCAL可以处理正常的本地路径以及UNC路径。
唯一的缺点是它只允许您访问每个文件名的前32个字符。但是,您可以根据RZL_READ_DIR_LOCAL代码轻松创建新函数,并更改C程序输出的读取方式,因为每个文件名的前187个字符实际可用。
答案是调用功能模块EPS_GET_DIRECTORY_LISTING。 DIR_NAME - >目录名称 FILE_MASK - >通过'*'获取所有文件。
注意:这不会处理非常大的文件名(80个字符+),它会截断名称。
看一下事务AL11源代码:RSWATCH0表单 fill_file_list
在那里,您可以获得有关文件的所有信息。
希望这有帮助!
不隶属于 StackOverflow