美文网首页
一个能够在 ABAP 服务器执行 linux 命令的小工具

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

作者: 华山令狐冲 | 来源:发表于2024-05-18 12:07 被阅读0次

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.

相关文章

网友评论

      本文标题:一个能够在 ABAP 服务器执行 linux 命令的小工具

      本文链接:https://www.haomeiwen.com/subject/hujaadtx.html