动态内表

DATA: d_ref TYPE REF TO data,
      d_ref2 TYPE REF TO data ,
      i_alv_cat TYPE TABLE OF lvc_s_fcat,
      ls_alv_cat LIKE LINE OF i_alv_cat.

TYPES tabname LIKE dcobjdef-name .

PARAMETER: p_tablen TYPE tabname.

DATA: BEGIN OF itab OCCURS 0.
        INCLUDE STRUCTURE dntab.
DATA: END OF itab.


FIELD-SYMBOLS : <f_fs> TYPE table,
                <f_fs1> TYPE table,
                <f_fs2> TYPE ANY,
                <f_fs3> TYPE table.

REFRESH itab.

CALL FUNCTION 'NAMETAB_GET'
  EXPORTING
    langu          = sy-langu
    tabname        = p_tablen
  TABLES
    nametab        = itab
  EXCEPTIONS
    no_texts_found = 1.

LOOP AT itab .
  ls_alv_cat-fieldname = itab-fieldname.
  ls_alv_cat-ref_table = p_tablen.
  ls_alv_cat-ref_field = itab-fieldname.
  APPEND ls_alv_cat TO i_alv_cat.
ENDLOOP.

* internal table build
CALL METHOD cl_alv_table_create=>create_dynamic_table
  EXPORTING
    it_fieldcatalog = i_alv_cat
  IMPORTING
    ep_table        = d_ref.
ASSIGN d_ref->* TO <f_fs>.

SELECT * FROM (p_tablen) INTO CORRESPONDING FIELDS OF TABLE <f_fs>.


LOOP AT <f_fs> ASSIGNING <f_fs2>.
*your code goes here.
ENDLOOP. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值