码迷,mamicode.com
首页 > 其他好文 > 详细

文件夹的判断与创建

时间:2017-09-24 10:43:09      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:rect   split   文件夹路径   abi   mil   int   文件   []   创建文件   

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

文件夹的判断与创建

标签:rect   split   文件夹路径   abi   mil   int   文件   []   创建文件   

原文地址:http://www.cnblogs.com/zxiu/p/7586204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!