博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件夹的判断与创建
阅读量:5113 次
发布时间:2019-06-13

本文共 1798 字,大约阅读时间需要 5 分钟。

PARAMETERS: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 e001(00WITH 'Not valuable directory'.
    EXIT.
  ELSE.
*检查该文件夹路径是否已经保存
    PERFORM checkdir USING l_file CHANGING status.
    IF status 1.
      MESSAGE i001(00WITH '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 createdir USING l_file.
      ENDIF.
    ENDIF.
  ENDLOOP.
***************************************************************************
*       调用函数检查路径是否存在,若存在函数返回‘1‘,否则返回’0‘。        *
***************************************************************************
FORM checkdir USING dir TYPE localfile CHANGING ret TYPE c.
  CALL FUNCTION 'WS_QUERY'
    EXPORTING
      filename       = dir
      query          'DE'
    IMPORTING
      return         = ret "1 Success 0 Fail"
    EXCEPTIONS
      inv_query      1
      no_batch       2
      frontend_error 3
      OTHERS         4.
ENDFORM.                    "checkdir
***************************************************************************
*       调用函数根据路径创建文件夹。                                        *
***************************************************************************
FORM createdir USING dir TYPE localfile.
  CALL FUNCTION 'GUI_CREATE_DIRECTORY'
    EXPORTING
      dirname = dir
    EXCEPTIONS
      failed  1
      OTHERS  2.
  WRITE: / 'Create director success,Path:',dir.
ENDFORM.                    "createdir

转载于:https://www.cnblogs.com/zxiu/p/7586204.html

你可能感兴趣的文章
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
密码学总结
查看>>
java学习第三天
查看>>
jq 通配符,模糊查询
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
jQuery Mobile笔记
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
查询数据(后台到前台传递数据,显示数据)
查看>>
集群tomcat+apache配置文档
查看>>
VMware Tools安装
查看>>
2019.04.09 电商20 购物车的展示
查看>>