CL_GUI_FRONTEND_SERVICES 类 包含了操作sap gui frontend 的 方法和属性。
使用这个类中的方法几乎可以对客户端操作系统做任何操作。
以几个例子来说明:
1,根据指定的参数列出指定目录下的文件系统信息
<!--StartFragment -->
<style type="text/css">
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S31 {
font-style: italic;
color: #808080;
}
.L1S32 {
color: #3399FF;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}
</style>DATA:WA_FILE_TABLETYPEFILE_INFO,
TABTYPESTANDARDTABLEOFFILE_INFO.
datafilecounttypei.
CALLMETHODcl_gui_frontend_services=>directory_list_files
EXPORTING
directory='E:\images'
*filter='*.*'
files_only='X'
*directories_only=
changing
file_table=tab
count=filecount
EXCEPTIONS
cntl_error=1
directory_list_files_failed=2
wrong_parameter=3
error_no_gui=4
not_supported_by_gui=5
others=6
.
2, 删除存在的文件
DATA:filename TYPE string,
rc TYPE i,
rc2 TYPE c.
filename = 'c:\test.txt'.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
CALL METHOD cl_gui_frontend_services=>file_exist
EXPORTING
file = filename
RECEIVING
result = rc2.
* write sy-subrc.
* write rc2.
IF sy-subrc = 0 AND rc2 = 'X'.
CALL METHOD cl_gui_frontend_services=>file_delete
EXPORTING
filename = filename
CHANGING
rc = rc.
WRITE sy-subrc.
WRITE rc.
else.
write 'the file is not exists!'.
ENDIF.
3,获取客户端的ip地址
<!--StartFragment --> <style type="text/css"> SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S52 { color: #0000FF; } </style>data:myiptypestring.
<!--StartFragment -->
<style type="text/css">
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S32 {
color: #3399FF;
}
.L1S52 {
color: #0000FF;
}
</style>CALLMETHODCL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS
RECEIVING
IP_ADDRESS=myIP
EXCEPTIONS
CNTL_ERROR=1
ERROR_NO_GUI=2
NOT_SUPPORTED_BY_GUI=3
OTHERS=4.