获取SAP ABAP中服务器端目录的内容
时间:2020-03-06 14:55:15 来源:igfitidea点击:
我需要获取SAP内服务器端目录的列表。如何在ABAP中实现这一目标?我可以调用任何内置的SAP函数吗?
理想情况下,我需要一个可以传递路径作为输入的函数,该函数将在内部表中返回文件名列表。
解决方案
答案是调用功能模块EPS_GET_DIRECTORY_LISTING。
DIR_NAME->目录名称
FILE_MASK->传递" *"以获取所有文件。
注意:这不会处理很大的文件名(超过80个字符),它会截断文件名。
调用函数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个字符实际上都可用。
看一下事务AL11源代码:RSWATCH0表单fill_file_list
在那里,我们可以获得有关文件的所有信息。
希望这可以帮助!
阅读了克里斯·卡特斯和汤姆德米特的回答后,我会说:
1)如果我们需要简单的文件名列表,请使用RZL_READ_DIR_LOCAL。
2)EPS_GET_DIRECTORY_LISTING功能更强大,它也可以列出子目录。
谢谢你们俩!
最诚挚的问候
妮基·加拉诺夫(Niki Galanov)