<?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: ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400399#M816426</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;&lt;/P&gt;&lt;P&gt;We can use ABAP ALV LIST and GRID function modules to display Normal LIST and Hiearchical LISTS .&lt;/P&gt;&lt;P&gt;All the definitions TYPES and STRUCTURES and CONSTANTS are defined&lt;/P&gt;&lt;P&gt;in the TYPE-POOL 'SLIS' ,so it should be declared first.&lt;/P&gt;&lt;P&gt;TYPE-POOLS : 'SLIS' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To display ALV LISTS the function module used are :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REUSE_ALV_LIST_DISPLAY "For Normal LIST&lt;/P&gt;&lt;P&gt;REUSE_ALV_HIERARCHICAL_LIST_DISPLAY "For Hierarchical LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To display ALV GRID the function module used are :&lt;/P&gt;&lt;P&gt;REUSE_ALV_GRID_DISPLAY . "For GRID display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The most important component of the ALV is the FIELDCATALOG which is of&lt;/P&gt;&lt;P&gt;TYPE SLIS_T_FIEDLCAT_ALV &lt;/P&gt;&lt;P&gt;or of&lt;/P&gt;&lt;P&gt;TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV .&lt;/P&gt;&lt;P&gt;The line items of the field catalog are of &lt;/P&gt;&lt;P&gt;TYPE SLIS_FIELDCAT_ALV . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELDCATALOG&lt;/P&gt;&lt;P&gt;To prepare field catalog certain fields are essential .There are various other fields allowing for vaarious possibilities and display options.&lt;/P&gt;&lt;P&gt;TABNAME&lt;/P&gt;&lt;P&gt;FIELDNAME&lt;/P&gt;&lt;P&gt;REF_TABNAME&lt;/P&gt;&lt;P&gt;SELTECT_M&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Please give me general info on ALV.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=58286" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=58286&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=76490" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=76490&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20591" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20591&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=66305" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=66305&lt;/A&gt; - this one discusses which way should you use - ABAP Objects calls or simple function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How do I program double click in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=11601" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=11601&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=23010" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=23010&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. How do I add subtotals (I have problem to add them)...&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20386" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20386&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=85191" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=85191&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88401" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88401&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=17335" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=17335&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. How to add list heading like top-of-page in ABAP lists?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=58775" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=58775&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=60550" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=60550&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=16629" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=16629&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. How to print page number / total number of pages X/XX in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=29597" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=29597&lt;/A&gt; (no direct solution)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=64320" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=64320&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=44477" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=44477&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. How can I set the cell color in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=52107" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=52107&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8. How do I print a logo/graphics in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=81149" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=81149&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=35498" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=35498&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=5013" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=5013&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9. How do I create and use input-enabled fields in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=84933" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=84933&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=69878" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=69878&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10. How can I use ALV for reports that are going to be run in background?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=83243" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=83243&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=19224" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=19224&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11. How can I display an icon in ALV? (Common requirement is traffic light icon).&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=79424" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=79424&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=24512" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=24512&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;12. How can I display a checkbox in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88376" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88376&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=40968" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=40968&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=6919" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=6919&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Link containing all the important PDFS. ( There is a PDF for ALV Grid in this link)&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.easymarketplace.de/online-pdfs.php" target="test_blank"&gt;http://www.easymarketplace.de/online-pdfs.php&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hope this is helpful, Do reward.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Runal Singh on Feb 8, 2008 12:27 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Feb 2008 06:49:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-08T06:49:16Z</dc:date>
    <item>
      <title>ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400397#M816424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;plz gimme sample program forunderstanding structure of ALV PROGRAM using basic explanations&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:45:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400397#M816424</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:45:43Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400398#M816425</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;Sample programs on ALV Grid &lt;/P&gt;&lt;P&gt;report zbnstest. &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES AND DATA DECLARATION. &lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*TABLES: mara,makt.",marc. &lt;/P&gt;&lt;P&gt;data syrepid like sy-repid. &lt;/P&gt;&lt;P&gt;data sydatum(10). " LIKE sy-datum. &lt;/P&gt;&lt;P&gt;data sypagno(3) type n. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GROUP (TYPE-POOLS---------&amp;gt;SLIS) &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE DECLARATION. &lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of t_mara occurs 0, &lt;/P&gt;&lt;P&gt;matnr like mara-matnr, &lt;/P&gt;&lt;P&gt;meins like mara-meins, &lt;/P&gt;&lt;P&gt;mtart like mara-mtart, &lt;/P&gt;&lt;P&gt;matkl like mara-matkl, &lt;/P&gt;&lt;P&gt;end of t_mara. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_marc occurs 0, &lt;/P&gt;&lt;P&gt;matnr like mara-matnr, &lt;/P&gt;&lt;P&gt;werks like marc-werks, &lt;/P&gt;&lt;P&gt;minbe like marc-minbe. &lt;/P&gt;&lt;P&gt;data: end of t_marc. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of t_makt occurs 0, &lt;/P&gt;&lt;P&gt;matnr like mara-matnr, &lt;/P&gt;&lt;P&gt;maktx like makt-maktx, &lt;/P&gt;&lt;P&gt;spras like makt-spras, &lt;/P&gt;&lt;P&gt;end of t_makt. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of itab1 occurs 0, &lt;/P&gt;&lt;P&gt;matnr like mara-matnr, &lt;/P&gt;&lt;P&gt;meins like mara-meins, &lt;/P&gt;&lt;P&gt;maktx like makt-maktx, &lt;/P&gt;&lt;P&gt;spras like makt-spras, &lt;/P&gt;&lt;P&gt;werks like marc-werks, &lt;/P&gt;&lt;P&gt;minbe like marc-minbe, &lt;/P&gt;&lt;P&gt;end of itab1. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND THE LAYOUT FOR THE ALV. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS IS DONE TO MAKE THE CODE SIMPLER. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAMS. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MORE TABLES AND CREATE A STRUCTURE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line, &lt;/P&gt;&lt;P&gt;fieldlayout type slis_layout_alv. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE ETC. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : eventstab type slis_t_event with header line. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : heading type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading1 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading2 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading3 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading4 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading5 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading6 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading7 type slis_t_listheader with header line. &lt;/P&gt;&lt;P&gt;data : heading8 type slis_t_listheader 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;STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : colorstruct type slis_coltypes. &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;initialization. &lt;/P&gt;&lt;P&gt;syrepid = sy-repid. &lt;/P&gt;&lt;P&gt;sypagno = sy-pagno. &lt;/P&gt;&lt;P&gt;clear fieldcatalog. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;start-of-selection. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE COLORSTRUCT &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_colorstruct using colorstruct. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_fieldcatalog. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform selectdata_and_sort. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform populate_layout using fieldlayout. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform merge_fieldcatalog. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE EVENTSTAB. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_eventstab tables eventstab. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO POPULATE THE HEADING TABLES. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform fill_headingtable tables heading using 'HEADING'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading1 using 'HEADING1'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading2 using 'HEADING2'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading3 using 'HEADING3'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading4 using 'HEADING4'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading5 using 'HEADING5'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading6 using 'HEADING6'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading7 using 'HEADING7'. &lt;/P&gt;&lt;P&gt;perform fill_headingtable tables heading8 using 'HEADING8'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SUBROUTINE TO DISPLAY THE LIST. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;perform display_alv_list. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORMS &lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLUMN JUSTIFICATION. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form populate_fieldcatalog. &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATNR' 'X' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MEINS' ' '. &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MAKTX' ' ' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MTART' ' ' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MATKL' ' ' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'SPRAS' ' ' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'WERKS' ' ' . &lt;/P&gt;&lt;P&gt;perform fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;using 'ITAB1' 'MINBE' ' ' . &lt;/P&gt;&lt;P&gt;endform. " POPULATE_FIELDCATALOG &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 FILL_FIELDS_OF_FIELDCATALOG * &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;........ * &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;--&amp;gt; FIELDCATALOG * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_TABNAME * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_FIELDNAME * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY * &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; P_KEY * &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 fill_fields_of_fieldcatalog tables fieldcatalog &lt;/P&gt;&lt;P&gt;structure fieldcatalog &lt;/P&gt;&lt;P&gt;using p_tabname &lt;/P&gt;&lt;P&gt;p_fieldname &lt;/P&gt;&lt;P&gt;p_key. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;p_no_out. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldcatalog-tabname = p_tabname. &lt;/P&gt;&lt;P&gt;fieldcatalog-fieldname = p_fieldname. &lt;/P&gt;&lt;P&gt;fieldcatalog-key = p_key. &lt;/P&gt;&lt;P&gt;fieldcatalog-emphasize = '1234'. &lt;/P&gt;&lt;P&gt;*fieldcatalog-no_out = p_no_out. &lt;/P&gt;&lt;P&gt;append fieldcatalog. &lt;/P&gt;&lt;P&gt;endform. " FILL_FIELDSOFFIELDCATALOG &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 * &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;........ * &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;--&amp;gt; FIELDLAYOUT * &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 using fieldlayout type slis_layout_alv. &lt;/P&gt;&lt;P&gt;fieldlayout-f2code = '&amp;amp;ETA' . &lt;/P&gt;&lt;P&gt;fieldlayout-zebra = 'X'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOR THE WINDOW TITLE. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-window_titlebar = 'ALV with Events'. &lt;/P&gt;&lt;P&gt;fieldlayout-colwidth_optimize = 'X'. &lt;/P&gt;&lt;P&gt;fieldlayout-no_vline = ' '. &lt;/P&gt;&lt;P&gt;*fieldlayout-no_input = 'X'. &lt;/P&gt;&lt;P&gt;fieldlayout-confirmation_prompt = ''. &lt;/P&gt;&lt;P&gt;fieldlayout-key_hotspot = 'X'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This removes the column headings if the flag is set to 'X' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;fieldlayout-no_colhead = ' '. &lt;/P&gt;&lt;P&gt;*fieldlayout-hotspot_fieldname = 'MAKTX'. &lt;/P&gt;&lt;P&gt;fieldlayout-detail_popup = 'X'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldlayout-coltab_fieldname = 'X'. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. " POPULATE_LAYOUT &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 SELECTDATA_AND_SORT * &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;........ * &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 selectdata_and_sort. &lt;/P&gt;&lt;P&gt;select matnr meins mtart matkl from mara &lt;/P&gt;&lt;P&gt;into corresponding fields of t_mara &lt;/P&gt;&lt;P&gt;up to 500 rows . &lt;/P&gt;&lt;P&gt;select matnr maktx spras from makt &lt;/P&gt;&lt;P&gt;into corresponding fields of t_makt &lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr and &lt;/P&gt;&lt;P&gt;spras = sy-langu. &lt;/P&gt;&lt;P&gt;select matnr werks minbe from marc &lt;/P&gt;&lt;P&gt;into corresponding fields of t_marc &lt;/P&gt;&lt;P&gt;where matnr = t_mara-matnr. &lt;/P&gt;&lt;P&gt;append t_marc. &lt;/P&gt;&lt;P&gt;endselect. &lt;/P&gt;&lt;P&gt;append t_makt. &lt;/P&gt;&lt;P&gt;endselect. &lt;/P&gt;&lt;P&gt;append t_mara. &lt;/P&gt;&lt;P&gt;endselect. &lt;/P&gt;&lt;P&gt;perform populate_itab1. &lt;/P&gt;&lt;P&gt;sort itab1 by matnr. &lt;/P&gt;&lt;P&gt;endform. " SELECTDATA_AND_SORT &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 MERGE_FIELDCATALOG * &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;........ * &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 merge_fieldcatalog. &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 = syrepid &lt;/P&gt;&lt;P&gt;i_internal_tabname = 'ITAB1' &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'COLORSTRUCT' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_inclname = syrepid &lt;/P&gt;&lt;P&gt;changing &lt;/P&gt;&lt;P&gt;ct_fieldcat = fieldcatalog[] &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;endform. " MERGE_FIELDCATALOG &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FOLLOWS:- &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_callback_program --&amp;gt; CALLING PROGRAM NAME &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name --&amp;gt; STRUCTURE NAME. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_layout --&amp;gt; LAYOUT NAME. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it_fieldcat ---&amp;gt; BODY OF THE FIELD CATALOGUE INTERNAL TABLE &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;form display_alv_list. &lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY' &lt;/P&gt;&lt;P&gt;exporting &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_callback_program = syrepid &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_structure_name = 'ITAB1' &lt;/P&gt;&lt;P&gt;is_layout = fieldlayout &lt;/P&gt;&lt;P&gt;it_fieldcat = fieldcatalog[] &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOOL BAR &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_save = 'A' &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT = ' ' &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;it_events = eventstab[] &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_PRINT = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables &lt;/P&gt;&lt;P&gt;t_outtab = itab1 &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;endform. " DISPLAY_ALV_LIST &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 POPULATE_ITAB1 &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;text &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;--&amp;gt; p1 text &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text &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_itab1. &lt;/P&gt;&lt;P&gt;loop at t_mara. &lt;/P&gt;&lt;P&gt;loop at t_makt where matnr = t_mara-matnr. &lt;/P&gt;&lt;P&gt;loop at t_marc where matnr = t_mara-matnr. &lt;/P&gt;&lt;P&gt;move-corresponding t_mara to itab1. &lt;/P&gt;&lt;P&gt;move-corresponding t_makt to itab1. &lt;/P&gt;&lt;P&gt;move-corresponding t_marc to itab1. &lt;/P&gt;&lt;P&gt;append itab1. &lt;/P&gt;&lt;P&gt;endloop. &lt;/P&gt;&lt;P&gt;endloop. &lt;/P&gt;&lt;P&gt;endloop. &lt;/P&gt;&lt;P&gt;endform. " POPULATE_ITAB1 &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 FILL_EVENTSTAB &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;text &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;--&amp;gt;P_EVENTSTAB text * &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 fill_eventstab tables p_eventstab structure eventstab. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EVENTS NAME. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = p_eventstab[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;list_type_wrong = 1 &lt;/P&gt;&lt;P&gt;others = 2. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS DYNAMICALY CALLED. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_page. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'TOP_OF_PAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_coverpage. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'TOP_OF_COVERPAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_coverpage . &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'END_OF_COVERPAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_top_of_page. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_foreign_end_of_page. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'FOREIGN_END_OF_PAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_list_modify. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'LIST_MODIFY' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_top_of_list. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'TOP_OF_LIST' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_page. &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'END_OF_PAGE' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;read table p_eventstab with key name = slis_ev_end_of_list . &lt;/P&gt;&lt;P&gt;if sy-subrc = 0 . &lt;/P&gt;&lt;P&gt;move 'END_OF_LIST' to p_eventstab-form. &lt;/P&gt;&lt;P&gt;append p_eventstab. &lt;/P&gt;&lt;P&gt;endif. &lt;/P&gt;&lt;P&gt;endform. " FILL_EVENTSTAB &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 FILL_HEADINGTABLE &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;text &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;--&amp;gt;P_HEADING text * &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 fill_headingtable tables p_heading structure heading &lt;/P&gt;&lt;P&gt;using tablename. &lt;/P&gt;&lt;P&gt;case tablename. &lt;/P&gt;&lt;P&gt;when 'HEADING'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;concatenate &lt;/P&gt;&lt;P&gt;' REPORT NAME:-' syrepid &lt;/P&gt;&lt;P&gt;' ABB Industry Pte Ltd' into p_heading-info. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;write sy-datum using edit mask '__/__/____' to sydatum. &lt;/P&gt;&lt;P&gt;concatenate &lt;/P&gt;&lt;P&gt;' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno &lt;/P&gt;&lt;P&gt;into p_heading-info. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING1'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-COVER-PAGE'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING2'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-COVER-PAGE'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING3'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-TOP-OF-PAGE'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING4'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'FOREIGN-END-OF-PAGE'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN 'HEADING5'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-TYP = 'H'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADING-INFO = 'LIST-MODIFY'. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND P_HEADING. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;when 'HEADING6'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-PAGE'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING7'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'END-OF-LIST'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;when 'HEADING8'. &lt;/P&gt;&lt;P&gt;p_heading-typ = 'H'. &lt;/P&gt;&lt;P&gt;p_heading-info = 'TOP-OF-LIST'. &lt;/P&gt;&lt;P&gt;append p_heading. &lt;/P&gt;&lt;P&gt;endcase. &lt;/P&gt;&lt;P&gt;endform. " FILL_HEADINGTABLE &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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ * &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 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 = heading[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 FILL_COLORSTRUCT &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;text &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;--&amp;gt;P_COLORSTRUCT text * &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 fill_colorstruct using p_colorstruct type slis_coltypes . &lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-col = 6. &lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-int = 1. &lt;/P&gt;&lt;P&gt;p_colorstruct-heacolfir-inv = 1. &lt;/P&gt;&lt;P&gt;endform. " FILL_COLORSTRUCT &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_COVERPAGE * &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;........ * &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 top_of_coverpage. &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 = heading1[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 END_OF_COVERPAGE * &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;........ * &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 end_of_coverpage. &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 = heading2[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 FOREIGN_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ * &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 foreign_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 = heading3[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 FOREIGN_END_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ * &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 foreign_end_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 = heading4[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 LIST_MODIFY * &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;........ * &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 LIST_MODIFY. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEADING5[] &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 1. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM. &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 END_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;........ * &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 end_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 = heading6[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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 END_OF_LIST * &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;........ * &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 end_of_list. &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 = heading7[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &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_LIST * &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;........ * &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 top_of_list. &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 = heading8[] &lt;/P&gt;&lt;P&gt;exceptions &lt;/P&gt;&lt;P&gt;others = 1. &lt;/P&gt;&lt;P&gt;endform. &lt;/P&gt;&lt;P&gt;*--- End of Program &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't forget to reward if useful...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:48:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400398#M816425</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:48:19Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400399#M816426</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;&lt;/P&gt;&lt;P&gt;We can use ABAP ALV LIST and GRID function modules to display Normal LIST and Hiearchical LISTS .&lt;/P&gt;&lt;P&gt;All the definitions TYPES and STRUCTURES and CONSTANTS are defined&lt;/P&gt;&lt;P&gt;in the TYPE-POOL 'SLIS' ,so it should be declared first.&lt;/P&gt;&lt;P&gt;TYPE-POOLS : 'SLIS' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To display ALV LISTS the function module used are :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REUSE_ALV_LIST_DISPLAY "For Normal LIST&lt;/P&gt;&lt;P&gt;REUSE_ALV_HIERARCHICAL_LIST_DISPLAY "For Hierarchical LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To display ALV GRID the function module used are :&lt;/P&gt;&lt;P&gt;REUSE_ALV_GRID_DISPLAY . "For GRID display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The most important component of the ALV is the FIELDCATALOG which is of&lt;/P&gt;&lt;P&gt;TYPE SLIS_T_FIEDLCAT_ALV &lt;/P&gt;&lt;P&gt;or of&lt;/P&gt;&lt;P&gt;TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV .&lt;/P&gt;&lt;P&gt;The line items of the field catalog are of &lt;/P&gt;&lt;P&gt;TYPE SLIS_FIELDCAT_ALV . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELDCATALOG&lt;/P&gt;&lt;P&gt;To prepare field catalog certain fields are essential .There are various other fields allowing for vaarious possibilities and display options.&lt;/P&gt;&lt;P&gt;TABNAME&lt;/P&gt;&lt;P&gt;FIELDNAME&lt;/P&gt;&lt;P&gt;REF_TABNAME&lt;/P&gt;&lt;P&gt;SELTECT_M&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Please give me general info on ALV.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=58286" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=58286&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=76490" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=76490&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20591" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20591&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=66305" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=66305&lt;/A&gt; - this one discusses which way should you use - ABAP Objects calls or simple function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How do I program double click in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=11601" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=11601&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=23010" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=23010&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. How do I add subtotals (I have problem to add them)...&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20386" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20386&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=85191" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=85191&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88401" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88401&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=17335" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=17335&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. How to add list heading like top-of-page in ABAP lists?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=58775" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=58775&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=60550" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=60550&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=16629" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=16629&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. How to print page number / total number of pages X/XX in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=29597" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=29597&lt;/A&gt; (no direct solution)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=64320" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=64320&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=44477" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=44477&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. How can I set the cell color in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=52107" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=52107&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8. How do I print a logo/graphics in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=81149" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=81149&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=35498" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=35498&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=5013" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=5013&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9. How do I create and use input-enabled fields in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=84933" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=84933&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=69878" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=69878&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10. How can I use ALV for reports that are going to be run in background?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=83243" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=83243&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=19224" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=19224&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11. How can I display an icon in ALV? (Common requirement is traffic light icon).&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=79424" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=79424&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=24512" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=24512&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;12. How can I display a checkbox in ALV?&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88376" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88376&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=40968" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=40968&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=6919" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=6919&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Link containing all the important PDFS. ( There is a PDF for ALV Grid in this link)&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.easymarketplace.de/online-pdfs.php" target="test_blank"&gt;http://www.easymarketplace.de/online-pdfs.php&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hope this is helpful, Do reward.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Runal Singh on Feb 8, 2008 12:27 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:49:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400399#M816426</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400400#M816427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz reward if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT YSUBALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------" /&gt;Declaration of variables--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To pass name of the report in function module for ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To pass the overall structure of the ALV report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:  STRUCT_LAYOUT    TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA:  STRUCT_LAYOUT1   TYPE SLIS_LAYOUT_ALV.&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 capture various events in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : I_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for catalog of the fields to be displayed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE  SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;data : x_fieldcat TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  I_FIELDCAT1 TYPE  SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;data : x_fieldcat1 TYPE SLIS_FIELDCAT_ALV.&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 mention the sort sequence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : IT_SORT TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA : X_SORT TYPE SLIS_SORTINFO_ALV.&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 display top of page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : i_list_top_of_page type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure to display variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; data : i_variant like disvariant,&lt;/P&gt;&lt;P&gt;        i_variant1 like disvariant.&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 pass data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF I_TAB OCCURS 0,&lt;/P&gt;&lt;P&gt;        mblnr like mseg-mblnr ,&lt;/P&gt;&lt;P&gt;        matnr like mseg-matnr,&lt;/P&gt;&lt;P&gt;        maktg like makt-maktg ,&lt;/P&gt;&lt;P&gt;        charg like mseg-charg ,&lt;/P&gt;&lt;P&gt;        werks like mseg-werks,&lt;/P&gt;&lt;P&gt;        lgort like mseg-lgort,&lt;/P&gt;&lt;P&gt;        menge like mseg-menge ,&lt;/P&gt;&lt;P&gt;        meins like mseg-meins ,&lt;/P&gt;&lt;P&gt;        dmbtr like mseg-dmbtr,&lt;/P&gt;&lt;P&gt;        ebeln like mseg-ebeln,&lt;/P&gt;&lt;P&gt;        icn(4) type c ,&lt;/P&gt;&lt;P&gt;        sym(4) type c ,&lt;/P&gt;&lt;P&gt;        excpt(2) type c ,&lt;/P&gt;&lt;P&gt;        box(1),&lt;/P&gt;&lt;P&gt;    END OF I_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*EJECT&lt;/P&gt;&lt;P&gt; DATA : begin of i_doc occurs 0 .&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE MSEG.&lt;/P&gt;&lt;P&gt; DATA : end of i_doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;------&lt;DEL&gt;-End of Data Declaration&lt;/DEL&gt;-------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PARAMETERS : P_VAR LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_VARIANT_INIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_VAR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Once the user has entered variant, check about its existence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_CHECK_PVAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VAR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display a list of various variants of the report when the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user presses F4 key in the variant field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_VARIANT_F4.&lt;/P&gt;&lt;P&gt;&lt;/P&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;Prepare field catalog for the main report. State the name of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the field , name of internal table , various formatting options etc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_PREPARE_FIELDCATALOG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetches records from database into table i_tab to be passed as export&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter t_outtab in function module : REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_SELECT_RECORD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate stat and icon columns of internal table i_tab with specific&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns and symbols based on some logic for quantity and value fields.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_MODIFY_RECORDS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the overall layout of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_DETERMINE_ALV_LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the sort sequence of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_DETERMINE_SORT_SEQUENCE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defines the event table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_EVENTTAB_BUILD USING I_EVENTS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Things to be written at the top of the page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_COMMENT_BUILD USING i_list_top_of_page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; PERFORM SUB_SHOW_ALV_LIST.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; struct_layout-hotspot_fieldname  = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt; PERFORM SUB_HOTSPOT.&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  SUB_VARIANT_INIT&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;Display default variant&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 SUB_VARIANT_INIT.&lt;/P&gt;&lt;P&gt;I_VARIANT1-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search default variant for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_save     = 'A'&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            cs_variant = i_variant1&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If default variant is found , use it as default.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Else , use the variant LAYOUT1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_var = i_variant1-variant.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    p_var = 'LAYOUT1'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_VARIANT_INIT&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  SUB_CHECK_PVAR&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;Once the user has entered variant, check about its existence&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 SUB_CHECK_PVAR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the name of the variable is not blank, check about its existence&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if not p_var is initial.&lt;/P&gt;&lt;P&gt;  clear i_variant.&lt;/P&gt;&lt;P&gt;  i_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;  i_variant-variant = p_var.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_SAVE     = 'A'&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              CS_VARIANT = I_VARIANT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no such variant found , flash error message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     if sy-subrc ne 0 .&lt;/P&gt;&lt;P&gt;      message e398(00) with 'No such variant exists'.&lt;/P&gt;&lt;P&gt;     else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If variant exists , use the variant name to populate structure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_VARIANT1 which will be used for export parameter : IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in the function module : REUSE_ALV_GRID_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       clear i_variant1.&lt;/P&gt;&lt;P&gt;       move p_var to i_variant1-variant.&lt;/P&gt;&lt;P&gt;       move sy-repid to i_variant1-report.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;P&gt;   clear i_variant.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SUB_CHECK_PVAR&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  SUB_PREPARE_FIELDCATALOG&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;Prepare field catalog for the main report. State the name of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the field , name of internal table , various formatting options etc&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 SUB_PREPARE_FIELDCATALOG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First field to appear in ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; X_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'SYM'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Heading for the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Stat'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field is going to contain a symbol&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-symbol = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the specifications to the internal table for field catalog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second field to appear in ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the field in the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Heading for the column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'MatItem'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;It is going to be the key field.The color for this field is going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be different&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  X_fieldcat-key_sel = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Single click on the field will trigger double click event.Also, a hand&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will appear when the cursor navigates to the field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The column and those left to it will not scroll&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F1 help will come as it is referenced to DDIC table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-ref_tabname = 'MSEG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; X_FIELDCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'MAKTG'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Description'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 50.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-hotspot = space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field is centre(C for centre, R and L for left and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;right) justified&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-just = 'C'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   X_fieldcat-fix_column = 'X'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; X_FIELDCAT-COL_POS = 4.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'CHARG'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Batch'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-hotspot = space.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-COL_POS = 5.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Purchase Order'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 14.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The field will be colored differently(Cxyz)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C511'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initially the field will be hidden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 6.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'MBLNR'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Document no'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 14.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C711'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 7.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'WERKS'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Plant'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-emphasize = 'C310'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt; clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-COL_POS = 8.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'LGORT'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'St.Loc'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_FIELDCAT-OUTPUTLEN = 7.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 9.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Quantity'.&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-OUTPUTLEN = 12.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Summation is allowed for this field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  x_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-ref_tabname = 'MSEG'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 10.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'ICN'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = ''.&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-OUTPUTLEN = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  x_fieldcat-icon = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; X_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; X_FIELDCAT-COL_POS = 11.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Unit'.&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-OUTPUTLEN = 5.&lt;/P&gt;&lt;P&gt;  x_fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS = 12.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = 'Local curr'.&lt;/P&gt;&lt;P&gt;   X_FIELDCAT-OUTPUTLEN = 12.&lt;/P&gt;&lt;P&gt;  x_fieldcat-INTTYPE = 'P'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-just = 'R'.&lt;/P&gt;&lt;P&gt;  x_fieldcat-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;  append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_FIELDCAT-COL_POS = 13.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'EXCPT'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'I_TAB'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SELTEXT_M = ''.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = 3.&lt;/P&gt;&lt;P&gt; append X_fieldcat TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;  clear x_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_PREPARE_FIELDCATALOG&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  SUB_SELECT_RECORD&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;Fetches records from database into table i_tab to be passed as export&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameter t_outtab in function module : REUSE_ALV_GRID_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 SUB_SELECT_RECORD.&lt;/P&gt;&lt;P&gt;SELECT  mblnr A&lt;SUB&gt;matnr A&lt;/SUB&gt;maktg charg&lt;/P&gt;&lt;P&gt;        werks lgort menge meins dmbtr ebeln&lt;/P&gt;&lt;P&gt;         FROM makt as a join mseg as b&lt;/P&gt;&lt;P&gt;           on ( a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;P&gt;           INTO TABLE I_TAB&lt;/P&gt;&lt;P&gt;           where b~bwart = '101' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_SELECT_RECORD&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  SUB_MODIFY_RECORDS&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;Populate stat and icon columns of internal table i_tab with specific&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;columns and symbols based on some logic for quantity and value 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 SUB_MODIFY_RECORDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_tab.&lt;/P&gt;&lt;P&gt;if i_tab-dmbtr gt 10000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field icn of internal table is going to contain icon . For this column&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*icon_allowed is set in the field catalog table. For various icons,see&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;type pool &amp;lt;ICON&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; i_tab-icn = '@1V@'.&lt;/P&gt;&lt;P&gt; modify i_tab transporting icn.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;if i_tab-menge gt 50.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field icn of internal table is going to contain symbol . For this&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;column symbol_allowed is set in the field catalog table. For various&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;icons,see type pool &amp;lt;SYMBOL&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; i_tab-sym = 'N'.&lt;/P&gt;&lt;P&gt; modify i_tab transporting sym.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF I_TAB-WERKS NE 'SDC1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This field will contain lights , traffic signals : red.yellow,green&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;That this field will be used as a light will be specified in the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;column of structure STRUCT_LAYOUT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  I_TAB-EXCPT = '1'.&lt;/P&gt;&lt;P&gt;  MODIFY I_TAB TRANSPORTING EXCPT.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_MODIFY_RECORDS&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  SUB_DETERMINE_ALV_LAYOUT                                 *&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; Defines the overall structure of the report layout                  *&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;P&gt;form SUB_DETERMINE_ALV_LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field EXCPT will show the light signal&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   STRUCT_LAYOUT-LIGHTS_FIELDNAME       = 'EXCPT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field BOS of the internal table will act as pushbutton and will appear&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at the left of the grid display. User will press that to select a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   struct_layout-box_fieldname          = 'BOX'.&lt;/P&gt;&lt;P&gt;   STRUCT_layout-totals_text            = 'Totqty '.&lt;/P&gt;&lt;P&gt;   STRUCT_LAYOUT-ZEBRA                  = 'X'.&lt;/P&gt;&lt;P&gt;   struct_layout-confirmation_prompt    = 'X'.&lt;/P&gt;&lt;P&gt;   struct_layout-detail_titlebar        = 'Details of Storing'.&lt;/P&gt;&lt;P&gt;   struct_layout-no_sumchoice           = 'X'.&lt;/P&gt;&lt;P&gt;   struct_layout-totals_only            = 'X'.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_DETERMINE_ALV_LAYOUT&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  SUB_DETERMINE_SORT_SEQUENCE&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;Defines the sort sequence of the report&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 SUB_DETERMINE_SORT_SEQUENCE.&lt;/P&gt;&lt;P&gt;X_sort-spos = 1.                           " Sort order&lt;/P&gt;&lt;P&gt;X_sort-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;X_sort-tabname = 'I_TAB'.&lt;/P&gt;&lt;P&gt;X_sort-up = 'X'.&lt;/P&gt;&lt;P&gt;X_sort-subtot = 'X'.                      " Sub total allowed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append X_sort TO IT_SORT.&lt;/P&gt;&lt;P&gt;clear X_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_DETERMINE_SORT_SEQUENCE&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  SUB_SHOW_ALV_LIST&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;Shows ALV list in grid form&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 SUB_SHOW_ALV_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_CALLBACK_PROGRAM                    = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_GRID_TITLE                          = 'Details of Storing'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calls subroutine : PF_STATUS_SET&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_pf_status_set           = 'PF_STATUS_SET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calls subroutine : user_command&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Overall structure of the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IS_LAYOUT                          = STRUCT_LAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes the field catg internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IT_FIELDCAT                        = I_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passws the sort sequence internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IT_SORT                            = IT_SORT&lt;/P&gt;&lt;P&gt;       I_DEFAULT                          = 'X'&lt;/P&gt;&lt;P&gt;       I_SAVE                             = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes the internal table for variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IS_VARIANT                         = i_variant1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fetches different events into internal table i_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_events                          = i_events[]&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passes data table for ALV display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        T_OUTTAB                          = I_TAB&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;              .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_SHOW_ALV_LIST&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  set_status&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; Form used to set the Custom pf-status of the 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; rt_extab :&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 pf_status_set USING i_rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt; data : x_extab type slis_extab.&lt;/P&gt;&lt;P&gt; x_extab-fcode = '&amp;amp;LFO'.&lt;/P&gt;&lt;P&gt; append x_extab to i_rt_extab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pf-status STANDARD of program SAPLSALV is copied to ZSTANDARD of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;current program and the pushbutton for Information (okcode=&amp;amp;LFO) is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;excluded&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD' excluding i_rt_extab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  user_command&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; Form used to handle USER_COMMAND events&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; rf_ucomm: Function Code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; rs      : Internal Table containing the selection information.&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 user_command USING rf_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                          rs TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;data : v_mblnr like mseg-mblnr.&lt;/P&gt;&lt;P&gt;case rf_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A custom pushbutton for record deletion is set in the GUI status.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When a record is selected , the field BOC for that record becomes 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The records are traced and deleted and the fields are refreshed( rs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of type slis_selfield is refreshed)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; when '&amp;amp;DEL'.                 "Print button clicked.&lt;/P&gt;&lt;P&gt;    delete i_tab where box = 'X'.&lt;/P&gt;&lt;P&gt;     rs-refresh = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the user selects a row and presses the Select pushbutton ( user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;defined ) from the application toolbar, the details of the document&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will be shown in another ALV list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; when '&amp;amp;SEL'.&lt;/P&gt;&lt;P&gt;  PERFORM SUB_SELECT_DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  set parameter id 'MBN'  field  i_tab-mblnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  call transaction 'MB03'.&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;Ok code for double click is &amp;amp;IC1 for ALV report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;  perform sub_hotspot.&lt;/P&gt;&lt;P&gt; endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  SUB_HOTSPOT&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;      text&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 SUB_HOTSPOT.&lt;/P&gt;&lt;P&gt; message i398(00) with 'Hello'.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_HOTSPOT&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  SUB_VARIANT_F4&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;Display a list of various variants of the report when the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user presses F4 key in the variant field&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 SUB_VARIANT_F4.&lt;/P&gt;&lt;P&gt;i_variant-report = sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Utilising the name of the report , this function module will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;search for a list of variants and will fetch the selected one into&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the parameter field for variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            IS_VARIANT         = I_VARIANT&lt;/P&gt;&lt;P&gt;            I_SAVE             = 'A'&lt;/P&gt;&lt;P&gt;            I_DISPLAY_VIA_GRID = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            ES_VARIANT         = I_VARIANT1&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NOT_FOUND          = 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 = 0.&lt;/P&gt;&lt;P&gt;    P_VAR = I_VARIANT1-VARIANT.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_VARIANT_F4&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  SUB_SELECT_DOCUMENT&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;      text&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; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&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 SUB_SELECT_DOCUMENT.&lt;/P&gt;&lt;P&gt;data : v_lines type i .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_tab with key box = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   select *&lt;/P&gt;&lt;P&gt;          from mseg INTO TABLE I_DOC&lt;/P&gt;&lt;P&gt;          WHERE MBLNR = I_TAB-MBLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0 .&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               = V_REPID&lt;/P&gt;&lt;P&gt;       I_INTERNAL_TABNAME          = 'I_DOC'&lt;/P&gt;&lt;P&gt;       I_STRUCTURE_NAME             = 'MSEG'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CT_FIELDCAT                  = I_FIELDCAT1&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;&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;P&gt;&lt;/P&gt;&lt;P&gt; clear struct_layout1.&lt;/P&gt;&lt;P&gt; STRUCT_layout1-colwidth_optimize  = 'X'.&lt;/P&gt;&lt;P&gt; refresh it_sort.&lt;/P&gt;&lt;P&gt; clear it_sort.&lt;/P&gt;&lt;P&gt;&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                 = V_REPID&lt;/P&gt;&lt;P&gt;       I_GRID_TITLE                       = 'Details of Document'&lt;/P&gt;&lt;P&gt;       IS_LAYOUT                          = STRUCT_LAYOUT1&lt;/P&gt;&lt;P&gt;       IT_FIELDCAT                        = I_FIELDCAT1&lt;/P&gt;&lt;P&gt;       i_structure_name                   = 'MSEG'&lt;/P&gt;&lt;P&gt;       I_DEFAULT                          = 'X'&lt;/P&gt;&lt;P&gt;       I_SAVE                             = 'A'&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB                          = I_DOC&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;              .&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;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_SELECT_DOCUMENT&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  SUB_COMMENT_BUILD&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;      text&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;     --&amp;gt;P_I_LIST_TOP_OF_PAGE  text&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 SUB_COMMENT_BUILD using   I_top_of_page TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA: ls_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Header&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LS_LINE-KEY: not used for this type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-info = 'Heading list'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO I_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Selection&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Key 1'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Material '.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO i_top_of_page.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'Key 2'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Document no'.&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO I_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Action&lt;/P&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SUB_COMMENT_BUILD&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  SUB_EVENTTAB_BUILD&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;Defines the event 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;FORM sub_eventtab_build USING l_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the different events of the ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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   = l_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Search the top of page events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE l_events WITH KEY name = slis_ev_top_of_page INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO l_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;endform.                    " SUB_EVENTTAB_BUILD&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When TOP-OF-PAGE will be fired , this event will be called and it&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;will use the contents of i_list_top_of_page for output in the header&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 top_of_page.&lt;/P&gt;&lt;P&gt;*&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;            i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;            it_list_commentary = i_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:49:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400400#M816427</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400401#M816428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Check this simple program..&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TABLES : MARA.

