获取应用程序服务器目录的内容
我需要获取 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
EPS2_GET_DIRECTORY_LISTING
与EPS_GET_DIRECTORY_LISTING
执行相同的操作,但返回最多 200 个字符的文件名!EPS2_GET_DIRECTORY_LISTING
does the same thing asEPS_GET_DIRECTORY_LISTING
BUT retunrs the file names up to 200 chars!调用函数RZL_READ_DIR_LOCAL:
将路径放入NAME导入参数中,然后在返回后从FILE_TBL中读取目录列表。
RZL_READ_DIR_LOCAL 可以处理普通本地路径以及 UNC 路径。
唯一的缺点是它只能让您访问每个文件名的前 32 个字符。 但是,您可以轻松地基于 RZL_READ_DIR_LOCAL 代码创建新函数,并更改读取 C 程序输出的方式,因为每个文件名的前 187 个字符实际上可用。
Call function RZL_READ_DIR_LOCAL:
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.
在阅读 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
答案是调用功能模块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.
看一下交易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!