首页 > 其他分享 >SAP文件夹存在的判断与创建

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

时间:2022-10-12 19:38:21浏览次数:47  
标签:status 创建 sign 文件夹 file folder SAP type






相关函数: 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



 



标签:status,创建,sign,文件夹,file,folder,SAP,type
From: https://blog.51cto.com/u_15680210/5751334

相关文章