SELECT-OPTIONS:S_MATNR FOR MARA-MATNR DEFAULT '1' TO '1000'.

DATA ITAB LIKE MARA OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.

  SELECT * FROM MARA INTO TABLE ITAB WHERE MATNR IN S_MATNR.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      I_STRUCTURE_NAME   = 'MARA'
    TABLES
      T_OUTTAB           = ITAB
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another Program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TYPE-POOLS:SLIS.

TABLES:MARA.

DATA:IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA:WA_FCAT TYPE SLIS_FIELDCAT_ALV.

*********************************************************************
*           Selection Screen
*********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:S_MATNR FOR MARA-MATNR  DEFAULT '000000000000000001'
TO'000000000000001000'.
SELECTION-SCREEN END OF BLOCK B1.

*********************************************************************
*             Internal Table
********************************************************************
DATA:BEGIN OF ITAB OCCURS 0,

     MATNR LIKE MARA-MATNR,
     ERSDA LIKE MARA-ERSDA,
     ERNAM LIKE MARA-ERNAM,
     NTGEW LIKE MARA-NTGEW,

     END OF ITAB.

**********************************************************************
*             Start of Selection
**********************************************************************

START-OF-SELECTION.

  SELECT MATNR
         ERSDA
         ERNAM
         NTGEW FROM MARA INTO TABLE ITAB WHERE MATNR IN S_MATNR.
