前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP实现的在Linux里操作shell的报表

ABAP实现的在Linux里操作shell的报表

作者头像
Jerry Wang
发布2020-01-21 14:50:21
5190
发布2020-01-21 14:50:21
举报
代码语言:javascript
复制
*&---------------------------------------------------------------------*
*& Report  ZFUN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZFUN.

PARAMETERS: command TYPE string LOWER CASE.

DATA: commtext(120) ,
      itab(255) OCCURS 10 WITH HEADER LINE.
commtext = command.
CALL 'SYSTEM' ID 'COMMAND' FIELD commtext ID 'TAB' FIELD itab[].

LOOP AT itab.
  WRITE itab.
ENDLOOP.

* enhanced 2017-12-7

*&---------------------------------------------------------------------*
*& Report ZLINUX
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zlinux.
PARAMETERS: command TYPE string LOWER CASE DEFAULT 'ls -l //bas/CGC5/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 zlinux 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.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档