abap:从现有表创建动态内部表



我有以下内部表格:

VBELN   POSNR   ELEMENT VALUE
4711    10      E1      12      
4711    10      E2      23

ABAP(框架、类等(中是否有任何可能性,这样我就可以在运行时快速创建一个新的内部表,如下所示:

VBELN   POSNR   E1  E2
4711    10      12  23

如果有任何帮助,我将不胜感激。

谢谢,BR.

是。您需要的是ABAP运行时类型服务(RTTS(,更确切地说是ABAP执行时类型创建(RTTC(。

DATA(vbeln_descriptor) = CAST cl_abap_datadescr( cl_abap_typedescr=>describe_by_name( 'VBELN' ) ).
DATA(posnr_descriptor) = CAST cl_abap_datadescr( cl_abap_typedescr=>describe_by_name( 'POSNR' ) ).
DATA(components) = VALUE abap_component_tab( ( name = 'VBELN'
type = vbeln_descriptor )
( name = 'POSNR'
type = posnr_descriptor ) ).
DATA(value_descriptor) = cl_abap_typedescr=>describe_by_name( 'VALUE' ).
LOOP AT vbeln_rows INTO DATA(vbeln_row).
INSERT VALUE #( 
name = vbeln_row-element
type = value_descriptor )
INTO TABLE components.
ENDLOOP.
DATA(row_descriptor) = cl_abap_structdescr=>get( components ).
DATA(table_descriptor) = cl_abap_tabledescr=>create( row_descriptor ).
DATA itab TYPE REF TO data.
CREATE DATA itab TYPE HANDLE table_descriptor.

相关内容

  • 没有找到相关文章

最新更新