2020-08-14 17:50发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要从Applic... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要从Application Server获取文件。 如果在选择屏幕上给出了日期范围和路径,则基于此我需要从应用程序服务器文件中获取文件。 有谁能够帮我? 有SAP功能模块吗?
您好,suresh,
1。 您可以尝试此程序(只需复制粘贴)
2。
a)路径
b)日期
,它将列出所有相关文件
3。
报告abc。
* ----
DATA
类型:name_of_dir(1024)TYPE c,
name_of_file(260)TYPE c,
name_of_path(1285)TYPE c。
数据:文件的开头,
dirname TYPE name_of_dir,"目录名。(可能
"被截断。)
name TYPE name_of_file,文件名,(可能被
"截断。)
type(10)TYPE c ,""条目类型。
len(8)TYPE p,"字节长度。
owner(8)TYPE c,"条目的所有者。
mode(9)TYPE c,",例如" rwx-rx--x":保护模式。
subrc(4)类型c,
errno(3)类型c,
errmsg(40)类型c,
mod_date类型d,
mod_time(8)类型c," hh:mm:ss
看到(1)类型c,
已更改(1)类型c,
文件的结尾。
数据:所有文件喜欢的文件使用标题行占用了0。
选择屏幕
参数:路径 (260)TYPE C DEFAULT'/usr/sap/trans'小写字母。
参数:mydate TYPE sy-datum缺省sy-datum。
* ---- p>
选择开始
开始选择 -选择。
使用路径执行getallfiles。
BREAK-POINT。
显示日期 文件
写:/'----
文件的日期',mydate。
在mod_date = mydate的所有文件中循环。 p>
如果是allfile-type CS'file'。
WRITE:/allfile-name。
ENDIF。
ENDLOOP。
显示所有文件
跳过。
WRITE:/'----
所有文件和目录"。
在allfile处循环。
FORM
刷新allfile。
CLEAR allfile。
调用'C_DIR_READ_FINISH'"以确保
ID'ERRNO'字段文件错误
ID'ERRMSG'字段文件错误
CALL'C_DIR_READ_START'ID'DIR'字段mypath
ID'FILE'FIELD a_generic_name
ID'ERRNO'FIELD file-errno
ID'ERRMSG'FIELD file-errmsg。
做。
清除文件。
调用'C_DIR_READ_NEXT'
ID'TYPE'字段文件类型
ID'NAME'字段文件名
ID'LEN'字段文件len
ID'OWNER'字段文件所有者
ID'MTIME' 场 D file-mtime
ID'MODE'FIELD文件模式
ID'ERRNO'FIELD文件-errno
如果sy-subrc = 1。
退出。
使用文件mtime执行p6_to_date_time_tz(rstr0400) p>
文件修改时间
文件修改日期。
allfile =文件。
APPEND全部文件。
ENDDO。
ENDFORM。 " GETALLFILES
*- -
使用gmtime
asc_time
asc_date格式p6_to_date_time_tz。
数据:操作码类型x,
时间戳类型i,
日期类型d,
时间类型t,
tz sy- zonlo,
timestring(10),
abapstamp(14),
abaptstamp TYPE时间戳。
timestamp = gmtime。
Benutzer hat keine Zeitzone gepflegt:nehme lokale des App。Srv。
调用功能'TZON_GET_OS_TIMEZONE'
导入
ef_timezone = tz
ef_not_unique =唯一
ef_not_found =未找到。> p>
IF唯一='X'或not_found ='X'。
tz = sy-tzone。
将'UTC +'tz合并为tz。
ELSE。
tz = sy-zonlo。
EN DIF。
以ABAP格式浪费时间时间戳,而以ABAP格式保存时间
操作码= 3。
CALL'RstrDateConv'
ID'OPCODE'字段操作码
ID'TIMESTAMP'字段时间戳
ID'ABAPSTAMP'字段abapstamp。
abaptstamp = abapstamp。
转换时间戳记abaptstamp时区tz到日期date
时间。
如果sy-subrc <> 0。
日期= abapstamp(8)。
时间= abapstamp + 8。
写:time(2)TO timestring(2),
':'TO timestring + 2(1),
time 2(2)TO timestring 3(2),
':'TO时间字符串+5(1),
时间 4(2)TO时间字符串 6(2)。
将时间字符串移动到asc_time。
将日期移动到asc_date。
ENDFORM。 " P6_TO_DATE_TIME_TZ
*
关于,
允许m。
最多设置5个标签!
您好,suresh,
1。 您可以尝试此程序(只需复制粘贴)
2。
a)路径
b)日期
,它将列出所有相关文件
3。
报告abc。
* ----
DATA
* ----
类型:name_of_dir(1024)TYPE c,
name_of_file(260)TYPE c,
name_of_path(1285)TYPE c。
数据:文件的开头,
dirname TYPE name_of_dir,"目录名。(可能
"被截断。)
name TYPE name_of_file,文件名,(可能被
"截断。)
type(10)TYPE c ,""条目类型。
len(8)TYPE p,"字节长度。
owner(8)TYPE c,"条目的所有者。
< p> mtime(6)TYPE p,"上次修改日期,自1970年以来的秒数mode(9)TYPE c,",例如" rwx-rx--x":保护模式。
< > useable(1)类型c,subrc(4)类型c,
errno(3)类型c,
errmsg(40)类型c,
mod_date类型d,
mod_time(8)类型c," hh:mm:ss
看到(1)类型c,
已更改(1)类型c,
文件的结尾。
数据:所有文件喜欢的文件使用标题行占用了0。
* ----
选择屏幕
* ----
参数:路径 (260)TYPE C DEFAULT'/usr/sap/trans'小写字母。
参数:mydate TYPE sy-datum缺省sy-datum。
* ---- p>
选择开始
* ----
开始选择 -选择。
使用路径执行getallfiles。
BREAK-POINT。
* ----
显示日期 文件
写:/'----
文件的日期',mydate。
在mod_date = mydate的所有文件中循环。 p>
如果是allfile-type CS'file'。
WRITE:/allfile-name。
ENDIF。
ENDLOOP。
* ----
显示所有文件
跳过。
跳过。
WRITE:/'----
所有文件和目录"。
在allfile处循环。
WRITE:/allfile-name。
ENDLOOP。
* ----
FORM
* ----
< p>使用mypath生成getallfiles。
刷新allfile。
CLEAR allfile。
调用'C_DIR_READ_FINISH'"以确保
ID'ERRNO'字段文件错误
ID'ERRMSG'字段文件错误
CALL'C_DIR_READ_START'ID'DIR'字段mypath
ID'FILE'FIELD a_generic_name
ID'ERRNO'FIELD file-errno
ID'ERRMSG'FIELD file-errmsg。
做。
清除文件。
调用'C_DIR_READ_NEXT'
ID'TYPE'字段文件类型
ID'NAME'字段文件名
ID'LEN'字段文件len
ID'OWNER'字段文件所有者
ID'MTIME' 场 D file-mtime
ID'MODE'FIELD文件模式
ID'ERRNO'FIELD文件-errno
ID'ERRMSG'FIELD file-errmsg。
如果sy-subrc = 1。
退出。
ENDIF。
使用文件mtime执行p6_to_date_time_tz(rstr0400) p>
文件修改时间
文件修改日期。
allfile =文件。
APPEND全部文件。
ENDDO。
ENDFORM。 " GETALLFILES
* ----
FORM
*- -
使用gmtime
asc_time
asc_date格式p6_to_date_time_tz。
数据:操作码类型x,
< p>唯一,未找到,时间戳类型i,
日期类型d,
时间类型t,
tz sy- zonlo,
timestring(10),
abapstamp(14),
abaptstamp TYPE时间戳。
timestamp = gmtime。
Benutzer hat keine Zeitzone gepflegt:nehme lokale des App。Srv。
调用功能'TZON_GET_OS_TIMEZONE'
导入
ef_timezone = tz
ef_not_unique =唯一
ef_not_found =未找到。> p>
IF唯一='X'或not_found ='X'。
tz = sy-tzone。
将'UTC +'tz合并为tz。
ENDIF。
ELSE。
tz = sy-zonlo。
EN DIF。
以ABAP格式浪费时间时间戳,而以ABAP格式保存时间
操作码= 3。
CALL'RstrDateConv'
ID'OPCODE'字段操作码
ID'TIMESTAMP'字段时间戳
ID'ABAPSTAMP'字段abapstamp。
abaptstamp = abapstamp。
转换时间戳记abaptstamp时区tz到日期date
时间。
如果sy-subrc <> 0。
日期= abapstamp(8)。
时间= abapstamp + 8。
ENDIF。
写:time(2)TO timestring(2),
':'TO timestring + 2(1),
time 2(2)TO timestring 3(2),
':'TO时间字符串+5(1),
时间 4(2)TO时间字符串 6(2)。
将时间字符串移动到asc_time。
将日期移动到asc_date。
ENDFORM。 " P6_TO_DATE_TIME_TZ
*
关于,
允许m。
一周热门 更多>