获取应用程序服务器目录的内容



我需要获取SAP中服务器端目录的列表。如何在 ABAP 中实现这一目标?是否有任何可以调用的内置 SAP 函数?

理想情况下,我想要一个函数,我可以将路径作为输入传递,并将在内部表中返回文件名列表。

EPS2_GET_DIRECTORY_LISTING做与EPS_GET_DIRECTORY_LISTING相同的事情,但最多可以调整文件名 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 个字符实际上可用。

在阅读了Chris Carrthers和tomdemuyt的回答后,我会说:

1) 如果您需要简单的文件名列表,请使用RZL_READ_DIR_LOCAL。

2)EPS_GET_DIRECTORY_LISTING更强大 - 它还可以列出子目录。

谢谢你们!

致以最诚挚的问候尼基·加拉诺夫

答案是调用函数模块EPS_GET_DIRECTORY_LISTING。DIR_NAME -> 目录名称FILE_MASK -> 传递"*"以获取所有文件。

注意:这不会处理非常大的文件名(80个字符+),它会截断名称。

看看交易 AL11 源代码:RSWATCH0表单fill_file_list在那里,您可以获取有关文件的所有信息。

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新