导航

[ZT]ABAP:执行本机的外部程序

Posted on 2010-07-21 23:36  Hahappyppy  阅读(228)  评论(0编辑  收藏  举报

http://www.cublog.cn/u2/86821/showart_2073277.html

SAP中提供了GUI_EXEC函数执行本地的外部命令或程序,SXPG_COMMAND_EXECUTE函数执行服务器上的外部程序。这里试验下GUI_EXEC的用法。

第一步,在C盘目录下新建文本文件并更名为mkdir.cmd,内容为MKDIR %1,意即创建一个文件夹。

第二步,新建ABAP程序,代码如下:

DATA: rt TYPE i.
CALL FUNCTION 'GUI_EXEC'
  EXPORTING
    command    = 'C:\mkdir.cmd'

    parameter  = 'C:\test'
  IMPORTING
    returncode = rt. "rt = 0 代表成功
WRITE: rt.
运行程序,C盘下将新增一个名为test的文件夹。

上面的两步也可以合并成下面的代码,

CALL FUNCTION 'GUI_EXEC'
  EXPORTING
    command    = 'cmd /c mkdir %1'
    parameter  = 'c:\test'
  IMPORTING
    returncode = rt.

如果需要打开word文件,可以这样:

CALL FUNCTION 'GUI_EXEC'
  EXPORTING
    command    = 'cmd /c'

    parameter  = 'c:\\test.doc'
  IMPORTING
    returncode = rt.

如果需要在用户端进行打印文本文件,则可以用type命令。

运行服务器上的外部程序,可以使用函数SXPG_COMMAND_EXECUTE,原理与上类似,不过这里的COMMAND必须预先使用Tcode:SM69在服务器上进行注册。

服务器如果需要文件备份,调用此函数可以简单实现。