<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: internal table column to row conversion in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399156#M534300</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    actually my problem is different i want only  one column fields into row and&lt;/P&gt;&lt;P&gt;my requirements is that i wanna to print all alternative bom that is associated with a component and that is coming in a coloumn should be print in row under headings altbom1 altbom2 and so on.&lt;/P&gt;&lt;P&gt;i m giving my code this is working please suggest me the solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZQMR_MIXDESIGN&lt;/P&gt;&lt;P&gt;NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;LINE-SIZE 255 LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION FOR TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: MAST,STPO,MAKT,STKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type-pools&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type pools for ALV display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;G_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;G_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;G_EXIT_CAUSED_BY_CALLER,&lt;/P&gt;&lt;P&gt;G_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,&lt;/P&gt;&lt;P&gt;G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;*g_variant like disvariant.&lt;/P&gt;&lt;P&gt;*G_SAVE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration for Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : C_X TYPE C VALUE 'X', " Flag&lt;/P&gt;&lt;P&gt;C_C TYPE C VALUE 'C', " Flag&lt;/P&gt;&lt;P&gt;C_L TYPE C VALUE 'L', " Flag&lt;/P&gt;&lt;P&gt;C_A TYPE C VALUE 'A', " Line Type&lt;/P&gt;&lt;P&gt;C_H TYPE C VALUE 'H', " Dr/Cr&lt;/P&gt;&lt;P&gt;C_S TYPE C VALUE 'S'. " Line Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_MAST OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAST-MATNR,&lt;/P&gt;&lt;P&gt;WERKS LIKE MAST-WERKS,&lt;/P&gt;&lt;P&gt;STLAN LIKE MAST-STLAN,&lt;/P&gt;&lt;P&gt;STLNR LIKE MAST-STLNR,&lt;/P&gt;&lt;P&gt;STLAL LIKE MAST-STLAL,&lt;/P&gt;&lt;P&gt;ANDAT LIKE MAST-ANDAT,&lt;/P&gt;&lt;P&gt;END OF T_MAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: T_MAST LIKE MAST OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for STPO Table data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF T_STPO OCCURS 0,&lt;/P&gt;&lt;P&gt;STLTY LIKE STPO-STLTY,&lt;/P&gt;&lt;P&gt;STLNR LIKE STPO-STLNR,&lt;/P&gt;&lt;P&gt;ANDAT LIKE STPO-ANDAT,&lt;/P&gt;&lt;P&gt;IDNRK LIKE STPO-IDNRK,&lt;/P&gt;&lt;P&gt;MEINS LIKE STPO-MEINS,&lt;/P&gt;&lt;P&gt;MENGE LIKE STPO-MENGE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;END OF T_STPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_MAKT OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAKT-MATNR,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;END OF T_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: BEGIN OF T_STKO OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STLTY LIKE STKO-STLTY,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STLNR LIKE STKO-STLNR,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STKTX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;IDNRK LIKE STPO-IDNRK,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;MEINS LIKE STPO-MEINS,&lt;/P&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE2 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE3 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE4 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE5 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE6 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE7 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE8 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;END OF T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;* Internal table to hold field catgory data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV. " Table - field catgory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Sort/Subtotals criteria data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV. " Table - sort/Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV, " Structure-layout&lt;/P&gt;&lt;P&gt;X_FLDCAT LIKE LINE OF I_FLDCAT, " Structure-field catagory&lt;/P&gt;&lt;P&gt;X_SORT LIKE LINE OF I_SORT. " Structure-Sort/Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-050.&lt;/P&gt;&lt;P&gt;PARAMETERS: MATNR LIKE MAST-MATNR OBLIGATORY,&lt;/P&gt;&lt;P&gt;WERKS LIKE MAST-WERKS OBLIGATORY,&lt;/P&gt;&lt;P&gt;STLAN LIKE MAST-STLAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;STLAL FOR MAST-STLAL.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;perform layout_init using x_layout.&lt;/P&gt;&lt;P&gt;perform eventtab_build using g_events[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;g_save = 'A'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM VALIDATE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Data from Database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM READ_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build layout report layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM populate_layout_stucture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform build_field_catalog and Sort Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_SORT_TOTALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Header for Top-Of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM COMMENT_BUILD USING G_LIST_TOP_OF_PAGE[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call list viewer function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM CALL_LIST_VIEWER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;STRONG&gt;Form - Routines&lt;/STRONG&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : layout_init&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Form to Build layout for list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form layout_init using rs_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;rs_layout-detail_popup = c_x.&lt;/P&gt;&lt;P&gt;endform. "layout_init&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : Eventtab_build&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Registration of events to happen during list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Registration of events to happen during list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: LS_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ET_EVENTS = rt_events.&lt;/P&gt;&lt;P&gt;read table rt_events with key name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;into ls_event.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move g_top_of_page to ls_event-form.&lt;/P&gt;&lt;P&gt;append ls_event to rt_events.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. "eventtab_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : top_of_page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IT_LIST_COMMENTARY = g_list_top_of_page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_END_OF_LIST_GRID =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_ALV_FORM =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;endform. "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form validate_screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form VALIDATE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Session Start Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT MATNR IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE MATNR&lt;/P&gt;&lt;P&gt;INTO MAST-MATNR&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR EQ MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Material Number' type 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT WERKS IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE WERKS&lt;/P&gt;&lt;P&gt;INTO MAST-WERKS&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE WERKS EQ WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Plant' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT STLAN IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE STLAN&lt;/P&gt;&lt;P&gt;INTO MAST-STLAN&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE STLAN EQ STLAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Usage' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT STLAL IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT STLAL&lt;/P&gt;&lt;P&gt;INTO MAST-STLAL&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE STLAL IN STLAL.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Alternative BOM' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "validate_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form read_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the Data from the database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR T_MAST.&lt;/P&gt;&lt;P&gt;REFRESH T_MAST.&lt;/P&gt;&lt;P&gt;SELECT MATNR WERKS STLAN STLNR STLAL ANDAT&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE T_MAST&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR = MATNR&lt;/P&gt;&lt;P&gt;AND WERKS = WERKS&lt;/P&gt;&lt;P&gt;and STLAN = STLAN&lt;/P&gt;&lt;P&gt;AND STLAL IN STLAL.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message 'No data found' type 'I'.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_MAST BY MATNR WERKS STLAN STLAL ANDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT T_MAST[] IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR T_STPO.&lt;/P&gt;&lt;P&gt;REFRESH T_STPO.&lt;/P&gt;&lt;P&gt;SELECT&lt;/P&gt;&lt;P&gt;STLTY&lt;/P&gt;&lt;P&gt;STLNR&lt;/P&gt;&lt;P&gt;ANDAT&lt;/P&gt;&lt;P&gt;IDNRK&lt;/P&gt;&lt;P&gt;MEINS&lt;/P&gt;&lt;P&gt;MENGE&lt;/P&gt;&lt;P&gt;INTO TABLE T_STPO&lt;/P&gt;&lt;P&gt;FROM STPO&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_MAST&lt;/P&gt;&lt;P&gt;WHERE STLNR = T_MAST-STLNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_STPO BY STLTY STLNR ANDAT IDNRK.&lt;/P&gt;&lt;P&gt;IF NOT T_MAST[] IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR T_MAKT.&lt;/P&gt;&lt;P&gt;REFRESH T_MAKT.&lt;/P&gt;&lt;P&gt;SELECT MATNR MAKTX INTO&lt;/P&gt;&lt;P&gt;TABLE T_MAKT&lt;/P&gt;&lt;P&gt;FROM MAKT&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR = T_MAST-MATNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_MAST .&lt;/P&gt;&lt;P&gt;READ TABLE T_STPO WITH KEY STLNR = T_MAST-STLNR&lt;/P&gt;&lt;P&gt;ANDAT = T_MAST-ANDAT BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-IDNRK = T_STPO-IDNRK.&lt;/P&gt;&lt;P&gt;T_FINAL-MEINS = T_STPO-MEINS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE T_MAKT WITH KEY MATNR = T_MAST-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-MAKTX = T_MAKT-MAKTX.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;DATA: W_STPO LIKE STPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM STPO INTO W_STPO WHERE&lt;/P&gt;&lt;P&gt;IDNRK = STPO-IDNRK.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-MENGE1 = W_STPO-MENGE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append t_final.&lt;/P&gt;&lt;P&gt;clear t_final.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT T_STPO INTO W_STPO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "Read Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : populate_layout_stucture&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Populating the layout structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_layout_stucture.&lt;/P&gt;&lt;P&gt;clear x_layout .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout properties&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;x_layout-zebra = c_x.&lt;/P&gt;&lt;P&gt;x_layout-detail_popup = c_x.&lt;/P&gt;&lt;P&gt;x_layout-detail_initial_lines = c_x.&lt;/P&gt;&lt;P&gt;x_layout-colwidth_optimize = c_x.&lt;/P&gt;&lt;P&gt;endform. " populate_layout_stucture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : build_field_catalog&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Building the field catalog data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_field_catalog.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_PROGRAM_NAME = g_repid&lt;/P&gt;&lt;P&gt;I_INTERNAL_TABNAME = 'T_FINAL'&lt;/P&gt;&lt;P&gt;I_INCLNAME = g_repid&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = i_fldcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the Header text for the coloums&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;loop at i_fldcat into x_fldcat where&lt;/P&gt;&lt;P&gt;fieldname = 'IDNRK' or&lt;/P&gt;&lt;P&gt;fieldname = 'MAKTX' or&lt;/P&gt;&lt;P&gt;fieldname = 'MEINS' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE1' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE2' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE3' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE4' OR&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE5' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE6' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE7' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'IDNRK'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-inttype = c_c.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-inttype = c_c.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify i_fldcat from x_fldcat index sy-tabix.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " build_field_catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : build_sort_totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Building the Criteria for Sort/Subtotals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_sort_totals.&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'IDNRK'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 1.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 2.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 3.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE1'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 4.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE2'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 5.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE3'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 6.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE4'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 7.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE5'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 8.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE6'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 9.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE7'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 10.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 11.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " build_sort_totals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : comment_build&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : This form is used to display the Report Header(ALV)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form comment_build using lt_top_of_page type&lt;/P&gt;&lt;P&gt;slis_t_listheader.&lt;/P&gt;&lt;P&gt;data: l_line type slis_listheader,&lt;/P&gt;&lt;P&gt;l_heading1 like rs38m-repti.&lt;/P&gt;&lt;P&gt;clear l_line.&lt;/P&gt;&lt;P&gt;l_heading1 = 'Fuel Consumption Report'.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_line-typ = c_h.&lt;/P&gt;&lt;P&gt;move l_heading1 to l_line-info.&lt;/P&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: GD_DATE(10), HD_DATE(10).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_line-TYP = c_s.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF date-LOW IS NOT INITIAL AND date-HIGH IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE date-LOW TO GD_DATE DD/MM/YYYY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE date-HIGH TO HD_DATE DD/MM/YYYY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONCATENATE 'Date From :' GD_DATE 'to' HD_DATE INTO l_line-INFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR: l_line, GD_DATE, HD_DATE .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_line-TYP = c_s.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;concatenate ' Plant : ' Plant-low&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' To: ' Plant-high into l_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. "comment_build&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : call_list_viewer&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : This form is used to display the grid through ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form call_list_viewer.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = g_repid&lt;/P&gt;&lt;P&gt;IS_LAYOUT = x_layout&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = i_fldcat[]&lt;/P&gt;&lt;P&gt;IT_SORT = i_sort[]&lt;/P&gt;&lt;P&gt;I_DEFAULT = c_x&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SAVE = g_save&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = g_events[]&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = g_exit_caused_by_caller&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = g_exit_caused_by_user&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = T_final&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write: / 'Problem in calling the ALV report'(042).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endform. " call_list_viewer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Jun 2007 06:08:41 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-05T06:08:41Z</dc:date>
    <item>
      <title>internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399151#M534295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;                plz any one tell me how i can show the coloumn output in row .&lt;/P&gt;&lt;P&gt;actually this report is for BOM and for a specific component there are at most 8 BOMs so there will be atmost 8 entries in a coloumn and i wanna to show that entries in the form of  single row for that specific component.&lt;/P&gt;&lt;P&gt;if any body did it b4 for any module plz give me the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks in advance.&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;vijay dwivedi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewards will be sure for each helpfull answer*&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:53:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399151#M534295</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T05:53:58Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399152#M534296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample code..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

