Skip to Content
Jan 17, 2021 at 07:01 PM

$Expand- Multi Level Expansion - Cant expand from Item to Item2


Hi Good Day,

Am posting this Question after searching at least Dozen times. Since am not getting desired result hence i have decided i should seek some help, i have gone gone through below links however i dont get the desired results.

Requirement :

I Have Header, Items and Documents.

Each Item will have more than one document.

I have created 3 Tables Header, Items and Documents

I have Created an Association and Navigation Property

Link : M : N & N : M

I get Header Data : Items but not Items to Documents.

Tried at least 50 times(Believe me)! yet not joy, I know am making mistake, but don't what it is.

I always results like this.

IMP : The Item structure name is similar to Navigation property.


This is my code

data : lt_output type standard table of zplan1_s_deep,
lt_zcase_s_header type standard table of zheader,
lt_zcase_s_item type standard table of zitems,
lt_zcase_s_docs type standard table of zdocs.
data : ls_zcase_s_header type zheader,
ls_zcase_s_item type zitems,
ls_zcase_s_docs type zdocs,
ls_output type ZPLAN1_S_DEEP.
data : lv_techname type string.constants: lc_expand_tech_clause type string value 'HEADERTOITEMNAV/ITEMTODOCSNAV'.
select * from zheaderinto table lt_zcase_s_header.
if lt_zcase_s_header is not * from zitems into table lt_zcase_s_itemfor all entries in lt_zcase_s_header where id eq lt_zcase_s_header-id.

if sy-subrc = 0.

select * from zdocs into table lt_zcase_s_docsfor all entries in lt_zcase_s_item where id eq lt_zcase_s_item-id and sdept = lt_zcase_s_item-sdept.


loop at lt_zcase_s_header into ls_zcase_s_header.
move-corresponding ls_zcase_s_header to ls_output.
loop at lt_zcase_s_item into ls_zcase_s_item where id eq ls_zcase_s_header-id.

append ls_zcase_s_item to ls_output-headertoitemnav.

loop at lt_zcase_s_docs into ls_zcase_s_docs where id eq ls_zcase_s_item-id and sdept eq ls_zcase_s_item-sdept.

append ls_zcase_s_docs to ls_output-itemtodocsnav.endloop.


append ls_output to lt_output.clear ls_output.endloop.

is_data = lt_outputchanging
cr_data = er_entityset ).

insert lc_expand_tech_clause into table et_expanded_tech_clauses.

I really appreciate your valuable contributions.



multilevel-2.png (17.6 kB)
multilevel-3.png (13.7 kB)
multilevel-4.png (27.4 kB)
multilevel-5.png (29.7 kB)
multilevel-6.png (31.1 kB)
multilevel-7.png (34.3 kB)