11

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

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

4

5 回答 5

7

EPS2_GET_DIRECTORY_LISTINGEPS_GET_DIRECTORY_LISTING但返回文件名最多200 个字符的操作相同!

于 2011-11-24T09:57:31.790 回答
5

调用函数 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 个字符实际上是可用的。

于 2008-10-03T00:59:12.103 回答
3

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

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

于 2008-10-02T14:49:26.267 回答
3

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

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

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

谢谢你们!

最好的问候尼基加拉诺夫

于 2009-05-14T08:13:56.373 回答
1

看一下事务 AL11 源代码:RSWATCH0 表单fill_file_list 在那里您可以获取有关文件的所有信息。

希望这可以帮助!

于 2008-10-09T14:48:05.457 回答