【转自 http://blog.csdn.net/saphome/article/details/6956918】

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

2010-08-29 20:15

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

SAP文件夹的判断与创建的更多相关文章

  1. C# 操作文件类,文件夹存在判断,创建,文件内容读写。

    此篇文档是老早就放到草稿箱中了,断断续续编辑了几次.结合自己经常用到的对于文件的操作,结合msdn做此文. 1.File 类 --转自msdn 常用方法: 名称 说明 AppendAllLines(S ...

  2. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

    JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...

  3. Python3 判断文件和文件夹是否存在、创建文件夹

    Python3 判断文件和文件夹是否存在.创建文件夹 python中对文件.文件夹的操作需要涉及到os模块和shutil模块. 创建文件: 1) os.mknod(“test.txt”) 创建空文件  ...

  4. C# 判断文件和文件夹是否存在并创建

    C# 判断文件和文件夹是否存在并创建 using System; using System.Data; using System.Configuration; using System.Collect ...

  5. PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)

    在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其实不是那样,单个的MKDIR只能创建一级目录,对于多级的就不行了,那如何用mkdir来创建呢?先我抄一段 ...

  6. C#判断文件及文件夹是否存在并创建(C#判断文件夹存在)

    protected void Button1_Click(object sender, EventArgs e) { if (Directory.Exists(Server.MapPath(" ...

  7. SQL端通过脚本判断文件夹是否存在 并创建

    做数据库备份作业的时候..想按日期建立文件夹.. 首先要判断文件夹是否存在 ) --路径 ) --日期 例如: 20171011 SET @DATE=CAST(DATEPART(YYYY,GETDAT ...

  8. python判断文件和文件夹是否存在、创建文件夹

    >>> import os >>> os.path.exists('d:/assist') True >>> os.path.exists('d: ...

  9. python 判断文件和文件夹是否存在、创建文件夹

    原文链接:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.ex ...

随机推荐

  1. MySQL5.7 基于二进制包的安装

    1.MySQL5.7安装注意事项 1.在MySQL5.7中mysql_install_db已经不再推荐使用,建议改成mysqld-initialize 完成实力初始化.(mysql_install_d ...

  2. Win7安装了Visual Studio 2008没有快捷方式怎么办

    在C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE,就是这个devenv.exe了  

  3. C++ 设置控制台输出颜色

    #include <stdint.h> #include <iostream> #include <string> #include <Windows.h&g ...

  4. 迭代器适配器(二)general inserter的实现

    上节我们实现了back_inserter和front_inserter,接下来是更为普通的插入迭代器,它允许用户指定插入位置. 实现代码如下: #ifndef ITERATOR_HPP #define ...

  5. openstack-计算节点安装(Node)

    感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免,欢迎指正. 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  6. 网络爬虫与搜索引擎优化(SEO)

    一.网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...

  7. 点击tablecell中的一个按钮,确定cell所在的行

    - (void) del:(UIButton *) button { NSLog(@"%s",__FUNCTION__); UITableViewCell * cell = (UI ...

  8. Delphi Math里的基本函数,以及浮点数比较函数

    Delphi里的好东西太多,多到让人觉得烦.这种感觉就是当年打游戏<英雄无敌3>,改了钱以后,有钱了每天都要造建筑,明明是好事,可是让人觉得烦. 先记录下来,以后再回来加强对Math单元的 ...

  9. hiho1080 更为复杂的买卖房屋姿势

    题目链接: hihocoder1080 题解思路: 题目中对区间改动有两个操作: 0   区间全部点添加v 1   区间全部点改为v easy想到应该使用到两个懒惰标记  一个记录替换  一个记录增减 ...

  10. STM32 寄存器库和固件库

    寄存器和固件库开发的差别和联系 固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道.向上提供用户函数调用的接口(API). 在 51 的开发中我们经常的作法是直接操作寄存器,比方要控制 ...