ABAP读取程序的所有变量

有些场景需要我们读取某个程序的所有变量,然后再处理这些变量

DATA:lt_fieldlist TYPE TABLE OF rfieldlist,
           ls_fieldlist TYPE rfieldlist.
      DATA:gv_find TYPE c LENGTH 20.
      gv_find = 'G*ALV*'.
      "gv_find = 'GT_*TMP*'."支持这种类型
      DATA:lv_program TYPE sy-cprog.
      lv_program = 'SAPLZZXD_PORP'.
      CALL FUNCTION 'GET_GLOBAL_SYMBOLS'
        EXPORTING
          program      = lv_program "sy-cprog
          name_pattern = gv_find
        TABLES
          fieldlist    = lt_fieldlist.
      FIELD-SYMBOLS <fs> TYPE any.
      DATA:lv_text TYPE char30.
      LOOP AT lt_fieldlist INTO ls_fieldlist WHERE type = 'r'.
        lv_text = '(' && lv_program && ')' && ls_fieldlist-name.
        ASSIGN (lv_text) TO <fs>.
        IF <fs> IS ASSIGNED.
          FREE <fs>.
        ENDIF.
      ENDLOOP.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值