如何在ALV中的ABAP中声明动态内部表

时间:2014-04-24 11:19:00

标签: abap

http://sapscenarios.blogspot.in 我想声明在内部表中包含动态列的动态结构。 结构也是动态的。

1 个答案:

答案 0 :(得分:3)

您可以使用cl_abap_structdescr => create和cl_abap_tabledescr => create来动态创建结构和表类型。它们非常容易使用并且像魅力一样工作唯一的限制可能是它只能从ECC6(可能是ECC5)获得。

data ls_component type abap_componentdescr.
data lt_component type abap_component_tab.
data lcl_struct type ref to cl_abap_structdescr.
data lr_data type ref to data.

ls_component-name = 'FIELD1'.
ls_component-type = cl_abap_typedescr=>describe_by_name( 'I' ).
append ls_component to lt_component.

lcl_struct = cl_abap_structdescr=>create( P_COMPONENTS = lt_component ).
create data lr_data type handle lcl_struct.

仅供参考有一个类似的问题here,但答案虽然正确,但由于它会生成一个子程序池而你只能这样做36次。但是Denis Muzhzhukhin给出了我在这里提到的与SAP帮助相同的答案。