********************************************************************
*         Field Cataloue Design
********************************************************************

  WA_FCAT-COL_POS = '1'.
  WA_FCAT-FIELDNAME = 'NTGEW'.
  WA_FCAT-KEY = 'X'.
  WA_FCAT-HOTSPOT = 'X'.
  WA_FCAT-SELTEXT_M = 'Net Weight'.
  APPEND WA_FCAT TO IT_FCAT.


  WA_FCAT-COL_POS = '2'.
  WA_FCAT-FIELDNAME = 'MATNR'.
  WA_FCAT-KEY = ' '.
  WA_FCAT-HOTSPOT = ''.
  WA_FCAT-SELTEXT_M = 'Material Number'.
  APPEND WA_FCAT TO IT_FCAT.



  WA_FCAT-COL_POS = '3'.
  WA_FCAT-FIELDNAME = 'ERSDA'.
  WA_FCAT-SELTEXT_M = 'Some thing'.
  WA_FCAT-NO_OUT = 'X'.
  APPEND WA_FCAT TO IT_FCAT.


  WA_FCAT-COL_POS = '4'.
  WA_FCAT-FIELDNAME = 'ERNAM'.
  WA_FCAT-SELTEXT_M = 'Something 2t'.
  WA_FCAT-NO_OUT = ' '.
  APPEND WA_FCAT TO IT_FCAT.

