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

发布于 2024-07-06 13:56:08 字数 122 浏览 11 评论 0原文

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

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

I need to get a listing of a server-side directory inside SAP. How do I achieve this in ABAP? Are there any built-in SAP functions I can call?

Ideally I want a function which I can pass a path as input, and which will return a list of filenames in an internal table.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

_蜘蛛 2024-07-13 13:56:09

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

EPS2_GET_DIRECTORY_LISTING does the same thing as EPS_GET_DIRECTORY_LISTING BUT retunrs the file names up to 200 chars!

野の 2024-07-13 13:56:09

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

Call function 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
*"----------------------------------------------------------------------

Place the path in the NAME import parameter, and then read the directory listing from FILE_TBL after it returns.

RZL_READ_DIR_LOCAL can handle normal local paths as well as UNC paths.

The only downside is it only gives you access to the first 32 chars of each filename. However, you can easily create a new function based on the RZL_READ_DIR_LOCAL code, and change the way the C program output is read, as the first 187 characters of each filename are actually available.

三生殊途 2024-07-13 13:56:09

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

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

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

谢谢你们俩!

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

After reading the answers of Chris Carrthers and tomdemuyt I would say:

1) Use RZL_READ_DIR_LOCAL if you need simple list of filenames.

2) EPS_GET_DIRECTORY_LISTING is more powerfull - it can also list subdirectories.

Thanks You both!

With best Regards
Niki Galanov

送舟行 2024-07-13 13:56:09

答案是调用功能模块EPS_GET_DIRECTORY_LISTING。
DIR_NAME -> 目录 目录名称
文件掩码-> 通过“*”获取所有文件。

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

the answer is calling function module EPS_GET_DIRECTORY_LISTING.
DIR_NAME -> Name of directory
FILE_MASK -> Pass '*' to get all files.

Note: This does not deal with really large file names (80 characters+), it truncates the name.

反目相谮 2024-07-13 13:56:09

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

希望这可以帮助!

Take a look at transaction AL11 source code: RSWATCH0 form fill_file_list
There you can get all information about files.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文