DATA: ITAB(10) OCCURS 0 WITH HEADER LINE.
DATA: V_MOD TYPE I.

ITAB = '11'. APPEND ITAB.
ITAB = '12'. APPEND ITAB.
ITAB = '13'. APPEND ITAB.
ITAB = '14'. APPEND ITAB.
ITAB = '21'. APPEND ITAB.
ITAB = '22'. APPEND ITAB.
ITAB = '23'. APPEND ITAB.
ITAB = '24'. APPEND ITAB.

* Display the records.
LOOP AT ITAB.

  V_MOD = SY-TABIX MOD 4.

  IF V_MOD = 0.

* New line
    WRITE: / ITAB.
  Else.

* same line
    WRITE: ITAB.
  ENDIF.

ENDLOOP.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:58:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399152#M534296</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T05:58:16Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399153#M534297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can use the PIVOT Table in the excel to do such requirement unless they do need any validations to be done based on tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Gopi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:59:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399153#M534297</guid>
      <dc:creator>gopi_narendra</dc:creator>
      <dc:date>2007-06-05T05:59:40Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399154#M534298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vijay , &lt;/P&gt;&lt;P&gt;  Is the output in report form , if it is the you can use the AT NEW command to check if a new component is being considered or not , if it is a new component the start printing in a new line else continue with the same line.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Arun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 05:59:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399154#M534298</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T05:59:55Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399155#M534299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can make an Itab with 8 fields and then pass the entries that you have in your specific component column to each of the 8 fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Right now you have 1 column and 8 rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In itab you will have 8 columns(fields) and 1 row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;that one row (structure of itab) will have 8 fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab,&lt;/P&gt;&lt;P&gt;&amp;lt;field1&amp;gt;,&lt;/P&gt;&lt;P&gt;. .&lt;/P&gt;&lt;P&gt;&amp;lt;field8&amp;gt;,&lt;/P&gt;&lt;P&gt;end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then move each column entry into itab-field1, itab-field2....etc.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 06:02:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399155#M534299</guid>
      <dc:creator>Azeemquadri</dc:creator>
      <dc:date>2007-06-05T06:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399156#M534300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    actually my problem is different i want only  one column fields into row and&lt;/P&gt;&lt;P&gt;my requirements is that i wanna to print all alternative bom that is associated with a component and that is coming in a coloumn should be print in row under headings altbom1 altbom2 and so on.&lt;/P&gt;&lt;P&gt;i m giving my code this is working please suggest me the solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZQMR_MIXDESIGN&lt;/P&gt;&lt;P&gt;NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;LINE-SIZE 255 LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION FOR TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: MAST,STPO,MAKT,STKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type-pools&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type pools for ALV display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;G_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;G_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;G_EXIT_CAUSED_BY_CALLER,&lt;/P&gt;&lt;P&gt;G_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,&lt;/P&gt;&lt;P&gt;G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;*g_variant like disvariant.&lt;/P&gt;&lt;P&gt;*G_SAVE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration for Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : C_X TYPE C VALUE 'X', " Flag&lt;/P&gt;&lt;P&gt;C_C TYPE C VALUE 'C', " Flag&lt;/P&gt;&lt;P&gt;C_L TYPE C VALUE 'L', " Flag&lt;/P&gt;&lt;P&gt;C_A TYPE C VALUE 'A', " Line Type&lt;/P&gt;&lt;P&gt;C_H TYPE C VALUE 'H', " Dr/Cr&lt;/P&gt;&lt;P&gt;C_S TYPE C VALUE 'S'. " Line Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_MAST OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAST-MATNR,&lt;/P&gt;&lt;P&gt;WERKS LIKE MAST-WERKS,&lt;/P&gt;&lt;P&gt;STLAN LIKE MAST-STLAN,&lt;/P&gt;&lt;P&gt;STLNR LIKE MAST-STLNR,&lt;/P&gt;&lt;P&gt;STLAL LIKE MAST-STLAL,&lt;/P&gt;&lt;P&gt;ANDAT LIKE MAST-ANDAT,&lt;/P&gt;&lt;P&gt;END OF T_MAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: T_MAST LIKE MAST OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for STPO Table data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF T_STPO OCCURS 0,&lt;/P&gt;&lt;P&gt;STLTY LIKE STPO-STLTY,&lt;/P&gt;&lt;P&gt;STLNR LIKE STPO-STLNR,&lt;/P&gt;&lt;P&gt;ANDAT LIKE STPO-ANDAT,&lt;/P&gt;&lt;P&gt;IDNRK LIKE STPO-IDNRK,&lt;/P&gt;&lt;P&gt;MEINS LIKE STPO-MEINS,&lt;/P&gt;&lt;P&gt;MENGE LIKE STPO-MENGE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;END OF T_STPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_MAKT OCCURS 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAKT-MATNR,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;END OF T_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: BEGIN OF T_STKO OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STLTY LIKE STKO-STLTY,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STLNR LIKE STKO-STLNR,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STKTX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;IDNRK LIKE STPO-IDNRK,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;MEINS LIKE STPO-MEINS,&lt;/P&gt;&lt;P&gt;MENGE1 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE2 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE3 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE4 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE5 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE6 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE7 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;MENGE8 LIKE STPO-MENGE,&lt;/P&gt;&lt;P&gt;END OF T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;* Internal table to hold field catgory data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV. " Table - field catgory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Sort/Subtotals criteria data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV. " Table - sort/Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV, " Structure-layout&lt;/P&gt;&lt;P&gt;X_FLDCAT LIKE LINE OF I_FLDCAT, " Structure-field catagory&lt;/P&gt;&lt;P&gt;X_SORT LIKE LINE OF I_SORT. " Structure-Sort/Subtotals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-050.&lt;/P&gt;&lt;P&gt;PARAMETERS: MATNR LIKE MAST-MATNR OBLIGATORY,&lt;/P&gt;&lt;P&gt;WERKS LIKE MAST-WERKS OBLIGATORY,&lt;/P&gt;&lt;P&gt;STLAN LIKE MAST-STLAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;STLAL FOR MAST-STLAL.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;perform layout_init using x_layout.&lt;/P&gt;&lt;P&gt;perform eventtab_build using g_events[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;g_save = 'A'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM VALIDATE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Data from Database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM READ_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build layout report layout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM populate_layout_stucture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform build_field_catalog and Sort Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_SORT_TOTALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Header for Top-Of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM COMMENT_BUILD USING G_LIST_TOP_OF_PAGE[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call list viewer function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM CALL_LIST_VIEWER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************&lt;STRONG&gt;Form - Routines&lt;/STRONG&gt;**************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : layout_init&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Form to Build layout for list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form layout_init using rs_layout type slis_layout_alv.&lt;/P&gt;&lt;P&gt;rs_layout-detail_popup = c_x.&lt;/P&gt;&lt;P&gt;endform. "layout_init&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : Eventtab_build&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Registration of events to happen during list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Registration of events to happen during list display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: LS_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ET_EVENTS = rt_events.&lt;/P&gt;&lt;P&gt;read table rt_events with key name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;into ls_event.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move g_top_of_page to ls_event-form.&lt;/P&gt;&lt;P&gt;append ls_event to rt_events.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. "eventtab_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : top_of_page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IT_LIST_COMMENTARY = g_list_top_of_page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_END_OF_LIST_GRID =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_ALV_FORM =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;endform. "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form validate_screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form VALIDATE_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Session Start Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT MATNR IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE MATNR&lt;/P&gt;&lt;P&gt;INTO MAST-MATNR&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR EQ MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Material Number' type 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT WERKS IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE WERKS&lt;/P&gt;&lt;P&gt;INTO MAST-WERKS&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE WERKS EQ WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Plant' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT STLAN IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE STLAN&lt;/P&gt;&lt;P&gt;INTO MAST-STLAN&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE STLAN EQ STLAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Usage' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR MAST.&lt;/P&gt;&lt;P&gt;IF NOT STLAL IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT STLAL&lt;/P&gt;&lt;P&gt;INTO MAST-STLAL&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE STLAL IN STLAL.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'Enter Valid Alternative BOM' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "validate_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form read_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read the Data from the database Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR T_MAST.&lt;/P&gt;&lt;P&gt;REFRESH T_MAST.&lt;/P&gt;&lt;P&gt;SELECT MATNR WERKS STLAN STLNR STLAL ANDAT&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE T_MAST&lt;/P&gt;&lt;P&gt;FROM MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR = MATNR&lt;/P&gt;&lt;P&gt;AND WERKS = WERKS&lt;/P&gt;&lt;P&gt;and STLAN = STLAN&lt;/P&gt;&lt;P&gt;AND STLAL IN STLAL.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message 'No data found' type 'I'.&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_MAST BY MATNR WERKS STLAN STLAL ANDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT T_MAST[] IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR T_STPO.&lt;/P&gt;&lt;P&gt;REFRESH T_STPO.&lt;/P&gt;&lt;P&gt;SELECT&lt;/P&gt;&lt;P&gt;STLTY&lt;/P&gt;&lt;P&gt;STLNR&lt;/P&gt;&lt;P&gt;ANDAT&lt;/P&gt;&lt;P&gt;IDNRK&lt;/P&gt;&lt;P&gt;MEINS&lt;/P&gt;&lt;P&gt;MENGE&lt;/P&gt;&lt;P&gt;INTO TABLE T_STPO&lt;/P&gt;&lt;P&gt;FROM STPO&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_MAST&lt;/P&gt;&lt;P&gt;WHERE STLNR = T_MAST-STLNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_STPO BY STLTY STLNR ANDAT IDNRK.&lt;/P&gt;&lt;P&gt;IF NOT T_MAST[] IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR T_MAKT.&lt;/P&gt;&lt;P&gt;REFRESH T_MAKT.&lt;/P&gt;&lt;P&gt;SELECT MATNR MAKTX INTO&lt;/P&gt;&lt;P&gt;TABLE T_MAKT&lt;/P&gt;&lt;P&gt;FROM MAKT&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_MAST&lt;/P&gt;&lt;P&gt;WHERE MATNR = T_MAST-MATNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_MAST .&lt;/P&gt;&lt;P&gt;READ TABLE T_STPO WITH KEY STLNR = T_MAST-STLNR&lt;/P&gt;&lt;P&gt;ANDAT = T_MAST-ANDAT BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-IDNRK = T_STPO-IDNRK.&lt;/P&gt;&lt;P&gt;T_FINAL-MEINS = T_STPO-MEINS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE T_MAKT WITH KEY MATNR = T_MAST-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-MAKTX = T_MAKT-MAKTX.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;DATA: W_STPO LIKE STPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM STPO INTO W_STPO WHERE&lt;/P&gt;&lt;P&gt;IDNRK = STPO-IDNRK.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;T_FINAL-MENGE1 = W_STPO-MENGE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append t_final.&lt;/P&gt;&lt;P&gt;clear t_final.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT T_STPO INTO W_STPO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "Read Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : populate_layout_stucture&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Populating the layout structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_layout_stucture.&lt;/P&gt;&lt;P&gt;clear x_layout .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout properties&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;x_layout-zebra = c_x.&lt;/P&gt;&lt;P&gt;x_layout-detail_popup = c_x.&lt;/P&gt;&lt;P&gt;x_layout-detail_initial_lines = c_x.&lt;/P&gt;&lt;P&gt;x_layout-colwidth_optimize = c_x.&lt;/P&gt;&lt;P&gt;endform. " populate_layout_stucture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : build_field_catalog&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Building the field catalog data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_field_catalog.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_PROGRAM_NAME = g_repid&lt;/P&gt;&lt;P&gt;I_INTERNAL_TABNAME = 'T_FINAL'&lt;/P&gt;&lt;P&gt;I_INCLNAME = g_repid&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = i_fldcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the Header text for the coloums&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;loop at i_fldcat into x_fldcat where&lt;/P&gt;&lt;P&gt;fieldname = 'IDNRK' or&lt;/P&gt;&lt;P&gt;fieldname = 'MAKTX' or&lt;/P&gt;&lt;P&gt;fieldname = 'MEINS' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE1' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE2' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE3' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE4' OR&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE5' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE6' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE7' or&lt;/P&gt;&lt;P&gt;fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'IDNRK'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'COMPONENT'.&lt;/P&gt;&lt;P&gt;x_fldcat-inttype = c_c.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'COMPONENT DESCRIPTION'.&lt;/P&gt;&lt;P&gt;x_fldcat-inttype = c_c.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'UOM'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM1'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM2'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM3'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM4'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM5'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM6'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM7'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if x_fldcat-fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_l = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_m = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-seltext_s = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-reptext_ddic = 'ALT BOM8'.&lt;/P&gt;&lt;P&gt;x_fldcat-ddictxt = c_l.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify i_fldcat from x_fldcat index sy-tabix.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;endform. " build_field_catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : build_sort_totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : Building the Criteria for Sort/Subtotals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_sort_totals.&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'IDNRK'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 1.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 2.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 3.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE1'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 4.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE2'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 5.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE3'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 6.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE4'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 7.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE5'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 8.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE6'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 9.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE7'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 10.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x_sort-fieldname = 'MENGE8'.&lt;/P&gt;&lt;P&gt;x_sort-tabname = 'T_FINAL'.&lt;/P&gt;&lt;P&gt;x_sort-spos = 11.&lt;/P&gt;&lt;P&gt;x_sort-up = c_x.&lt;/P&gt;&lt;P&gt;*x_sort-subtot = c_x.&lt;/P&gt;&lt;P&gt;append x_sort to i_sort.&lt;/P&gt;&lt;P&gt;clear x_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " build_sort_totals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : comment_build&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : This form is used to display the Report Header(ALV)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form comment_build using lt_top_of_page type&lt;/P&gt;&lt;P&gt;slis_t_listheader.&lt;/P&gt;&lt;P&gt;data: l_line type slis_listheader,&lt;/P&gt;&lt;P&gt;l_heading1 like rs38m-repti.&lt;/P&gt;&lt;P&gt;clear l_line.&lt;/P&gt;&lt;P&gt;l_heading1 = 'Fuel Consumption Report'.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_line-typ = c_h.&lt;/P&gt;&lt;P&gt;move l_heading1 to l_line-info.&lt;/P&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: GD_DATE(10), HD_DATE(10).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_line-TYP = c_s.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF date-LOW IS NOT INITIAL AND date-HIGH IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE date-LOW TO GD_DATE DD/MM/YYYY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE date-HIGH TO HD_DATE DD/MM/YYYY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONCATENATE 'Date From :' GD_DATE 'to' HD_DATE INTO l_line-INFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SEPARATED BY SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR: l_line, GD_DATE, HD_DATE .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_line-TYP = c_s.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;concatenate ' Plant : ' Plant-low&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' To: ' Plant-high into l_line-info.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append l_line to lt_top_of_page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. "comment_build&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : call_list_viewer&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : This form is used to display the grid through ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form call_list_viewer.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = g_repid&lt;/P&gt;&lt;P&gt;IS_LAYOUT = x_layout&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = i_fldcat[]&lt;/P&gt;&lt;P&gt;IT_SORT = i_sort[]&lt;/P&gt;&lt;P&gt;I_DEFAULT = c_x&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SAVE = g_save&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = g_events[]&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = g_exit_caused_by_caller&lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = g_exit_caused_by_user&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = T_final&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;write: / 'Problem in calling the ALV report'(042).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endform. " call_list_viewer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 06:08:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399156#M534300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T06:08:41Z</dc:date>
    </item>
    <item>
      <title>Re: internal table column to row conversion</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399157#M534301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;just replicated the code for ur scenario.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See if this works for u .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;report zex6.

