{"id":7618,"date":"2025-08-24T16:24:43","date_gmt":"2025-08-24T10:54:43","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=what-is-hierarchical-alv"},"modified":"2025-08-24T16:24:43","modified_gmt":"2025-08-24T10:54:43","slug":"what-is-hierarchical-alv","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=what-is-hierarchical-alv","title":{"rendered":"What is Hierarchical ALV?"},"content":{"rendered":"<ul>\n<li>\n<p><strong>Hierarchical ALV<\/strong> allows you to display <strong>header\u2013item relationships<\/strong> (like parent\u2013child data).<\/p>\n<\/li>\n<li>\n<p>Example: One material (<code>MARA<\/code>) is the <strong>header<\/strong>, and its plant details (<code>MARC<\/code>) are the <strong>items<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Useful for showing <strong>1:N relationships<\/strong> in a single ALV output.<\/p>\n<\/li>\n<\/ul>\n<p>In the SAP function module world, this is usually done using:<br \/>\ud83d\udc49 <code>REUSE_ALV_HIERSEQ_LIST_DISPLAY<\/code><\/p>\n<\/p>\n<p><!--StartFragment --><span><span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<\/span><br \/>\n<span>*&amp;\u00a0Report\u00a0\u00a0ZTEST_PROGRAM_2<\/span><br \/>\n<span>*&amp;<\/span><br \/>\n<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<\/span><br \/>\n<span>*&amp;<\/span><br \/>\n<span>*&amp;<\/span><br \/>\n<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<\/span><\/p>\n<p><span>REPORT\u00a0<\/span>ztest_program_2<span>.<\/span><\/p>\n<p><span>TYPE-POOLS<\/span><span>:\u00a0<\/span>slis<span>.<\/span><\/p>\n<p><span>DATA<\/span><span>:\u00a0<\/span>it_mara\u00a0<span>TYPE\u00a0<\/span><span>TABLE\u00a0<\/span><span>OF\u00a0<\/span>mara<span>,<\/span><br \/>\nit_marc\u00a0<span>TYPE\u00a0<\/span><span>TABLE\u00a0<\/span><span>OF\u00a0<\/span>marc<span>.<\/span><\/p>\n<p><span>DATA<\/span><span>:\u00a0<\/span>it_fieldcat_header\u00a0<span>TYPE\u00a0<\/span>slis_t_fieldcat_alv<span>,<\/span><br \/>\nit_fieldcat_item\u00a0\u00a0\u00a0<span>TYPE\u00a0<\/span>slis_t_fieldcat_alv<span>,<\/span><br \/>\nwa_fieldcat\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>TYPE\u00a0<\/span>slis_fieldcat_alv<span>.<\/span><\/p>\n<p><span>DATA<\/span><span>:\u00a0<\/span>gs_keyinfo\u00a0<span>TYPE\u00a0<\/span>slis_keyinfo_alv<span>.<\/span><\/p>\n<p><span>&#8220;&#8212;\u00a0Fetch\u00a0Data\u00a0(limit\u00a0for\u00a0demo)<\/span><br \/>\n<span>SELECT\u00a0<\/span>*\u00a0<span>FROM\u00a0<\/span>mara\u00a0<span>UP\u00a0<\/span><span>TO\u00a0<\/span><span>10\u00a0<\/span><span>ROWS\u00a0<\/span><span>INTO\u00a0<\/span><span>TABLE\u00a0<\/span>it_mara<span>.<\/span><br \/>\n<span>SELECT\u00a0<\/span>*\u00a0<span>FROM\u00a0<\/span>marc\u00a0<span>UP\u00a0<\/span><span>TO\u00a0<\/span><span>50\u00a0<\/span><span>ROWS\u00a0<\/span><span>INTO\u00a0<\/span><span>TABLE\u00a0<\/span>it_marc<span>.<\/span><\/p>\n<p><span>&#8220;&#8212;\u00a0Build\u00a0Field\u00a0Catalog\u00a0for\u00a0MARA\u00a0(Header)<\/span><br \/>\n<span>CLEAR\u00a0<\/span>wa_fieldcat<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>fieldname\u00a0<span>=\u00a0<\/span>&#8216;MATNR&#8217;<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>seltext_m\u00a0<span>=\u00a0<\/span>&#8216;Material&#8217;<span>.<\/span><br \/>\n<span>APPEND\u00a0<\/span>wa_fieldcat\u00a0<span>TO\u00a0<\/span>it_fieldcat_header<span>.<\/span><\/p>\n<p><span>CLEAR\u00a0<\/span>wa_fieldcat<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>fieldname\u00a0<span>=\u00a0<\/span>&#8216;MTART&#8217;<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>seltext_m\u00a0<span>=\u00a0<\/span>&#8216;Material\u00a0Type&#8217;<span>.<\/span><br \/>\n<span>APPEND\u00a0<\/span>wa_fieldcat\u00a0<span>TO\u00a0<\/span>it_fieldcat_header<span>.<\/span><\/p>\n<p><span>&#8220;&#8212;\u00a0Build\u00a0Field\u00a0Catalog\u00a0for\u00a0MARC\u00a0(Item)<\/span><br \/>\n<span>CLEAR\u00a0<\/span>wa_fieldcat<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>fieldname\u00a0<span>=\u00a0<\/span>&#8216;MATNR&#8217;<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>seltext_m\u00a0<span>=\u00a0<\/span>&#8216;Material&#8217;<span>.<\/span><br \/>\n<span>APPEND\u00a0<\/span>wa_fieldcat\u00a0<span>TO\u00a0<\/span>it_fieldcat_item<span>.<\/span><\/p>\n<p><span>CLEAR\u00a0<\/span>wa_fieldcat<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>fieldname\u00a0<span>=\u00a0<\/span>&#8216;WERKS&#8217;<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>seltext_m\u00a0<span>=\u00a0<\/span>&#8216;Plant&#8217;<span>.<\/span><br \/>\n<span>APPEND\u00a0<\/span>wa_fieldcat\u00a0<span>TO\u00a0<\/span>it_fieldcat_item<span>.<\/span><\/p>\n<p><span>CLEAR\u00a0<\/span>wa_fieldcat<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>fieldname\u00a0<span>=\u00a0<\/span>&#8216;DISMM&#8217;<span>.<\/span><br \/>\nwa_fieldcat<span>&#8211;<\/span>seltext_m\u00a0<span>=\u00a0<\/span>&#8216;MRP\u00a0Type&#8217;<span>.<\/span><br \/>\n<span>APPEND\u00a0<\/span>wa_fieldcat\u00a0<span>TO\u00a0<\/span>it_fieldcat_item<span>.<\/span><\/p>\n<p><span>&#8220;&#8212;\u00a0Key\u00a0Information\u00a0(join\u00a0condition\u00a0between\u00a0header\u00a0and\u00a0item)<\/span><br \/>\ngs_keyinfo<span>&#8211;<\/span>header01\u00a0<span>=\u00a0<\/span>&#8216;MATNR&#8217;<span>.\u00a0<\/span><span>&#8221;\u00a0Header\u00a0Key<\/span><br \/>\ngs_keyinfo<span>&#8211;<\/span>item01\u00a0\u00a0\u00a0<span>=\u00a0<\/span>&#8216;MATNR&#8217;<span>.\u00a0<\/span><span>&#8221;\u00a0Item\u00a0Key<\/span><\/p>\n<p><span>&#8220;&#8212;\u00a0Display\u00a0Hierarchical\u00a0ALV<\/span><br \/>\n<span>CALL\u00a0<\/span><span>FUNCTION\u00a0<\/span>&#8216;REUSE_ALV_HIERSEQ_LIST_DISPLAY&#8217;<br \/>\n<span>EXPORTING<\/span><br \/>\ni_callback_program\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>sy<span>&#8211;<\/span>repid<br \/>\nis_keyinfo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>gs_keyinfo<br \/>\ni_structure_name_header\u00a0<span>=\u00a0<\/span>&#8216;MARA&#8217;<br \/>\ni_structure_name_item\u00a0\u00a0\u00a0<span>=\u00a0<\/span>&#8216;MARC&#8217;<br \/>\ni_tabname_header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>&#8216;MARA&#8217;<br \/>\ni_tabname_item\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>&#8216;MARC&#8217;<br \/>\n<span>TABLES<\/span><br \/>\nt_outtab_header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>it_mara<br \/>\nt_outtab_item\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span>it_marc<br \/>\n<span>EXCEPTIONS<\/span><br \/>\nprogram_error\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>=\u00a0<\/span><span>1<\/span><br \/>\n<span>OTHERS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span>=\u00a0<\/span><span>2<\/span><span>.<\/span><\/p>\n<p><span>IF\u00a0<\/span>sy<span>&#8211;<\/span>subrc\u00a0&lt;&gt;\u00a0<span>0<\/span><span>.<\/span><br \/>\n<span>MESSAGE\u00a0<\/span><span>ID\u00a0<\/span>sy<span>&#8211;<\/span>msgid\u00a0<span>TYPE\u00a0<\/span>sy<span>&#8211;<\/span>msgty\u00a0<span>NUMBER\u00a0<\/span>sy<span>&#8211;<\/span>msgno<br \/>\n<span>WITH\u00a0<\/span>sy<span>&#8211;<\/span>msgv1\u00a0sy<span>&#8211;<\/span>msgv2\u00a0sy<span>&#8211;<\/span>msgv3\u00a0sy<span>&#8211;<\/span>msgv4<span>.<\/span><br \/>\n<span>ENDIF<\/span><span>.<\/span><\/span><\/p>\n<\/p>\n<p>Output:<\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/h1.png\" \/><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[178,367,213,177],"class_list":["post-7618","question","type-question","status-publish","hentry","question-category-abap","question_tags-abap","question_tags-hierarchical-alv","question_tags-reports","question_tags-sap"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question"}],"about":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/types\/question"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7618"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7618"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7618"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}