一个能够在 ABAP 服务器执行 linux 命令的小工具

简介: 一个能够在 ABAP 服务器执行 linux 命令的小工具
report z.

PARAMETERS: command TYPE string LOWER CASE DEFAULT 'ls -l /src/krn/abap/runt'.
DATA: commtext(120) ,
      itab(255)     OCCURS 10 WITH HEADER LINE,
      lv_folder     TYPE string.

START-OF-SELECTION.

  PERFORM init.
  CALL 'SYSTEM' ID 'COMMAND' FIELD commtext ID 'TAB' FIELD itab[].
  LOOP AT itab ASSIGNING FIELD-SYMBOL(<line>).

    FIND REGEX '^.*\.c|^.*\.cpp|^.*\.h' IN <line>.
    IF sy-subrc = 0.
      WRITE: / <line> COLOR COL_NEGATIVE.
      DATA(lv_line) = CONV char255( <line> ).
      HIDE lv_line.
    ELSE.
      WRITE: / <line>.
    ENDIF.
  ENDLOOP.

AT LINE-SELECTION.
   PERFORM display_source.

FORM display_source.
  SPLIT lv_line AT space INTO TABLE DATA(lt_file).
  DATA(index) = lines( lt_file ).
  DATA(lv_file_name) = lv_folder && '/' && lt_file[ index ].
  DATA(lv_op) = |cat { lv_file_name } |.
  SUBMIT zfun WITH command EQ lv_op.
ENDFORM.

FORM init.
  commtext = command.
  SPLIT commtext AT space INTO TABLE DATA(lt_table).
  CHECK lines( lt_table ) = 3.
  lv_folder = lt_table[ 3 ].
ENDFORM.
相关文章
|
4天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
199 2
|
1天前
|
监控 物联网 测试技术
【好用的个人工具】使用Docker部署Dashdot服务器仪表盘
【5月更文挑战第15天】使用Docker部署Dashdot服务器仪表盘
25 11
|
1天前
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】
|
3天前
|
存储 Linux Shell
YUM管理器的命令列表-Linux
YUM管理器的命令列表-Linux
8 0
|
4天前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
9 0
|
4天前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
11 0
|
4天前
|
监控 安全 Cloud Native
【云原生之Docker实战】使用Docker部署Ward服务器监控工具
【5月更文挑战第11天】使用Docker部署Ward服务器监控工具
22 3
|
4天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
16 0
|
4天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
15 3
|
4天前
|
监控 Linux 数据处理

热门文章

最新文章

http://www.vxiaotou.com