<?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-OOPS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156906#M750922</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;No it is not neccesary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can use cl_salv_table for ALV Grid display:&lt;/P&gt;&lt;P&gt;Example Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZSB_TEST007&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  zsb_test007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_outtab TYPE TABLE OF sflight.&lt;/P&gt;&lt;P&gt;DATA: gr_table  TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;DATA: gr_functions TYPE REF TO cl_salv_functions_list,&lt;/P&gt;&lt;P&gt;      lr_functions TYPE REF TO cl_salv_functions,&lt;/P&gt;&lt;P&gt;      lr_events TYPE REF TO cl_salv_events_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: name TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lr_columns TYPE REF TO cl_salv_columns,&lt;/P&gt;&lt;P&gt;      lr_column  TYPE REF TO cl_salv_column_table,&lt;/P&gt;&lt;P&gt;      oref       TYPE REF TO cx_root.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_true  TYPE sap_bool VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      CLASS lcl_handle_events DEFINITION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;§5.1 define a local class for handling events of cl_salv_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      on_user_command FOR EVENT added_function OF cl_salv_events&lt;/P&gt;&lt;P&gt;        IMPORTING e_salv_function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      CLASS lcl_handle_events IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD on_user_command.&lt;/P&gt;&lt;P&gt;    PERFORM show_function USING e_salv_function text-i08.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_user_command&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START OF SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM select_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*END OF SELECTION&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_function&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;U_FUNCTION text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_TEXT     text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM show_function USING&lt;/P&gt;&lt;P&gt;          u_function TYPE salv_de_function&lt;/P&gt;&lt;P&gt;          u_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_string TYPE string.&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; CONCATENATE u_text u_function INTO l_string SEPARATED BY space.&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; MESSAGE l_string TYPE 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : code(4) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MESSAGE 'YOU WANT TO CREATE MATERIAL' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  IF sy-ucomm = 'ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'MM01'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if sy-ucomm = 'WB_EXEC'.&lt;/P&gt;&lt;P&gt;    LEAVE  program.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "show_function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM select_data.&lt;/P&gt;&lt;P&gt;  SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_outtab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "select_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: gr_events TYPE REF TO lcl_handle_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;*... Create Instance&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_salv_table=&amp;gt;factory&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          r_salv_table = gr_table&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;          t_table      = gt_outtab.&lt;/P&gt;&lt;P&gt;      CREATE OBJECT gr_functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lr_functions = gr_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;P&gt;      lr_functions-&amp;gt;set_all( gc_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lr_columns = gr_table-&amp;gt;get_columns( ).&lt;/P&gt;&lt;P&gt;      lr_columns-&amp;gt;set_optimize( gc_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... Set Aggregation Functions&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     name = 'SET_SUBTOTALS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     gr_functions = gr_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     gr_functions-&amp;gt;set_subtotals( 'X' ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD gr_table-&amp;gt;set_screen_status&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          report        = sy-repid&lt;/P&gt;&lt;P&gt;          pfstatus      = 'ZPFOOPS'&lt;/P&gt;&lt;P&gt;          set_functions = gr_table-&amp;gt;c_functions_all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_msg INTO oref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      CALL METHOD lr_functions-&amp;gt;add_function(&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          name     = 'MYFUNC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ICON     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          text     = 'ADDED'&lt;/P&gt;&lt;P&gt;          tooltip  = 'JUSTFUNCTION'&lt;/P&gt;&lt;P&gt;      position = if_salv_c_function_position=&amp;gt;right_of_salv_functions )&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_existing INTO oref.&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_wrong_call INTO oref.&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lr_events = gr_table-&amp;gt;get_event( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT gr_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... §6.1 register to the event USER_COMMAND&lt;/P&gt;&lt;P&gt;  SET HANDLER gr_events-&amp;gt;on_user_command FOR lr_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gr_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_data&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;Sachin Bhatnagar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 19 Dec 2007 09:57:09 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-19T09:57:09Z</dc:date>
    <item>
      <title>ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156901#M750917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am new to oops concept...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to display ALV using object method..&lt;/P&gt;&lt;P&gt;So is that necessary to take custom container on screen for displaying ALV by OOPS method?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:35:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156901#M750917</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T09:35:20Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156902#M750918</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;take a look at this document:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/acdefb13-0701-0010-f1a2-8eeefa7d3780]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:39:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156902#M750918</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T09:39:08Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156903#M750919</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;thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have this document so i am asking that is it necessary to take screen for ALV oops.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because when we display ALV in simple method ( without ALV) we dont need Screen so....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:43:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156903#M750919</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T09:43:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156904#M750920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Dhwani shah ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yaa its necessary to take custom container on screen for displaying ALV by OOPS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Follow this example its give brief idea about ALV-OOPS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YSU_REPORT_ALV_OOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:VBAK,VBAP,LIKP,VTTP,VBRK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:S_VBELN FOR VBAK-VBELN,&lt;/P&gt;&lt;P&gt;               S_ERDAT FOR VBAK-ERDAT.&lt;/P&gt;&lt;P&gt;PARAMETERS:P_KUNNR like VBAK-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:WA TYPE YSUSTR_ALVOOP,&lt;/P&gt;&lt;P&gt;     ITAB TYPE YSUSTR_ALVOOP2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IDENTITY TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;     GRID TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;     L_IDENTITY TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;     L_TREE TYPE REF TO CL_GUI_ALV_TREE_SIMPLE,&lt;/P&gt;&lt;P&gt;     L_LIST TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;     L_LOGO TYPE SDYDO_VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS CL_LC DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHODS DC FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID IMPORTING E_ROW&lt;/P&gt;&lt;P&gt;E_COLUMN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS CL_LC IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD DC .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:WA1 TYPE YSUSTR_ALVOOP.&lt;/P&gt;&lt;P&gt;*DATA:WA1 TYPE YSU_L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE ITAB INDEX E_ROW-INDEX INTO WA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'AVN' FIELD WA1-VBELN.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:OBJ_CL_LC TYPE REF TO CL_LC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SELECT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE I000(0) WITH 'NO DATA FOUND'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write:/ 'Sss' ,SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&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;      Module  STATUS_0100  OUTPUT&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;P&gt;MODULE STATUS_0100 OUTPUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'xxxxxxxx'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET TITLEBAR 'xxx'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF IDENTITY IS INITIAL.&lt;/P&gt;&lt;P&gt;CREATE OBJECT IDENTITY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CONTAINER_NAME = 'ALVCONTROL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT GRID&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_PARENT = IDENTITY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;  I_STRUCTURE_NAME = 'YSU_L'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;  IT_OUTTAB = ITAB.&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;CALL METHOD GRID-&amp;gt;REFRESH_TABLE_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT OBJ_CL_LC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET HANDLER OBJ_CL_LC-&amp;gt;DC FOR GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF L_IDENTITY IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT L_IDENTITY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt; CONTAINER_NAME = 'LOGO'.&lt;/P&gt;&lt;P&gt;CREATE OBJECT L_TREE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;  I_PARENT = L_IDENTITY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM LOGOSUB USING L_LOGO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD L_TREE-&amp;gt;CREATE_REPORT_HEADER&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;  IT_LIST_COMMENTARY = L_LIST&lt;/P&gt;&lt;P&gt;  I_LOGO = L_LOGO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE." STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM LOGOSUB USING P_LOGO.&lt;/P&gt;&lt;P&gt;P_LOGO = 'SU_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;FORM SELECT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT VBAP&lt;SUB&gt;VBELN VBAP&lt;/SUB&gt;KWMENG VBAP~NETWR INTO TABLE ITAB FROM VBAK&lt;/P&gt;&lt;P&gt;INNER JOIN VBAP ON VBAK&lt;SUB&gt;VBELN = VBAP&lt;/SUB&gt;VBELN WHERE VBAK~KUNNR = P_KUNNR&lt;/P&gt;&lt;P&gt;AND VBAK&lt;SUB&gt;VBELN IN S_VBELN AND VBAK&lt;/SUB&gt;ERDAT IN S_ERDAT.&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;      Module  USER_COMMAND_0100  INPUT&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;P&gt;MODULE USER_COMMAND_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;give some reward point if it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;surya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:51:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156904#M750920</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T09:51:43Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156905#M750921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dhwani shah,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are asking that is it necessary to take custom container on screen for displaying ALV by OOPS method.&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;It all depends on the class you are using .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are using the class *cl_gui_alv_grid*  then you have to create a screen that containing the custom container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are using the class *cl_salv_table*  then don't need to define any custom container for getting the ALV grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here I am copying the Example of both the classes .&lt;/P&gt;&lt;P&gt;Now its all depends upon you which class you prefer to use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example 1 : *cl_gui_alv_grid* &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Global data definitions for ALV&lt;/P&gt;&lt;P&gt;*--- ALV Grid instance reference&lt;/P&gt;&lt;P&gt;DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid .&lt;/P&gt;&lt;P&gt;*--- Name of the custom control added on the screen&lt;/P&gt;&lt;P&gt;DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV' .&lt;/P&gt;&lt;P&gt;*--- Custom container instance reference&lt;/P&gt;&lt;P&gt;DATA gr_ccontainer TYPE REF TO cl_gui_custom_container .&lt;/P&gt;&lt;P&gt;*--- Field catalog table&lt;/P&gt;&lt;P&gt;DATA gt_fieldcat TYPE lvc_t_fcat .&lt;/P&gt;&lt;P&gt;*--- Layout structure&lt;/P&gt;&lt;P&gt;DATA gs_layout TYPE lvc_s_layo .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table holding list data&lt;/P&gt;&lt;P&gt;DATA BEGIN OF gt_list OCCURS 0 .&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE SFLIGHT .&lt;/P&gt;&lt;P&gt;*--In further sections, some additional fields will added here&lt;/P&gt;&lt;P&gt;*--for some functionality&lt;/P&gt;&lt;P&gt;DATA END OF gt_list .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :gt_sflight like standard TABLE OF gt_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CALL SCREEN '0400'.&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;      Module  STATUS_0400  OUTPUT&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;P&gt;MODULE STATUS_0400 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZMNU'.&lt;/P&gt;&lt;P&gt;  perform display_alv.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0400  OUTPUT&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;      Module  USER_COMMAND_0400  INPUT&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;P&gt;MODULE USER_COMMAND_0400 INPUT.&lt;/P&gt;&lt;P&gt;  CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'EXIT' OR 'RW'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0400  INPUT&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  display_alv&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;P&gt;form display_alv.&lt;/P&gt;&lt;P&gt;  SELECT * FROM SFLIGHT INTO TABLE GT_SFLIGHT UP TO 30 ROWS.&lt;/P&gt;&lt;P&gt;  IF gr_alvgrid IS INITIAL .&lt;/P&gt;&lt;P&gt;*----Creating custom container instance&lt;/P&gt;&lt;P&gt;    CREATE OBJECT gr_ccontainer&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name = gc_custom_control_name&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        cntl_error = 1&lt;/P&gt;&lt;P&gt;        cntl_system_error = 2&lt;/P&gt;&lt;P&gt;        create_error = 3&lt;/P&gt;&lt;P&gt;        lifetime_error = 4&lt;/P&gt;&lt;P&gt;        lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;        others = 6 .&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;       --Exception handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Creating ALV Grid instance&lt;/P&gt;&lt;P&gt;    CREATE OBJECT gr_alvgrid&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent = gr_ccontainer&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        error_cntl_create = 1&lt;/P&gt;&lt;P&gt;        error_cntl_init = 2&lt;/P&gt;&lt;P&gt;        error_cntl_link = 3&lt;/P&gt;&lt;P&gt;        error_dp_create = 4&lt;/P&gt;&lt;P&gt;        others = 5 .&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;     *--Exception handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Preparing field catalog.&lt;/P&gt;&lt;P&gt;    PERFORM prepare_field_catalog CHANGING gt_fieldcat .&lt;/P&gt;&lt;P&gt;*----Preparing layout structure&lt;/P&gt;&lt;P&gt;    PERFORM prepare_layout CHANGING gs_layout .&lt;/P&gt;&lt;P&gt;*----Here will be additional preparations&lt;/P&gt;&lt;P&gt;*--e.g. initial sorting criteria, initial filtering criteria, excluding&lt;/P&gt;&lt;P&gt;*--functions&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_alvgrid-&amp;gt;set_table_for_first_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_STRUCTURE_NAME = 'SFLIGHT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_VARIANT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SAVE =&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;/UL&gt;&lt;P&gt;      is_layout = gs_layout&lt;/P&gt;&lt;UL&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;    IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_TOOLBAR_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_HYPERLINK =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab = gt_sflight[]&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = gt_fieldcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;      program_error = 2&lt;/P&gt;&lt;P&gt;      too_many_lines = 3&lt;/P&gt;&lt;P&gt;      OTHERS = 4 .&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;     --Exception handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_alvgrid-&amp;gt;refresh_table_display&lt;/P&gt;&lt;UL&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;IS_STABLE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SOFT_REFRESH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;    finished = 1&lt;/P&gt;&lt;P&gt;    OTHERS = 2 .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;endform.                    "display_alv&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  prepare_field_catalog&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;PT_FIELDCATtext&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 prepare_field_catalog CHANGING pt_fieldcat TYPE lvc_t_fcat .&lt;/P&gt;&lt;P&gt;*---Preparing field catalog manually&lt;/P&gt;&lt;P&gt;*DATA ls_fcat type lvc_s_fcat .&lt;/P&gt;&lt;P&gt;*ls_fcat-fieldname = 'CARRID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-inttype = 'C' .&lt;/P&gt;&lt;P&gt;*ls_fcat-outputlen = '3' .&lt;/P&gt;&lt;P&gt;*ls_fcat-coltext = 'Carrier ID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-seltext = 'Carrier ID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-drdn_hndl = '1' .&lt;/P&gt;&lt;P&gt;*APPEND ls_fcat to pt_fieldcat .&lt;/P&gt;&lt;P&gt;*CLEAR ls_fcat .&lt;/P&gt;&lt;P&gt;*ls_fcat-fieldname = 'CONNID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-ref_table = 'SFLIGHT' .&lt;/P&gt;&lt;P&gt;*ls_fcat-ref_table = 'CONNID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-outputlen = '3' .&lt;/P&gt;&lt;P&gt;*ls_fcat-coltext = 'Connection ID' .&lt;/P&gt;&lt;P&gt;*ls_fcat-seltext = 'Connection ID' .&lt;/P&gt;&lt;P&gt;*APPEND ls_fcat to pt_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Preparing field catalog semi-automatically&lt;/P&gt;&lt;P&gt;  DATA ls_fcat type lvc_s_fcat .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_structure_name       = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = pt_fieldcat[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT pt_fieldcat INTO ls_fcat .&lt;/P&gt;&lt;P&gt;    CASE ls_fcat-fieldname .&lt;/P&gt;&lt;P&gt;      WHEN 'CARRID' .&lt;/P&gt;&lt;P&gt;        ls_fcat-outputlen = '10' .&lt;/P&gt;&lt;P&gt;        ls_fcat-coltext = 'Airline Carrier ID' .&lt;/P&gt;&lt;P&gt;        ls_fcat-drdn_hndl = '1' .&lt;/P&gt;&lt;P&gt;        MODIFY pt_fieldcat FROM ls_fcat .&lt;/P&gt;&lt;P&gt;      WHEN 'PAYMENTSUM' .&lt;/P&gt;&lt;P&gt;        ls_fcat-no_out = 'X' .&lt;/P&gt;&lt;P&gt;        MODIFY pt_fieldcat FROM ls_fcat .&lt;/P&gt;&lt;P&gt;    ENDCASE .&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;ENDFORM .                    "prepare_field_catalog&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  prepare_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;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;PS_LAYOUT  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 prepare_layout CHANGING ps_layout TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;  ps_layout-zebra = 'X' .&lt;/P&gt;&lt;P&gt;  ps_layout-grid_title = 'Flights' .&lt;/P&gt;&lt;P&gt;  ps_layout-smalltitle = 'X' .&lt;/P&gt;&lt;P&gt;ENDFORM. " prepare_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example 2: &lt;STRONG&gt;cl_salv_table&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_outtab type table of sflight.&lt;/P&gt;&lt;P&gt;data: toolbar type ref to cl_salv_functions_list .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gr_table  type ref to cl_salv_table.&lt;/P&gt;&lt;P&gt;data: lr_aggregations type ref to cl_salv_aggregations.&lt;/P&gt;&lt;P&gt;data: lr_groups type ref to cl_salv_sorts .&lt;/P&gt;&lt;P&gt;select * from sflight into corresponding fields of table gt_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method cl_salv_table=&amp;gt;factory&lt;/P&gt;&lt;P&gt;  importing&lt;/P&gt;&lt;P&gt;    r_salv_table = gr_table&lt;/P&gt;&lt;P&gt;  changing&lt;/P&gt;&lt;P&gt;    t_table      = gt_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lr_aggregations = gr_table-&amp;gt;get_aggregations( ).&lt;/P&gt;&lt;P&gt;toolbar = gr_table-&amp;gt;get_functions( ) .&lt;/P&gt;&lt;P&gt;toolbar-&amp;gt;set_all(&lt;/P&gt;&lt;P&gt;      value  = if_salv_c_bool_sap=&amp;gt;true&lt;/P&gt;&lt;P&gt;       ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lr_aggregations-&amp;gt;clear( ).&lt;/P&gt;&lt;P&gt;lr_groups = gr_table-&amp;gt;get_sorts( ) .&lt;/P&gt;&lt;P&gt;lr_groups-&amp;gt;clear( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try.&lt;/P&gt;&lt;P&gt;    lr_groups-&amp;gt;add_sort(&lt;/P&gt;&lt;P&gt;   columnname = 'CARRID'&lt;/P&gt;&lt;P&gt;   position   = 8&lt;/P&gt;&lt;P&gt;   subtotal   = abap_true&lt;/P&gt;&lt;P&gt;   sequence   = if_salv_c_sort=&amp;gt;sort_up ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  catch cx_salv_not_found cx_salv_data_error cx_salv_existing.&lt;/P&gt;&lt;P&gt;endtry.&lt;/P&gt;&lt;P&gt;try.&lt;/P&gt;&lt;P&gt;    lr_aggregations-&amp;gt;add_aggregation( columnname = 'SEATSMAX' ).&lt;/P&gt;&lt;P&gt;  catch cx_salv_not_found cx_salv_data_error cx_salv_existing.&lt;/P&gt;&lt;P&gt;endtry.&lt;/P&gt;&lt;P&gt;gr_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points, if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manoj Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:53:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156905#M750921</guid>
      <dc:creator>former_member402443</dc:creator>
      <dc:date>2007-12-19T09:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156906#M750922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;No it is not neccesary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can use cl_salv_table for ALV Grid display:&lt;/P&gt;&lt;P&gt;Example Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZSB_TEST007&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  zsb_test007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_outtab TYPE TABLE OF sflight.&lt;/P&gt;&lt;P&gt;DATA: gr_table  TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;DATA: gr_functions TYPE REF TO cl_salv_functions_list,&lt;/P&gt;&lt;P&gt;      lr_functions TYPE REF TO cl_salv_functions,&lt;/P&gt;&lt;P&gt;      lr_events TYPE REF TO cl_salv_events_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: name TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lr_columns TYPE REF TO cl_salv_columns,&lt;/P&gt;&lt;P&gt;      lr_column  TYPE REF TO cl_salv_column_table,&lt;/P&gt;&lt;P&gt;      oref       TYPE REF TO cx_root.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_true  TYPE sap_bool VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      CLASS lcl_handle_events DEFINITION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;§5.1 define a local class for handling events of cl_salv_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      on_user_command FOR EVENT added_function OF cl_salv_events&lt;/P&gt;&lt;P&gt;        IMPORTING e_salv_function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;      CLASS lcl_handle_events IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD on_user_command.&lt;/P&gt;&lt;P&gt;    PERFORM show_function USING e_salv_function text-i08.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_user_command&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*START OF SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM select_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*END OF SELECTION&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_function&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;U_FUNCTION text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_TEXT     text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM show_function USING&lt;/P&gt;&lt;P&gt;          u_function TYPE salv_de_function&lt;/P&gt;&lt;P&gt;          u_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_string TYPE string.&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; CONCATENATE u_text u_function INTO l_string SEPARATED BY space.&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; MESSAGE l_string TYPE 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : code(4) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MESSAGE 'YOU WANT TO CREATE MATERIAL' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  IF sy-ucomm = 'ENTR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'MM01'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if sy-ucomm = 'WB_EXEC'.&lt;/P&gt;&lt;P&gt;    LEAVE  program.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "show_function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM select_data.&lt;/P&gt;&lt;P&gt;  SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_outtab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "select_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: gr_events TYPE REF TO lcl_handle_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;*... Create Instance&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_salv_table=&amp;gt;factory&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          r_salv_table = gr_table&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;          t_table      = gt_outtab.&lt;/P&gt;&lt;P&gt;      CREATE OBJECT gr_functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lr_functions = gr_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;P&gt;      lr_functions-&amp;gt;set_all( gc_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lr_columns = gr_table-&amp;gt;get_columns( ).&lt;/P&gt;&lt;P&gt;      lr_columns-&amp;gt;set_optimize( gc_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... Set Aggregation Functions&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     name = 'SET_SUBTOTALS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     gr_functions = gr_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     gr_functions-&amp;gt;set_subtotals( 'X' ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD gr_table-&amp;gt;set_screen_status&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          report        = sy-repid&lt;/P&gt;&lt;P&gt;          pfstatus      = 'ZPFOOPS'&lt;/P&gt;&lt;P&gt;          set_functions = gr_table-&amp;gt;c_functions_all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_msg INTO oref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRY.&lt;/P&gt;&lt;P&gt;      CALL METHOD lr_functions-&amp;gt;add_function(&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          name     = 'MYFUNC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ICON     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          text     = 'ADDED'&lt;/P&gt;&lt;P&gt;          tooltip  = 'JUSTFUNCTION'&lt;/P&gt;&lt;P&gt;      position = if_salv_c_function_position=&amp;gt;right_of_salv_functions )&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_existing INTO oref.&lt;/P&gt;&lt;P&gt;    CATCH cx_salv_wrong_call INTO oref.&lt;/P&gt;&lt;P&gt;  ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lr_events = gr_table-&amp;gt;get_event( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT gr_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... §6.1 register to the event USER_COMMAND&lt;/P&gt;&lt;P&gt;  SET HANDLER gr_events-&amp;gt;on_user_command FOR lr_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gr_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_data&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;Sachin Bhatnagar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 09:57:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156906#M750922</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T09:57:09Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156907#M750923</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;thanks a lot...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But can u explain ur second example ...?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If u can than it would b great help...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 11:08:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156907#M750923</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-19T11:08:54Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156908#M750924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dhwani shah ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Second Example I am using the cl_salv_table grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this first i am creating a instance (object) of class using &lt;/P&gt;&lt;P&gt;FACTORY -&amp;gt; Creates an instance of the ALV table object. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I am refering variable for l_salv_functions_list for displaying the common function on the ALV grid.&lt;/P&gt;&lt;P&gt;cl_salv_aggregations for aggregations on some field&lt;/P&gt;&lt;P&gt; cl_salv_sorts -&amp;gt; to sort the grid on the basis on some field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the  lr_aggregations-&amp;gt;add_aggregation( columnname = 'SEATSMAX' ) i am passing the fieldname on which i want the subtotal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The lr_groups-&amp;gt;add_sort(&lt;/P&gt;&lt;P&gt;   columnname = 'CARRID'&lt;/P&gt;&lt;P&gt;   position   = 8&lt;/P&gt;&lt;P&gt;   subtotal   = abap_true&lt;/P&gt;&lt;P&gt;   sequence   = if_salv_c_sort=&amp;gt;sort_up )&lt;/P&gt;&lt;P&gt;sorts the grid based on the carried id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally gr_table-&amp;gt;display( ), display the alv grid on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you more and more on this class in the Tcode SE24 ,&lt;/P&gt;&lt;P&gt;you will get better idea of using this class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manoj Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 11:32:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-oops/m-p/3156908#M750924</guid>
      <dc:creator>former_member402443</dc:creator>
      <dc:date>2007-12-19T11:32:03Z</dc:date>
    </item>
  </channel>
</rss>