DATA: begin of ITAB OCCURS 0,
      a(10),
      b(10),
      end of itab.

 data : g_flag.
data n type i.

ITAB-a = 'PARENT1'. ITAB-B = 'CHILD1'. . APPEND ITAB.


ITAB-B = 'CHILD2'.APPEND ITAB.
ITAB-B = 'CHILD3'.APPEND ITAB.
ITAB-B = 'CHILD4'.APPEND ITAB.
ITAB-B = 'CHILD5'.APPEND ITAB.
ITAB-B = 'CHILD6'.APPEND ITAB.
ITAB-B = 'CHILD7'.APPEND ITAB.
ITAB-B = 'CHILD8'.APPEND ITAB.

ITAB-a = 'PARENT2'. ITAB-B = 'CHILD21'.  . APPEND ITAB.

ITAB-B = 'CHILD22'.APPEND ITAB.
ITAB-B = 'CHILD23'.APPEND ITAB.
ITAB-B = 'CHILD24'.APPEND ITAB.

*ur itab structure .

loop at itab.         "ur itab format
write:/ itab-a , itab-b.
endloop.


**making columns to rows.
skip 2.

write:/ 'making columns to rows'.
sort itab by a b.
loop at itab.

at new  a.
g_flag  = 'X'.
write:/ itab-a.
endat.if g_flag  = 'X'.
 n = n + 10.
write at n itab-b.
endif.

at end of  a .
clear:  g_flag, n.
endat.

endloop.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 07:06:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/internal-table-column-to-row-conversion/m-p/2399157#M534301</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T07:06:33Z</dc:date>
    </item>
  </channel>
</rss>

