美文网首页
一个能够在 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