************************************************************************
*              Display Data
***********************************************************************


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      I_GRID_TITLE       = 'Material Details'
      IT_FIELDCAT        = IT_FCAT
    TABLES
      T_OUTTAB           = ITAB
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:49:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400401#M816428</guid>
      <dc:creator>former_member188829</dc:creator>
      <dc:date>2008-02-08T06:49:24Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400402#M816429</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;There are 4 types of ALV's.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Basic ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Blocked ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Hierarchial ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Interactive ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : it_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;it_fieldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;it_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;it_event1 TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;it_event2 TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;it_header TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form sub_create_events *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This form will display the ALV Events * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM sub_create_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Local Work Area&lt;/P&gt;&lt;P&gt;DATA: lwa_event TYPE slis_alv_event. "Work area for Events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Call Function to display the events for the ALV&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 = 1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;et_events = it_events.&lt;/P&gt;&lt;P&gt;*--Sort by Name&lt;/P&gt;&lt;P&gt;SORT it_events BY name.&lt;/P&gt;&lt;P&gt;*--Clear&lt;/P&gt;&lt;P&gt;CLEAR lwa_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE it_events INTO lwa_event WITH KEY name =&lt;/P&gt;&lt;P&gt;slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE c_top_of_page TO lwa_event-form.&lt;/P&gt;&lt;P&gt;MODIFY it_events FROM lwa_event TRANSPORTING form WHERE&lt;/P&gt;&lt;P&gt;name = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*--Clear&lt;/P&gt;&lt;P&gt;CLEAR : lwa_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "sub_create_events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form sub_top_of_page *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This form is to build the Page Header * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM sub_top_of_page .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Local Variable&lt;/P&gt;&lt;P&gt;DATA : lv_title(120) TYPE c, " Title&lt;/P&gt;&lt;P&gt;lv_month(30) TYPE c,&lt;/P&gt;&lt;P&gt;lv_mont(30) TYPE c,&lt;/P&gt;&lt;P&gt;lv_bud(16) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Local Work Area&lt;/P&gt;&lt;P&gt;DATA : lwa_line TYPE slis_listheader. " Hold list header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE p_month 'to' s_hmonth INTO lv_month SEPARATED BY space. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT s_hmonth IS INITIAL. &lt;/P&gt;&lt;P&gt;lv_mont = lv_month. &lt;/P&gt;&lt;P&gt;ELSE. &lt;/P&gt;&lt;P&gt;lv_mont = p_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Title Display&lt;/P&gt;&lt;P&gt;lwa_line-typ = 'H'. " header&lt;/P&gt;&lt;P&gt;lv_title = sy-title.&lt;/P&gt;&lt;P&gt;lwa_line-info = lv_title.&lt;/P&gt;&lt;P&gt;APPEND lwa_line TO it_header.&lt;/P&gt;&lt;P&gt;CLEAR lwa_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Month Display&lt;/P&gt;&lt;P&gt;lwa_line-typ = 'S'. " Item&lt;/P&gt;&lt;P&gt;WRITE: lv_mont TO lv_month.&lt;/P&gt;&lt;P&gt;lwa_line-key = text-024.&lt;/P&gt;&lt;P&gt;lwa_line-info = lv_month.&lt;/P&gt;&lt;P&gt;APPEND lwa_line TO it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Budget Display&lt;/P&gt;&lt;P&gt;lwa_line-typ = 'S'. " Item&lt;/P&gt;&lt;P&gt;WRITE: p_bud TO lv_bud.&lt;/P&gt;&lt;P&gt;lwa_line-key = text-025.&lt;/P&gt;&lt;P&gt;lwa_line-info = lv_bud.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND lwa_line TO it_header.&lt;/P&gt;&lt;P&gt;CLEAR: lwa_line,&lt;/P&gt;&lt;P&gt;lv_mont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--This funcation module will display the top of the 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 = it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Free&lt;/P&gt;&lt;P&gt;FREE : it_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "sub_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check these links&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=58775" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=58775&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=60550" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=60550&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=16629" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=16629&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward Points if found helpfull..&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Cheers,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Chandra Sekhar.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:51:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3400402#M816429</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:51:20Z</dc:date>
    </item>
  </channel>
</rss>

