【转自 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. Java的位运算

    左移位操作 左移位运算的符号为[<<],左移位运算符左面的操作元称作被移位数,右面的操作数称作移位量. 左移位运算是双目运算符,操作元必须是整型类型的数据,其移动过程是:[a <&l ...

  2. Solidworks如何为装配体绘制剖面视图

    1 如图所示的工程图来自装配体   2 点击剖面视图,随后绘制一条线(我从正中劈开),弹出对话框,勾选自动打剖面线,确定   3 剖面视图绘制完毕   三个剖视图如下   关于半剖视图,可以这样做.先 ...

  3. react-native Android 全面屏手机 底部留有一大块黑屏

    解决方案:在AndroidManifest.xml 中 配置 <meta-data android:name="android.max_aspect" android:val ...

  4. 02-2设置第一启动项--进入Bios界面设置U盘为第一启动项

    进入Bios界面设置U盘为第一启动项: 开机,当电脑处于启动状态,屏幕显示电脑LOGO时,按下F2键.(根据电脑的不同,进入BIOS的功能键也不同,可根据自己电脑的型号百度搜索相关功能键) 按电脑方向 ...

  5. C#的三大难点之二:托管与非托管

    相关文章: C#的三大难点之前传:什么时候应该使用C#?​C#的三大难点之一:byte与char,string与StringBuilderC#的三大难点之二:托管与非托管C#的三大难点之三:消息与事件 ...

  6. Hibernate学习之双向一对多映射(双向多对一映射)

    © 版权声明:本文为博主原创文章,转载请注明出处 1.双向映射与单向映射 - 一对多单向映射:由一方(教室)维护映射关系,可以通过教室查询该教室下的学生信息,但是不能通过学生查询该学生所在教室信息: ...

  7. Eureka 源码编译安装部署---Eureka运行eureka-server服务

    ---恢复内容开始--- 折腾了几天,终于运行好了,两个字:佩服 首先感谢这个大佬的博客支持:https://www.cnblogs.com/lifuping/p/5663127.html 1.首先在 ...

  8. NodeJS示例异步式(Asynchronous)IO与同步式Synchronous)IO

    理解IO      IO(Input/Output)通常是指计算机线程进行慈磁盘读写或者网络通信时的一种行为.   同步式(Synchronous)IO和异步式(Asynchronous )IO   ...

  9. bootstrap-ui-datetime-picker插件学习

    GitHub:https://github.com/Gillardo/bootstrap-ui-datetime-picker 准备 安装:bower install --save bootstrap ...

  10. centos7 firefox 安装flash

    在官网下载flash的tar包 https://get.adobe.com/flashplayer/?spm=a2h0j.8191423.movie_player.5~5~5~8~A 在下载tar包的 ...