ABAP code for Get expanded Entity set
ABAP Code
method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_EXPANDED_ENTITYSET.
"deep structure
data : begin of tp_expand.
INCLUDE TYPE ZCL_ZKODATA1_MPC_EXT=>ts_soheader.
data : SOHEADERTOITEM TYPE ZCL_ZKODATA1_MPC_EXT=>TT_SOITEM.
data : end of tp_expand.
data : gt_expand like STANDARD TABLE OF tp_expand,
gs_expand like tp_expand,
gt_header type ZCL_ZKODATA1_MPC_EXT=>tt_soheader,
gs_header type ZCL_ZKODATA1_MPC_EXT=>ts_soheader,
gt_item type ZCL_ZKODATA1_MPC_EXT=>tt_soitem,
gs_item type ZCL_ZKODATA1_MPC_EXT=>ts_soitem.
CONSTANTS : LC_EXPANDED_TECH_CLAUSES TYPE STRING value 'SOHEADERTOITEM'.
case IV_ENTITY_SET_NAME.
when 'SOHEADERSet'.
select * from zovbak into CORRESPONDING FIELDS OF TABLE gt_header.
if sy-subrc = 0.
select * from zovbap into CORRESPONDING FIELDS OF TABLE gt_item
FOR ALL ENTRIES IN gt_header WHERE vbeln = gt_header-vbeln.
endif.
loop at gt_header into gs_header.
clear : gs_expand.
MOVE-CORRESPONDING gs_header to gs_expand.
loop at gt_item into gs_item WHERE vbeln = gs_header-vbeln.
append gs_item to gs_expand-SOHEADERTOITEM.
clear : gs_item.
endloop.
append gs_expand to gt_expand.
clear : gs_header.
endloop.
append LC_EXPANDED_TECH_CLAUSES to et_expanded_tech_clauses.
copy_data_to_ref(
EXPORTING
is_data = gt_expand
CHANGING
cr_data = ER_ENTITYSET
).
endcase.
endmethod.
0 Comments