<?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: wat is ALV ???? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718087#M630506</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;ALV stands for ABAP List Viewer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV can be used for viewing both single level list and multilevel sequential list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 Single level list contains any number of lines that have no Hierarchical relationship to each other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2 Multilevel sequential list consists of any number of lines that have two hierarchical level.&lt;/P&gt;&lt;P&gt;a) Header rows.&lt;/P&gt;&lt;P&gt;b) Item rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are Three types of ALV Reports.&lt;/P&gt;&lt;P&gt;1) Simple&lt;/P&gt;&lt;P&gt;2) Blocked&lt;/P&gt;&lt;P&gt;3) Hierarchical Sequential Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. SIMPLE REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important function modules are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a. Reuse_alv_list_display&lt;/P&gt;&lt;P&gt;b. Reuse_alv_fieldcatalog_merge&lt;/P&gt;&lt;P&gt;c. Reuse_alv_events_get&lt;/P&gt;&lt;P&gt;d. Reuse_alv_commentary_write&lt;/P&gt;&lt;P&gt;e. Reuse_alv_grid_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. BLOCK REPORT&lt;/P&gt;&lt;P&gt;This looks like a simple report but this report has the features of sorting and filtering only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important functions used in this report are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used to set the default gui status etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module adds the data to the block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module display the list with data appended by the above function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Hierarchical reports :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hierarchical sequential list output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_HIERSEQ_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://wiki.ittoolbox.com/index.php/FAQ:How_many_types_of_reports_are_there_in_ABAP_and_what_is_the_difference_between_them%3F" target="test_blank"&gt;http://wiki.ittoolbox.com/index.php/FAQ:How_many_types_of_reports_are_there_in_ABAP_and_what_is_the_difference_between_them%3F&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Aug 2007 12:29:48 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-27T12:29:48Z</dc:date>
    <item>
      <title>wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718085#M630504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hey frds ....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wat is ALV ???types and functions of ALV ???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Send me the Link ???&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 12:26:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718085#M630504</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T12:26:30Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718086#M630505</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;Documentation on alv:&lt;/P&gt;&lt;P&gt;you can check out:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.saptechnical.com/Tutorials/ALV/ALVMainPage.htm" target="test_blank"&gt;http://www.saptechnical.com/Tutorials/ALV/ALVMainPage.htm&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP List Viewer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV). &lt;/P&gt;&lt;P&gt;This helps us to implement all the features mentioned very effectively.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using ALV, We can have three types of reports:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Simple Report&lt;/P&gt;&lt;P&gt;2. Block Report&lt;/P&gt;&lt;P&gt;3. Hierarchical Sequential Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are some function modules which will enable to produce the above reports without much effort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. SIMPLE REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important function modules are &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a. Reuse_alv_list_display&lt;/P&gt;&lt;P&gt;b. Reuse_alv_fieldcatalog_merge&lt;/P&gt;&lt;P&gt;c. Reuse_alv_events_get&lt;/P&gt;&lt;P&gt;d. Reuse_alv_commentary_write&lt;/P&gt;&lt;P&gt;e. Reuse_alv_grid_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important parameters are :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I. Export :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i. I_callback_program : report id&lt;/P&gt;&lt;P&gt;ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status&lt;/P&gt;&lt;P&gt;iii. I_callback_user_command : routine where the function codes are handled&lt;/P&gt;&lt;P&gt;iv. I_structure name : name of the dictionary table &lt;/P&gt;&lt;P&gt;v. Is_layout : structure to set the layout of the report&lt;/P&gt;&lt;P&gt;vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE&lt;/P&gt;&lt;P&gt;vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;II. Tables :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i. t_outtab : internal table with the data to be output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to &lt;/P&gt;&lt;P&gt;populate a fieldcatalog which is essential to display the data in ALV.&lt;/P&gt;&lt;P&gt;If the output data is from a single dictionary table and all the &lt;/P&gt;&lt;P&gt;columns are selected, then we need not exclusively create the field cat&lt;/P&gt;&lt;P&gt;alog. Its enough to mention the table name as a parameter&lt;/P&gt;&lt;P&gt;(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases &lt;/P&gt;&lt;P&gt;we need to create it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Important Parameters are :&lt;/P&gt;&lt;P&gt;I. Export :&lt;/P&gt;&lt;P&gt;i. I_program_name : report id&lt;/P&gt;&lt;P&gt;ii. I_internal_tabname : the internal output table&lt;/P&gt;&lt;P&gt;iii. I_inclname : include or the report name where all the dynamic forms are handled.&lt;/P&gt;&lt;P&gt;II Changing&lt;/P&gt;&lt;P&gt;ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is &lt;/P&gt;&lt;P&gt;declared in the type pool SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : &lt;/P&gt;&lt;P&gt;I. Import :&lt;/P&gt;&lt;P&gt;Et_Events : The event table is returned with all possible CALLBACK events &lt;/P&gt;&lt;P&gt;for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV. &lt;/P&gt;&lt;P&gt;II. Export :&lt;/P&gt;&lt;P&gt;I_List_type : &lt;/P&gt;&lt;P&gt;0 = simple list REUSE_ALV_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND &lt;/P&gt;&lt;P&gt;3 = hierarchical-sequential block list &lt;/P&gt;&lt;P&gt;REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I. it_list_commentary : internal table with the headings of the type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This internal table has three fields :&lt;/P&gt;&lt;P&gt;Typ : &amp;#145;H&amp;#146; &amp;#150; header, &amp;#145;S&amp;#146; &amp;#150; selection , &amp;#145;A&amp;#146; - action&lt;/P&gt;&lt;P&gt;Key : only when typ is &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;Info : the text to be printed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : same as reuse_alv_list_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is an example for simple list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. BLOCK REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is used to have multiple lists continuously.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important functions used in this report are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters: &lt;/P&gt;&lt;P&gt;I. I_CALLBACK_PROGRAM &lt;/P&gt;&lt;P&gt;II. I_CALLBACK_PF_STATUS_SET &lt;/P&gt;&lt;P&gt;III. I_CALLBACK_USER_COMMAND &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used to set the default gui status etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Export : &lt;/P&gt;&lt;P&gt;I. is_layout : layout settings for block &lt;/P&gt;&lt;P&gt;II. it_fieldcat : field catalog &lt;/P&gt;&lt;P&gt;III. i_tabname : internal table name with output data &lt;/P&gt;&lt;P&gt;IV. it_events : internal table with all possible events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tables :&lt;/P&gt;&lt;P&gt;i. t_outtab : internal table with output data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module adds the data to the block. &lt;/P&gt;&lt;P&gt;Repeat this function for all the different blocks to be displayed one after the other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used for hierarchical sequential blocks. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_BLOCK_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : All the parameters are optional. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module display the list with data appended by the above function. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Hierarchical reports : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hierarchical sequential list output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module is &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_HIERSEQ_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters: &lt;/P&gt;&lt;P&gt;I. Export: &lt;/P&gt;&lt;P&gt;i. I_CALLBACK_PROGRAM &lt;/P&gt;&lt;P&gt;ii. I_CALLBACK_PF_STATUS_SET &lt;/P&gt;&lt;P&gt;iii. I_CALLBACK_USER_COMMAND &lt;/P&gt;&lt;P&gt;iv. IS_LAYOUT &lt;/P&gt;&lt;P&gt;v. IT_FIELDCAT &lt;/P&gt;&lt;P&gt;vi. IT_EVENTS &lt;/P&gt;&lt;P&gt;vii. i_tabname_header : Name of the internal table in the program containing the &lt;/P&gt;&lt;P&gt;output data of the highest hierarchy level.&lt;/P&gt;&lt;P&gt;viii. i_tabname_item : Name of the internal table in the program containing the &lt;/P&gt;&lt;P&gt;output data of the lowest hierarchy level.&lt;/P&gt;&lt;P&gt;ix. is_keyinfo : This structure contains the header and item table field &lt;/P&gt;&lt;P&gt;names which link the two tables (shared key). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;II. Tables&lt;/P&gt;&lt;P&gt;i. t_outtab_header : Header table with data to be output&lt;/P&gt;&lt;P&gt;ii. t_outtab_item : Name of the internal table in the program containing the &lt;/P&gt;&lt;P&gt;output data of the lowest hierarchy level. &lt;/P&gt;&lt;P&gt;slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using &amp;#145;REUSE_ALV_FIELDCATALOG_MERGE&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Important Attributes :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. col_pos : position of the column&lt;/P&gt;&lt;P&gt;B. fieldname : internal fieldname&lt;/P&gt;&lt;P&gt;C. tabname : internal table name&lt;/P&gt;&lt;P&gt;D. ref_fieldname : fieldname (dictionary)&lt;/P&gt;&lt;P&gt;E. ref_tabname : table (dictionary)&lt;/P&gt;&lt;P&gt;F. key(1) : column with key-color&lt;/P&gt;&lt;P&gt;G. icon(1) : icon&lt;/P&gt;&lt;P&gt;H. symbol(1) : symbol&lt;/P&gt;&lt;P&gt;I. checkbox(1) : checkbox&lt;/P&gt;&lt;P&gt;J. just(1) : (R)ight (L)eft (C)ent.&lt;/P&gt;&lt;P&gt;K. do_sum(1) : sum up&lt;/P&gt;&lt;P&gt;L. no_out(1) : (O)blig.(X)no out&lt;/P&gt;&lt;P&gt;M. outputlen : output length&lt;/P&gt;&lt;P&gt;N. seltext_l : long key word&lt;/P&gt;&lt;P&gt;O. seltext_m : middle key word&lt;/P&gt;&lt;P&gt;P. seltext_s : short key word&lt;/P&gt;&lt;P&gt;Q. reptext_ddic : heading (ddic)&lt;/P&gt;&lt;P&gt;R. ddictxt(1) : (S)hort (M)iddle (L)ong&lt;/P&gt;&lt;P&gt;S. datatype : datatype&lt;/P&gt;&lt;P&gt;T. hotspot(1) : hotspot &lt;/P&gt;&lt;P&gt;**********************************************************************************************&lt;/P&gt;&lt;P&gt;some theory regarding alv:&lt;/P&gt;&lt;P&gt;This table tells ALV which events are processed by the caller by CALLBACK.&lt;/P&gt;&lt;P&gt;The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET.&lt;/P&gt;&lt;P&gt;You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module&lt;/P&gt;&lt;P&gt;REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed.&lt;/P&gt;&lt;P&gt;The table structure contains the fields:&lt;/P&gt;&lt;P&gt;&amp;#149; IT_EVENTS-NAME&lt;/P&gt;&lt;P&gt;Name of the Callback event. &lt;/P&gt;&lt;P&gt;Possible Callback events:&lt;/P&gt;&lt;P&gt;&amp;#149; Action&lt;/P&gt;&lt;P&gt;USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD&lt;/P&gt;&lt;P&gt;Process actions on the list&lt;/P&gt;&lt;P&gt;As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND. &lt;/P&gt;&lt;P&gt;PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB&lt;/P&gt;&lt;P&gt;If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary).&lt;/P&gt;&lt;P&gt;The STANDARD status of the function group SALV should be used as a template for a user-specific status.&lt;/P&gt;&lt;P&gt;As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET. &lt;/P&gt;&lt;P&gt;ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C&lt;/P&gt;&lt;P&gt;Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT.&lt;/P&gt;&lt;P&gt;Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user.&lt;/P&gt;&lt;P&gt;RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded.&lt;/P&gt;&lt;P&gt;RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case.&lt;/P&gt;&lt;P&gt;CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used.&lt;/P&gt;&lt;P&gt;&amp;#149; List processing events&lt;/P&gt;&lt;P&gt;IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'.&lt;/P&gt;&lt;P&gt;TOP_OF_LIST no USING parameter. Information output at the start of the list&lt;/P&gt;&lt;P&gt;END_OF_LIST no USING parameter. Information output at the end of the list&lt;/P&gt;&lt;P&gt;TOP_OF_PAGE no USING parameter &lt;/P&gt;&lt;P&gt;Equivalent to the list processing TOP-OF-PAGE event&lt;/P&gt;&lt;P&gt;END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists.&lt;/P&gt;&lt;P&gt;Information output at the end of a page. This is only called for printing.&lt;/P&gt;&lt;P&gt;TOP_OF_COVERPAGE no USING parameter&lt;/P&gt;&lt;P&gt;The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters:&lt;/P&gt;&lt;P&gt;IS_PRINT-NO_COVERPAGE&lt;/P&gt;&lt;P&gt;IS_PRINT-NO_PRINT_SELINFOS&lt;/P&gt;&lt;P&gt;IS_PRINT-NO_PRINT_LISTINFOS&lt;/P&gt;&lt;P&gt;IS_LAYOUT-GET_SELINFOS&lt;/P&gt;&lt;P&gt;The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event. &lt;/P&gt;&lt;P&gt;END_OF_COVERPAGE no USING parameter&lt;/P&gt;&lt;P&gt;Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event.&lt;/P&gt;&lt;P&gt;FOREIGN_TOP_OF_PAGE no USING parameter&lt;/P&gt;&lt;P&gt;The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV).&lt;/P&gt;&lt;P&gt;In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called.&lt;/P&gt;&lt;P&gt;FOREIGN_END_OF_PAGE no USING parameter&lt;/P&gt;&lt;P&gt;The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV).&lt;/P&gt;&lt;P&gt;In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called.&lt;/P&gt;&lt;P&gt;BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO&lt;/P&gt;&lt;P&gt;Output information before each output line. Should only be used in justified cases because it costs a lot of performance. &lt;/P&gt;&lt;P&gt;AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO&lt;/P&gt;&lt;P&gt;Output information after each output line. Should only be used in justified cases because it costs a lot of performance. &lt;/P&gt;&lt;P&gt;&amp;#149; Internal use only&lt;/P&gt;&lt;P&gt;LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME&lt;/P&gt;&lt;P&gt;R_INDEX LIKE SY-TABIX&lt;/P&gt;&lt;P&gt;R_INDEX_ITEM LIKE SY-TABIX&lt;/P&gt;&lt;P&gt;R_INDEX_SUM LIKE SY-TABIX&lt;/P&gt;&lt;P&gt;&amp;#149; IT_EVENTS-FORM&lt;/P&gt;&lt;P&gt;Name of the form routine which should be called in the calling program at the event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field_catalog:&lt;/P&gt;&lt;P&gt;Field catalog with field descriptions&lt;/P&gt;&lt;P&gt;2.7.1. Description&lt;/P&gt;&lt;P&gt;Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output.&lt;/P&gt;&lt;P&gt;The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module&lt;/P&gt;&lt;P&gt;See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.&lt;/P&gt;&lt;P&gt;The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default.&lt;/P&gt;&lt;P&gt;A field catalog need not be built-up and passed explicitly only under the following conditions:&lt;/P&gt;&lt;P&gt;&amp;#149; The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE.&lt;/P&gt;&lt;P&gt;&amp;#149; all fields in this structure are to be output&lt;/P&gt;&lt;P&gt;&amp;#149; the structure name is passed to ALV in the parameter I_STRUCTURE_NAME.&lt;/P&gt;&lt;P&gt;See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Positioning&lt;/P&gt;&lt;P&gt;&amp;#149; row_pos (row position)&lt;/P&gt;&lt;P&gt;value set: 0, 1 - 3&lt;/P&gt;&lt;P&gt;Only relevant if the list output is to be multi-line (two or three lines) by default.&lt;/P&gt;&lt;P&gt;A multi-line list can also be defined by the user interactively if the default list is one-line.&lt;/P&gt;&lt;P&gt;The parameter specifies the relative output line of the column in a multi-line list.&lt;/P&gt;&lt;P&gt;&amp;#149; col_pos (column position)&lt;/P&gt;&lt;P&gt;value set: 0, 1 - 60&lt;/P&gt;&lt;P&gt;only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Identification&lt;/P&gt;&lt;P&gt;&amp;#149; fieldname (field name)&lt;/P&gt;&lt;P&gt;value set: internal output table field name (required parameter)&lt;/P&gt;&lt;P&gt;Name of the internal output table field which is described by this field catalog entry&lt;/P&gt;&lt;P&gt;&amp;#149; tabname (internal output table)&lt;/P&gt;&lt;P&gt;value set: SPACE, internal output table name&lt;/P&gt;&lt;P&gt;This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.&lt;/P&gt;&lt;P&gt;Name of the internal output table which contains the field FIELDCAT-FIELDNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data Dictionary reference&lt;/P&gt;&lt;P&gt;&amp;#149; ref_fieldname (reference field name)&lt;/P&gt;&lt;P&gt;value set: SPACE, Data Dictionary field name&lt;/P&gt;&lt;P&gt;Name of the Data Dictionary field referred to.&lt;/P&gt;&lt;P&gt;This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient.&lt;/P&gt;&lt;P&gt;&amp;#149; ref_tabname (reference table/structure field name)&lt;/P&gt;&lt;P&gt;value set: SPACE, name of a Data Dictionary structure or table &lt;/P&gt;&lt;P&gt;Structure or table name of the referred Data Dictionary field.&lt;/P&gt;&lt;P&gt;This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference to fields with currency/measurement unit&lt;/P&gt;&lt;P&gt;Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:&lt;/P&gt;&lt;P&gt;&amp;#149; the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect)&lt;/P&gt;&lt;P&gt;&amp;#149; There is a field in the internal output table which contains the associated unit.&lt;/P&gt;&lt;P&gt;&amp;#149; There is also an entry in the field catalog for the unit field.&lt;/P&gt;&lt;P&gt;(If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'.&lt;/P&gt;&lt;P&gt;The association of a value field to a unit affects the output as follows:&lt;/P&gt;&lt;P&gt;&amp;#149; appropriate decimal places display for the unit&lt;/P&gt;&lt;P&gt;&amp;#149; an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous. &lt;/P&gt;&lt;P&gt;&amp;#149; an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units.&lt;/P&gt;&lt;P&gt;&amp;#149; When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Link to currency unit&lt;/P&gt;&lt;P&gt;&amp;#149; cfieldname (currency unit field name)&lt;/P&gt;&lt;P&gt;value set: SPACE, output table field name&lt;/P&gt;&lt;P&gt;Only relevant for amount columns with associated unit.&lt;/P&gt;&lt;P&gt;Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.&lt;/P&gt;&lt;P&gt;&amp;#149; ctabname (internal currency unit field output table)&lt;/P&gt;&lt;P&gt;value set: SPACE, output table field name&lt;/P&gt;&lt;P&gt;only relevant for hierarchical-sequential lists&lt;/P&gt;&lt;P&gt;Name of the internal output table containing the FIELDCAT-CFIELDNAME field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Link to measurement unit&lt;/P&gt;&lt;P&gt;&amp;#149; qfieldname (measurement unit field name)&lt;/P&gt;&lt;P&gt;value set: SPACE, output table field name&lt;/P&gt;&lt;P&gt;only relevant for quantity columns with unit link.&lt;/P&gt;&lt;P&gt;Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME. &lt;/P&gt;&lt;P&gt;The field in FIELDCAT-QFIELDNAME must have its own field catalog entry.&lt;/P&gt;&lt;P&gt;&amp;#149; qtabname (internal measurement unit field output table)&lt;/P&gt;&lt;P&gt;value set: SPACE, output table field name&lt;/P&gt;&lt;P&gt;only relevant for hierarchical-sequential lists&lt;/P&gt;&lt;P&gt;Name of the internal output table containing the FIELDCAT-QFIELDNAME field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Column output options&lt;/P&gt;&lt;P&gt;&amp;#149; outputlen (column width)&lt;/P&gt;&lt;P&gt;value set: 0 (initial), n&lt;/P&gt;&lt;P&gt;For fields with a Data Dictionary link this parameter can be left initial.&lt;/P&gt;&lt;P&gt;For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width).&lt;/P&gt;&lt;P&gt;initial = column width is the output length of the referred Data Dictionary field (domain).&lt;/P&gt;&lt;P&gt;n = column width is n characters&lt;/P&gt;&lt;P&gt;&amp;#149; key (key column)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = kex field (key field output in color)&lt;/P&gt;&lt;P&gt;Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.&lt;/P&gt;&lt;P&gt;For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter.&lt;/P&gt;&lt;P&gt;&amp;#149; key_sel (hideable key column)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;only relevant when FIELDCAT-KEY = 'X'&lt;/P&gt;&lt;P&gt;Key field which can be hidden interactively.&lt;/P&gt;&lt;P&gt;The key column sequence cannot be changed interactively by the user.&lt;/P&gt;&lt;P&gt;The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields.&lt;/P&gt;&lt;P&gt;&amp;#149; no_out (field in field list)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = field is not displayed in the current list.&lt;/P&gt;&lt;P&gt;The user can interactively choose the field for output from the field list.&lt;/P&gt;&lt;P&gt;The user can display the contents of these fields at line level using the 'Detail' function.&lt;/P&gt;&lt;P&gt;See also the 'Detail screen' documentation of the parameter IS_LAYOUT.&lt;/P&gt;&lt;P&gt;&amp;#149; tech (technical field)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = technical field&lt;/P&gt;&lt;P&gt;Field cannot be output in the list and cannot be displayed interactively.&lt;/P&gt;&lt;P&gt;Field can only be used in the field catalog (not in IT_SORT, ...).&lt;/P&gt;&lt;P&gt;&amp;#149; emphasize (highlight columns in color)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)&lt;/P&gt;&lt;P&gt;'X' = column is colored with the default column highlight color.&lt;/P&gt;&lt;P&gt;'Cxyz' = column is colored with a coded color:&lt;/P&gt;&lt;P&gt;&amp;#149; C: Color (coding must begin with C)&lt;/P&gt;&lt;P&gt;&amp;#149; x: color number&lt;/P&gt;&lt;P&gt;&amp;#149; y: bold&lt;/P&gt;&lt;P&gt;&amp;#149; z: inverse&lt;/P&gt;&lt;P&gt;&amp;#149; hotspot (column as hotspot)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;'X' = column cells are output as hotspots&lt;/P&gt;&lt;P&gt;&amp;#149; fix_column (fix column)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;Not relevant for block lists (output of several lists consecutively)&lt;/P&gt;&lt;P&gt;'X' = column fixed (does not scroll horizontally)&lt;/P&gt;&lt;P&gt;All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter&lt;/P&gt;&lt;P&gt;IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT.&lt;/P&gt;&lt;P&gt;&amp;#149; do_sum (sum over column)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = a sum is to be calculated over this internal output table field.&lt;/P&gt;&lt;P&gt;This function can also be called by the user interactively.&lt;/P&gt;&lt;P&gt;&amp;#149; no_sum (sums forbidden)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing.&lt;/P&gt;&lt;P&gt;&amp;#149; input (column ready for input)&lt;/P&gt;&lt;P&gt;Function not available&lt;/P&gt;&lt;P&gt;Format column contents&lt;/P&gt;&lt;P&gt;&amp;#149; icon&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = column contents to be output as an icon.&lt;/P&gt;&lt;P&gt;The caller must consider the printability of icons.&lt;/P&gt;&lt;P&gt;&amp;#149; symbol&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = column contents are to be output as a symbol.&lt;/P&gt;&lt;P&gt;The internal output table column must be a valid symbol character.&lt;/P&gt;&lt;P&gt;The caller must consider the printability of symbols.&lt;/P&gt;&lt;P&gt;Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration.&lt;/P&gt;&lt;P&gt;&amp;#149; just (justification)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'R', 'L', 'C'&lt;/P&gt;&lt;P&gt;Only relevant for fields of data type CHAR or NUMC&lt;/P&gt;&lt;P&gt;' ' = default justification for this data type&lt;/P&gt;&lt;P&gt;'R' = right-justified output&lt;/P&gt;&lt;P&gt;'L' = left-justified output&lt;/P&gt;&lt;P&gt;'C' = centered output&lt;/P&gt;&lt;P&gt;The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible.&lt;/P&gt;&lt;P&gt;&amp;#149; lzero (leading zeros)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;Only relevant for fields of data type NUMC&lt;/P&gt;&lt;P&gt;ALV outputs NUMC fields right-justified without leading zeros by default.&lt;/P&gt;&lt;P&gt;'X' = output with leading zeros&lt;/P&gt;&lt;P&gt;Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.&lt;/P&gt;&lt;P&gt;&amp;#149; no_sign (no +/- sign) Only relevant for value fields&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = value output without +/ sign&lt;/P&gt;&lt;P&gt;&amp;#149; no_zero (suppress zeros) Only relevant for value fields&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X' 'X' = suppress zeros&lt;/P&gt;&lt;P&gt;&amp;#149; edit_mask (field formatting)&lt;/P&gt;&lt;P&gt;value set: SPACE, template&lt;/P&gt;&lt;P&gt;template = see documentation of WRITE formatting option USING EDIT MASK template&lt;/P&gt;&lt;P&gt;The output conversion conv can be made by template = '== conv'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Texts&lt;/P&gt;&lt;P&gt;The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.&lt;/P&gt;&lt;P&gt;The 'long field label' is also used in display variant definition, sort, etc. popups.&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_l (long field label)&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_m (medium field label)&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_s (short field label)&lt;/P&gt;&lt;P&gt;&amp;#149; reptext_ddic (header)&lt;/P&gt;&lt;P&gt;analogous to the Data element maintenance 'Header'&lt;/P&gt;&lt;P&gt;The specified text is not necessarily output in the list, an optimum among all texts is sought.&lt;/P&gt;&lt;P&gt;&amp;#149; ddictxt (specify text)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'L', 'M', 'S'&lt;/P&gt;&lt;P&gt;You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters for program fields without Data Dictionary reference&lt;/P&gt;&lt;P&gt;see also 'Text' parameters&lt;/P&gt;&lt;P&gt;&amp;#149; datatype (data type)&lt;/P&gt;&lt;P&gt;value set: SPACE, Data Dictionary data type (CHAR, NUMC,...)&lt;/P&gt;&lt;P&gt;Only relevant for fields without Data Dictionary reference&lt;/P&gt;&lt;P&gt;Program field data type&lt;/P&gt;&lt;P&gt;&amp;#149; ddic_outputlen (external output length)&lt;/P&gt;&lt;P&gt;value set: 0 (initial), n&lt;/P&gt;&lt;P&gt;Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit. &lt;/P&gt;&lt;P&gt;Prerequisites:&lt;/P&gt;&lt;P&gt;&amp;#149; FIELDCAT-EDIT_MASK = '==conv'&lt;/P&gt;&lt;P&gt;see also the documentation of the parameter FIELDCAT-EDIT_MASK&lt;/P&gt;&lt;P&gt;&amp;#149; FIELDCAT-INTLEN = n&lt;/P&gt;&lt;P&gt;see also the documentation of the parameter FIELDCAT-INTLEN&lt;/P&gt;&lt;P&gt;n = external format field output length&lt;/P&gt;&lt;P&gt;The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).&lt;/P&gt;&lt;P&gt;&amp;#149; intlen (internal output length)&lt;/P&gt;&lt;P&gt;value set: 0 (initial), n&lt;/P&gt;&lt;P&gt;Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit. &lt;/P&gt;&lt;P&gt;Prerequisites:&lt;/P&gt;&lt;P&gt;&amp;#149; FIELDCAT-EDIT_MASK = '==conv'&lt;/P&gt;&lt;P&gt;see also the documentation of the parameter FIELDCAT-EDIT_MASK&lt;/P&gt;&lt;P&gt;&amp;#149; FIELDCAT-DDIC_OUTPUTLEN = n&lt;/P&gt;&lt;P&gt;see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN&lt;/P&gt;&lt;P&gt;n = internal format field output length&lt;/P&gt;&lt;P&gt;&amp;#149; rollname (data element)&lt;/P&gt;&lt;P&gt;value set: SPACE, Data Dictionary data element name&lt;/P&gt;&lt;P&gt;F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter.&lt;/P&gt;&lt;P&gt;When F1 help is called for this field, the documentation of the specified data element is displayed.&lt;/P&gt;&lt;P&gt;If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Others&lt;/P&gt;&lt;P&gt;&amp;#149; sp_group (field group key)&lt;/P&gt;&lt;P&gt;value set: SPACE, CHAR(1)&lt;/P&gt;&lt;P&gt;Field group key.&lt;/P&gt;&lt;P&gt;Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).&lt;/P&gt;&lt;P&gt;When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.&lt;/P&gt;&lt;P&gt;&amp;#149; reprep (Report/Report interface selection criterion)&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;Prerequisites:&lt;/P&gt;&lt;P&gt;&amp;#149; The system contains the Report/Report interface (function group RSTI, table TRSTI)&lt;/P&gt;&lt;P&gt;&amp;#149; Parameter LAYOUT-REPREP = 'X'&lt;/P&gt;&lt;P&gt;(see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )&lt;/P&gt;&lt;P&gt;'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.&lt;/P&gt;&lt;P&gt;2.7.2. Default&lt;/P&gt;&lt;P&gt;&amp;#149; The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary :&lt;/P&gt;&lt;P&gt;&amp;#149; fieldname&lt;/P&gt;&lt;P&gt;&amp;#149; ref_tabname&lt;/P&gt;&lt;P&gt;Notes:&lt;/P&gt;&lt;P&gt;ALV gets the remaining information from the Data Dictionary.&lt;/P&gt;&lt;P&gt;If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog.&lt;/P&gt;&lt;P&gt;REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field.&lt;/P&gt;&lt;P&gt;Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary.&lt;/P&gt;&lt;P&gt;Priority rule:&lt;/P&gt;&lt;P&gt;Entries in the field catalog have priority over differing entries in the Data Dictionary.&lt;/P&gt;&lt;P&gt;&amp;#149; The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields):&lt;/P&gt;&lt;P&gt;&amp;#149; fieldname&lt;/P&gt;&lt;P&gt;&amp;#149; outputlen&lt;/P&gt;&lt;P&gt;&amp;#149; datatype&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_s&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_m&lt;/P&gt;&lt;P&gt;&amp;#149; seltext_l&lt;/P&gt;&lt;P&gt;Notes:&lt;/P&gt;&lt;P&gt;F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME.&lt;/P&gt;&lt;P&gt;If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sites :&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alv/alv_variousfcat.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alv/alv_variousfcat.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Check out these links : top one is on slis specifcally,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2240494"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1509398"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV reporting - Step by step&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/8d/e994374c9cd355e10000009b38f8cf/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/8d/e994374c9cd355e10000009b38f8cf/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through with these links :&lt;/P&gt;&lt;P&gt;ALV&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/mpioud/Abap_programs.html" target="test_blank"&gt;http://www.geocities.com/mpioud/Abap_programs.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV Group Heading&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/fu037.htm" target="test_blank"&gt;http://www.sap-img.com/fu037.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALVGRID with refresh&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.htm" target="test_blank"&gt;http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Editable ALV&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20edit%20alv%20grid.doc" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20edit%20alv%20grid.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;download the PDF from following link.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.sap.com/www.abap4.it/download/ALV.pdf" target="test_blank"&gt;www.abap4.it/download/ALV.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OOPS ALV tutorial.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample programs:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/victorav15/sapr3/abap_ood.html#d_grid" target="test_blank"&gt;http://www.geocities.com/victorav15/sapr3/abap_ood.html#d_grid&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alvhome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alvhome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can get all demo programs for ALV:&lt;/P&gt;&lt;P&gt;Go to se38 and type BCALV* and press F4 for all demo porgrams.&lt;/P&gt;&lt;P&gt;Check out these links &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/alv&amp;amp;" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/alv&amp;amp;&lt;/A&gt;;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/an-interactive-alv-report.htm" target="test_blank"&gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/cs/user/view/cs_msg/18628" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/weblogs?blog=/cs/user/view/cs_msg/18628&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV Comes in handy with some cool stuffs / components..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Custom Container,&lt;/P&gt;&lt;P&gt;Docking Container etc..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Events in ALV::&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Top-of-page&lt;/P&gt;&lt;P&gt;End-of-page&lt;/P&gt;&lt;P&gt;Double Click Event Etc..&lt;/P&gt;&lt;P&gt;&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;Hope this solves ur problem.... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naveen khan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 12:29:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718086#M630505</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T12:29:29Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718087#M630506</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;ALV stands for ABAP List Viewer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV can be used for viewing both single level list and multilevel sequential list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 Single level list contains any number of lines that have no Hierarchical relationship to each other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2 Multilevel sequential list consists of any number of lines that have two hierarchical level.&lt;/P&gt;&lt;P&gt;a) Header rows.&lt;/P&gt;&lt;P&gt;b) Item rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are Three types of ALV Reports.&lt;/P&gt;&lt;P&gt;1) Simple&lt;/P&gt;&lt;P&gt;2) Blocked&lt;/P&gt;&lt;P&gt;3) Hierarchical Sequential Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. SIMPLE REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important function modules are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a. Reuse_alv_list_display&lt;/P&gt;&lt;P&gt;b. Reuse_alv_fieldcatalog_merge&lt;/P&gt;&lt;P&gt;c. Reuse_alv_events_get&lt;/P&gt;&lt;P&gt;d. Reuse_alv_commentary_write&lt;/P&gt;&lt;P&gt;e. Reuse_alv_grid_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. BLOCK REPORT&lt;/P&gt;&lt;P&gt;This looks like a simple report but this report has the features of sorting and filtering only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important functions used in this report are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used to set the default gui status etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module adds the data to the block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module display the list with data appended by the above function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Hierarchical reports :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hierarchical sequential list output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_HIERSEQ_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://wiki.ittoolbox.com/index.php/FAQ:How_many_types_of_reports_are_there_in_ABAP_and_what_is_the_difference_between_them%3F" target="test_blank"&gt;http://wiki.ittoolbox.com/index.php/FAQ:How_many_types_of_reports_are_there_in_ABAP_and_what_is_the_difference_between_them%3F&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 12:29:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718087#M630506</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T12:29:48Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718088#M630507</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;ALV means ABAP List Viewer.. &lt;/P&gt;&lt;P&gt;It is used to develop reports.&lt;/P&gt;&lt;P&gt;An ALV report provides all the Basic list functions such as &lt;/P&gt;&lt;P&gt;  SORTING&lt;/P&gt;&lt;P&gt;  FILTERING&lt;/P&gt;&lt;P&gt;  SUBTOTALS&lt;/P&gt;&lt;P&gt;  DOWNLOAD TO file&lt;/P&gt;&lt;P&gt;  Changing the Layout at runtime ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the ALV Function modules starts with REUSE_ALV.. (Check in SE37)&lt;/P&gt;&lt;P&gt;All the Data types are defined in type pool SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;reward if Helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 12:30:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718088#M630507</guid>
      <dc:creator>varma_narayana</dc:creator>
      <dc:date>2007-08-27T12:30:45Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718089#M630508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ABAP List Viewer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV).&lt;/P&gt;&lt;P&gt;This helps us to implement all the features mentioned very effectively.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using ALV, We can have three types of reports:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Simple Report&lt;/P&gt;&lt;P&gt;2. Block Report&lt;/P&gt;&lt;P&gt;3. Hierarchical Sequential Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are some function modules which will enable to produce the above reports without much effort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The commonly used ALV functions used for this purpose are; &lt;/P&gt;&lt;P&gt;1. REUSE_ALV_VARIANT_DEFAULT_GET &lt;/P&gt;&lt;P&gt;2. REUSE_ALV_VARIANT_F4 &lt;/P&gt;&lt;P&gt;3. REUSE_ALV_VARIANT_EXISTENCE &lt;/P&gt;&lt;P&gt;4. REUSE_ALV_EVENTS_GET &lt;/P&gt;&lt;P&gt;5. REUSE_ALV_COMMENTARY_WRITE &lt;/P&gt;&lt;P&gt;6. REUSE_ALV_FIELDCATALOG_MERGE &lt;/P&gt;&lt;P&gt;7. REUSE_ALV_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;8. REUSE_ALV_GRID_DISPLAY &lt;/P&gt;&lt;P&gt;9. REUSE_ALV_POPUP_TO_SELECT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also refer this for some explanations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important parameters are :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I. Export :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i. I_callback_program : report id&lt;/P&gt;&lt;P&gt;ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status&lt;/P&gt;&lt;P&gt;iii. I_callback_user_command : routine where the function codes are handled&lt;/P&gt;&lt;P&gt;iv. I_structure name : name of the dictionary table&lt;/P&gt;&lt;P&gt;v. Is_layout : structure to set the layout of the report&lt;/P&gt;&lt;P&gt;vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE&lt;/P&gt;&lt;P&gt;vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;II. Tables :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i. t_outtab : internal table with the data to be output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Important Parameters are :&lt;/P&gt;&lt;P&gt;I. Export :&lt;/P&gt;&lt;P&gt;i. I_program_name : report id&lt;/P&gt;&lt;P&gt;ii. I_internal_tabname : the internal output table&lt;/P&gt;&lt;P&gt;iii. I_inclname : include or the report name where all the dynamic forms are handled.&lt;/P&gt;&lt;P&gt;II Changing&lt;/P&gt;&lt;P&gt;ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is&lt;/P&gt;&lt;P&gt;declared in the type pool SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters :&lt;/P&gt;&lt;P&gt;I. Import :&lt;/P&gt;&lt;P&gt;Et_Events : The event table is returned with all possible CALLBACK events&lt;/P&gt;&lt;P&gt;for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.&lt;/P&gt;&lt;P&gt;II. Export :&lt;/P&gt;&lt;P&gt;I_List_type :&lt;/P&gt;&lt;P&gt;0 = simple list REUSE_ALV_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;3 = hierarchical-sequential block list&lt;/P&gt;&lt;P&gt;REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I. it_list_commentary : internal table with the headings of the type slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This internal table has three fields :&lt;/P&gt;&lt;P&gt;Typ : &amp;#145;H&amp;#146; &amp;#150; header, &amp;#145;S&amp;#146; &amp;#150; selection , &amp;#145;A&amp;#146; - action&lt;/P&gt;&lt;P&gt;Key : only when typ is &amp;#145;S&amp;#146;.&lt;/P&gt;&lt;P&gt;Info : the text to be printed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : same as reuse_alv_list_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is an example for simple list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. BLOCK REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is used to have multiple lists continuously.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important functions used in this report are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_BLOCK_LIST_INIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters:&lt;/P&gt;&lt;P&gt;I. I_CALLBACK_PROGRAM&lt;/P&gt;&lt;P&gt;II. I_CALLBACK_PF_STATUS_SET&lt;/P&gt;&lt;P&gt;III. I_CALLBACK_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used to set the default gui status etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B. REUSE_ALV_BLOCK_LIST_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Export :&lt;/P&gt;&lt;P&gt;I. is_layout : layout settings for block&lt;/P&gt;&lt;P&gt;II. it_fieldcat : field catalog&lt;/P&gt;&lt;P&gt;III. i_tabname : internal table name with output data&lt;/P&gt;&lt;P&gt;IV. it_events : internal table with all possible events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tables :&lt;/P&gt;&lt;P&gt;i. t_outtab : internal table with output data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module adds the data to the block.&lt;/P&gt;&lt;P&gt;Repeat this function for all the different blocks to be displayed one after the other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. REUSE_ALV_BLOCK_LIST_HS_APPEND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is used for hierarchical sequential blocks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;D. REUSE_ALV_BLOCK_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters : All the parameters are optional.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module display the list with data appended by the above function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Hierarchical reports :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hierarchical sequential list output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. REUSE_ALV_HIERSEQ_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters:&lt;/P&gt;&lt;P&gt;I. Export:&lt;/P&gt;&lt;P&gt;i. I_CALLBACK_PROGRAM&lt;/P&gt;&lt;P&gt;ii. I_CALLBACK_PF_STATUS_SET&lt;/P&gt;&lt;P&gt;iii. I_CALLBACK_USER_COMMAND&lt;/P&gt;&lt;P&gt;iv. IS_LAYOUT&lt;/P&gt;&lt;P&gt;v. IT_FIELDCAT&lt;/P&gt;&lt;P&gt;vi. IT_EVENTS&lt;/P&gt;&lt;P&gt;vii. i_tabname_header : Name of the internal table in the program containing the&lt;/P&gt;&lt;P&gt;output data of the highest hierarchy level.&lt;/P&gt;&lt;P&gt;viii. i_tabname_item : Name of the internal table in the program containing the&lt;/P&gt;&lt;P&gt;output data of the lowest hierarchy level.&lt;/P&gt;&lt;P&gt;ix. is_keyinfo : This structure contains the header and item table field&lt;/P&gt;&lt;P&gt;names which link the two tables (shared key).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;II. Tables&lt;/P&gt;&lt;P&gt;i. t_outtab_header : Header table with data to be output&lt;/P&gt;&lt;P&gt;ii. t_outtab_item : Name of the internal table in the program containing the&lt;/P&gt;&lt;P&gt;output data of the lowest hierarchy level.&lt;/P&gt;&lt;P&gt;slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using &amp;#145;REUSE_ALV_FIELDCATALOG_MERGE&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Important Attributes :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A. col_pos : position of the column&lt;/P&gt;&lt;P&gt;B. fieldname : internal fieldname&lt;/P&gt;&lt;P&gt;C. tabname : internal table name&lt;/P&gt;&lt;P&gt;D. ref_fieldname : fieldname (dictionary)&lt;/P&gt;&lt;P&gt;E. ref_tabname : table (dictionary)&lt;/P&gt;&lt;P&gt;F. key(1) : column with key-color&lt;/P&gt;&lt;P&gt;G. icon(1) : icon&lt;/P&gt;&lt;P&gt;H. symbol(1) : symbol&lt;/P&gt;&lt;P&gt;I. checkbox(1) : checkbox&lt;/P&gt;&lt;P&gt;J. just(1) : (R)ight (L)eft (C)ent.&lt;/P&gt;&lt;P&gt;K. do_sum(1) : sum up&lt;/P&gt;&lt;P&gt;L. no_out(1) : (O)blig.(X)no out&lt;/P&gt;&lt;P&gt;M. outputlen : output length&lt;/P&gt;&lt;P&gt;N. seltext_l : long key word&lt;/P&gt;&lt;P&gt;O. seltext_m : middle key word&lt;/P&gt;&lt;P&gt;P. seltext_s : short key word&lt;/P&gt;&lt;P&gt;Q. reptext_ddic : heading (ddic)&lt;/P&gt;&lt;P&gt;R. ddictxt(1) : (S)hort (M)iddle (L)ong&lt;/P&gt;&lt;P&gt;S. datatype : datatype&lt;/P&gt;&lt;P&gt;T. hotspot(1) : hotspot &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also refer&lt;/P&gt;&lt;P&gt;Simple ALV report&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/controls/alvgrid.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/controls/alvgrid.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox" target="test_blank"&gt;http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV&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;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;srinivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*&lt;STRONG&gt;reward for useful answers&lt;/STRONG&gt;*&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Aug 2007 12:37:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718089#M630508</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-27T12:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718090#M630509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV stands for Application List viewer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. &lt;/P&gt;&lt;P&gt;This set of ALV functions is used to enhance the readability and functionality of any report output. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sonal&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Aug 2007 06:33:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718090#M630509</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-28T06:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718091#M630510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raj&lt;/P&gt;&lt;P&gt;ALV stands for abap list viewer. Here there is some additional functionality available. like summing filtering the report &lt;/P&gt;&lt;P&gt;is two types simple alv that contains only one list other is multi list .&lt;/P&gt;&lt;P&gt;In alv different function modules are used to add the fuctionality.&lt;/P&gt;&lt;P&gt;It enhences the look and feel of the report&lt;/P&gt;&lt;P&gt;It looks nice and it is easier  for the end user to do see and to do manipulation.&lt;/P&gt;&lt;P&gt;You can get realated info from &lt;A href="https://community.sap.com/www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt; - 7k &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;some of the FM used in ALV&lt;/P&gt;&lt;P&gt;1. REUSE_ALV_VARIANT_DEFAULT_GET &lt;/P&gt;&lt;P&gt;2. REUSE_ALV_VARIANT_F4 &lt;/P&gt;&lt;P&gt;3. REUSE_ALV_VARIANT_EXISTENCE &lt;/P&gt;&lt;P&gt;4. REUSE_ALV_EVENTS_GET &lt;/P&gt;&lt;P&gt;5. REUSE_ALV_COMMENTARY_WRITE &lt;/P&gt;&lt;P&gt;6. REUSE_ALV_FIELDCATALOG_MERGE &lt;/P&gt;&lt;P&gt;7. REUSE_ALV_LIST_DISPLAY &lt;/P&gt;&lt;P&gt;8. REUSE_ALV_GRID_DISPLAY &lt;/P&gt;&lt;P&gt;9. REUSE_ALV_POPUP_TO_SELECT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if needful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Aug 2007 07:50:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718091#M630510</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-28T07:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: wat is ALV ????</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718092#M630511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;"What is ALV programming in ABAP? When is this grid used in ABAP?&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;'ALV is Application List viewer.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The report output can contain up to 90 columns in the display with the wide array of display options. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The commonly used ALV functions used for this purpose are; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
'1. REUSE_ALV_VARIANT_DEFAULT_GET 
'2. REUSE_ALV_VARIANT_F4 
'3. REUSE_ALV_VARIANT_EXISTENCE 
'4. REUSE_ALV_EVENTS_GET 
'5. REUSE_ALV_COMMENTARY_WRITE 
'6. REUSE_ALV_FIELDCATALOG_MERGE 
'7. REUSE_ALV_LIST_DISPLAY 
'8. REUSE_ALV_GRID_DISPLAY 
'9. REUSE_ALV_POPUP_TO_SELECT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;"How you call this function in your report?&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After completion of all the data fetching from the database and append this data into an Internal Table. say I_ITAB. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then use follwing function module. &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       = 'Prog.name' &lt;/P&gt;&lt;P&gt;            I_STRUCTURE_NAME         = 'I_ITAB' &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_ITAB. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;    WRITE: 'SY-SUBRC: ', SY-SUBRC . &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_FINAL_DATA &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if it is usefull ...&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Aug 2007 07:53:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wat-is-alv/m-p/2718092#M630511</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-28T07:53:19Z</dc:date>
    </item>
  </channel>
</rss>

