SAP文件夹存在的判断与创建



相关函数:WS_QUERY:判断文件路径是否存在。GUI_CREATE_DIRECTORY:建文件

检查指定的文件是否存在,若不存在则创建新文件

REPORT Z_EXAMPLE_01                            .

parameter: l_file type localfile.
data: status type c.

"保存文件的路径
data: begin of folder occurs 0,
dire type localfile,
end of folder.

"保存文件路径识别符号。
data: begin of sign occurs 0,
sig type c,
end of sign.

start-of-selection.
clear: folder[],sign[],status.
"
新增文件路径识别符号,如果没有相关的符号则为无效路径
sign-sig = '/'.
append sign.
sign-sig = '\'.
append sign.
search l_file for sign.
"
判断文件路径字符串是否有效,无效退出
if sy-subrc <> 0 .
    message e005(zmess) with 'not valuable directory!'.
    exit.
else.
    "
检查该文件是否已存在
    perform checkdir using l_file changing status.
    if status = 1.
      message e005(zmess) with 'the directory is exit!'.
      exit.
    endif.
endif.

split l_file at sign into table folder.
read table folder index 1.
l_file = folder-dire."
内表的第一行为盘
loop at folder.
    "
环读取文件字符,检查该路径是否存在,不在则创
    if sy-tabix > 1.
      concatenate l_file '\' folder-dire into l_file.
      perform checkdir using l_file changing status.

      if status = 0.
        perform createrdir using l_file .

      endif.
    endif.
endloop.
*---------------------------------------------------------
*-
检查路径是否存在,存在函数返回1,不存在返回 0 --------
*---------------------------------------------------------
form checkdir using dir type localfile changing ret type c.
CALL FUNCTION 'WS_QUERY'
    EXPORTING
*   ENVIRONMENT          =
     FILENAME             = DIR
      QUERY                = 'DE'
*   WINID                =
   IMPORTING
     RETURN               = RET
   EXCEPTIONS
     INV_QUERY            = 1
     NO_BATCH             = 2
     FRONTEND_ERROR       = 3
     OTHERS               = 4.
ENDFORM.                    "checkdir
*---------------------------------------------------------
*-----
根据路径建文件----------------------------------
*---------------------------------------------------------
FORM CREATERDIR USING DIR TYPE LOCALFILE.
CALL FUNCTION 'GUI_CREATE_DIRECTORY'
    EXPORTING
      DIRNAME = DIR
    EXCEPTIONS
      FAILED = 1
      OTHERS = 2.
WRITE: / 'CREATE DIRECTOR SUCCESS,PATH:',DIR.
ENDFORM.                    "CREATERDIR

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值