<?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 write alv report using oop concept in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-alv-report-using-oop-concept/m-p/5016618#M1167398</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi abapers, i'm try to write a alv report using oo concept ... but currenly i'm stuck to convert from FM (function module) to OO Alv. this my snap shop of my prog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: display_settings TYPE REF TO cl_salv_display_settings.&lt;/P&gt;&lt;P&gt; DATA: salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: error TYPE REF TO cx_root.&lt;/P&gt;&lt;P&gt;  DATA: errtext TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_main  D.E.F.I.N.I.T.I.O.N&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;CLASS lcl_main DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;   METHODS:get_data,&lt;/P&gt;&lt;P&gt;           write_output.&lt;/P&gt;&lt;P&gt;   EVENTS: no_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;   data:set_display_setting TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; details listing by WBS is selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES: BEGIN OF st_wbs,&lt;/P&gt;&lt;P&gt;        rsnum TYPE zmeime002a-rsnum,&lt;/P&gt;&lt;P&gt;        rspos TYPE zmeime002a-rspos,&lt;/P&gt;&lt;P&gt;        a TYPE zmmgitab01-menge,    "previous month GI quantity&lt;/P&gt;&lt;P&gt;        b TYPE zmeime002a-bdmng,   "Requirement month GI Quantity&lt;/P&gt;&lt;P&gt;        c TYPE zmeime002a-bdmng ,   "Actual Requirement Quantity&lt;/P&gt;&lt;P&gt;        d TYPE zmeime002a-bdmng,   "Actual Requirement Balance&lt;/P&gt;&lt;P&gt;        e TYPE zmeime002a-bdmng,   "Actual Reqn Quantity with MATR&lt;/P&gt;&lt;P&gt;        f TYPE zmmgitab01-menge,   "overall GI qty&lt;/P&gt;&lt;P&gt;        g TYPE zmmgitab01-menge,   "matr GI qty&lt;/P&gt;&lt;P&gt;        qrtn TYPE zmmgitab01-menge,   "quantitty returned&lt;/P&gt;&lt;P&gt;        areq TYPE zmmgitab01-menge,   "actual req value&lt;/P&gt;&lt;P&gt;        amatr TYPE zmmgitab01-menge,   "actual req value with MATR value&lt;/P&gt;&lt;P&gt;        gival TYPE zmmgitab01-menge,  "overall GI value&lt;/P&gt;&lt;P&gt;        matrval TYPE zmmgitab01-menge, "MATR GI value      &lt;/P&gt;&lt;P&gt;  END OF st_wbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: it_wbs TYPE TABLE OF st_wbs.&lt;/P&gt;&lt;P&gt;  DATA : wa_wbs LIKE LINE OF it_wbs.&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;&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;C.L.A.S.S  lcl_handler  D.E.F.I.N.I.T.I.O.N&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;CLASS lcl_handler DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS handle_event FOR EVENT no_data OF lcl_main.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_handler  I.M.P.L.E.M.E.N.T.A.T.I.O.N&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;CLASS lcl_handler IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD handle_event.&lt;/P&gt;&lt;P&gt;    MESSAGE i398(00) WITH 'No entries exist for this selection !'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&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;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;M.A.I.N.  .P.R.O.G.R.A.M.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  DATA: o_main           TYPE REF TO lcl_main,      &lt;/P&gt;&lt;P&gt;        o_handler        TYPE REF TO lcl_handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT: o_main,o_kpi,o_handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET HANDLER o_handler-&amp;gt;handle_event FOR ALL INSTANCES.&lt;/P&gt;&lt;P&gt;CALL METHOD o_main-&amp;gt;get_data.&lt;/P&gt;&lt;P&gt; CALL METHOD o_main-&amp;gt;write_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_main  I.M.P.L.E.M.E.N.T.A.T.I.O.N&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;CLASS lcl_main IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;METHOD get_data.&lt;/P&gt;&lt;P&gt;  *********&lt;STRONG&gt;i run some select statement into IT_WBS&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD write_output.&lt;/P&gt;&lt;P&gt;  cl_salv_table=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    list_display   = if_salv_c_bool_sap=&amp;gt;false&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;    r_salv_table   = salv_table&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    t_table        = it_wbs&lt;/P&gt;&lt;P&gt;       ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM define_settings USING salv_table.&lt;/P&gt;&lt;P&gt;salv_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&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;########i want to change this FM ALV into OO concept ######&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM define_settings  USING    p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM set_display_settings USING p_salv_table.&lt;/P&gt;&lt;P&gt; PERFORM set_columns USING p_salv_table.&lt;/P&gt;&lt;P&gt; PERFORM set_functions USING p_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DEFINE_SETTINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_display_settings  USING p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;display_settings = p_salv_table-&amp;gt;get_display_settings(  ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_list_header( 'MMMs KPI Extraction' ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_striped_pattern( 'X' ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_horizontal_lines( '' ).&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_DISPLAY_SETTINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_columns USING p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;DATA: columns_table TYPE REF TO cl_salv_columns_table.&lt;/P&gt;&lt;P&gt;DATA: column_table TYPE REF TO cl_salv_column_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;columns_table = p_salv_table-&amp;gt;get_columns( ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'RSNUM' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_medium_text( 'Reservation number' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'RSPOS' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_short_text( 'Item' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'A' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'A-Prev month GI' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'B' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'B-Req Quan' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'C' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'C-Actual Req' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'D' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'D-Actual Req Bal' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'E' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'E-Actual Req MATR' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'F' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'F-Overall GI' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'G' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'G-Qty Return' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'QRTN' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Qty Return' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'AREQ' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Actual Req Val' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'AMATR' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Actual Req Val-MATR' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'GIVAL' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Overall GI value' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'MATRVAL' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'MATR GI value' ).&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_COLUMNS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_functions  USING    p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;  DATA : functions_list TYPE REF TO cl_salv_functions_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  functions_list = p_salv_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_default( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_view_excel( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_view_grid( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_group_view( ).&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: firdaus hashim on Jan 15, 2009 9:04 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Jan 2009 08:03:39 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-01-15T08:03:39Z</dc:date>
    <item>
      <title>write alv report using oop concept</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-alv-report-using-oop-concept/m-p/5016618#M1167398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi abapers, i'm try to write a alv report using oo concept ... but currenly i'm stuck to convert from FM (function module) to OO Alv. this my snap shop of my prog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: display_settings TYPE REF TO cl_salv_display_settings.&lt;/P&gt;&lt;P&gt; DATA: salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: error TYPE REF TO cx_root.&lt;/P&gt;&lt;P&gt;  DATA: errtext TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_main  D.E.F.I.N.I.T.I.O.N&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;CLASS lcl_main DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;   METHODS:get_data,&lt;/P&gt;&lt;P&gt;           write_output.&lt;/P&gt;&lt;P&gt;   EVENTS: no_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;   data:set_display_setting TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; details listing by WBS is selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TYPES: BEGIN OF st_wbs,&lt;/P&gt;&lt;P&gt;        rsnum TYPE zmeime002a-rsnum,&lt;/P&gt;&lt;P&gt;        rspos TYPE zmeime002a-rspos,&lt;/P&gt;&lt;P&gt;        a TYPE zmmgitab01-menge,    "previous month GI quantity&lt;/P&gt;&lt;P&gt;        b TYPE zmeime002a-bdmng,   "Requirement month GI Quantity&lt;/P&gt;&lt;P&gt;        c TYPE zmeime002a-bdmng ,   "Actual Requirement Quantity&lt;/P&gt;&lt;P&gt;        d TYPE zmeime002a-bdmng,   "Actual Requirement Balance&lt;/P&gt;&lt;P&gt;        e TYPE zmeime002a-bdmng,   "Actual Reqn Quantity with MATR&lt;/P&gt;&lt;P&gt;        f TYPE zmmgitab01-menge,   "overall GI qty&lt;/P&gt;&lt;P&gt;        g TYPE zmmgitab01-menge,   "matr GI qty&lt;/P&gt;&lt;P&gt;        qrtn TYPE zmmgitab01-menge,   "quantitty returned&lt;/P&gt;&lt;P&gt;        areq TYPE zmmgitab01-menge,   "actual req value&lt;/P&gt;&lt;P&gt;        amatr TYPE zmmgitab01-menge,   "actual req value with MATR value&lt;/P&gt;&lt;P&gt;        gival TYPE zmmgitab01-menge,  "overall GI value&lt;/P&gt;&lt;P&gt;        matrval TYPE zmmgitab01-menge, "MATR GI value      &lt;/P&gt;&lt;P&gt;  END OF st_wbs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: it_wbs TYPE TABLE OF st_wbs.&lt;/P&gt;&lt;P&gt;  DATA : wa_wbs LIKE LINE OF it_wbs.&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;&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;C.L.A.S.S  lcl_handler  D.E.F.I.N.I.T.I.O.N&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;CLASS lcl_handler DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS handle_event FOR EVENT no_data OF lcl_main.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_handler  I.M.P.L.E.M.E.N.T.A.T.I.O.N&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;CLASS lcl_handler IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD handle_event.&lt;/P&gt;&lt;P&gt;    MESSAGE i398(00) WITH 'No entries exist for this selection !'.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&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;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;M.A.I.N.  .P.R.O.G.R.A.M.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  DATA: o_main           TYPE REF TO lcl_main,      &lt;/P&gt;&lt;P&gt;        o_handler        TYPE REF TO lcl_handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT: o_main,o_kpi,o_handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET HANDLER o_handler-&amp;gt;handle_event FOR ALL INSTANCES.&lt;/P&gt;&lt;P&gt;CALL METHOD o_main-&amp;gt;get_data.&lt;/P&gt;&lt;P&gt; CALL METHOD o_main-&amp;gt;write_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C.L.A.S.S  lcl_main  I.M.P.L.E.M.E.N.T.A.T.I.O.N&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;CLASS lcl_main IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;METHOD get_data.&lt;/P&gt;&lt;P&gt;  *********&lt;STRONG&gt;i run some select statement into IT_WBS&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD write_output.&lt;/P&gt;&lt;P&gt;  cl_salv_table=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    list_display   = if_salv_c_bool_sap=&amp;gt;false&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;    r_salv_table   = salv_table&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    t_table        = it_wbs&lt;/P&gt;&lt;P&gt;       ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM define_settings USING salv_table.&lt;/P&gt;&lt;P&gt;salv_table-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&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;########i want to change this FM ALV into OO concept ######&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM define_settings  USING    p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM set_display_settings USING p_salv_table.&lt;/P&gt;&lt;P&gt; PERFORM set_columns USING p_salv_table.&lt;/P&gt;&lt;P&gt; PERFORM set_functions USING p_salv_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DEFINE_SETTINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_display_settings  USING p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;display_settings = p_salv_table-&amp;gt;get_display_settings(  ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_list_header( 'MMMs KPI Extraction' ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_striped_pattern( 'X' ).&lt;/P&gt;&lt;P&gt;  display_settings-&amp;gt;set_horizontal_lines( '' ).&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_DISPLAY_SETTINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_columns USING p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;DATA: columns_table TYPE REF TO cl_salv_columns_table.&lt;/P&gt;&lt;P&gt;DATA: column_table TYPE REF TO cl_salv_column_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;columns_table = p_salv_table-&amp;gt;get_columns( ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'RSNUM' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_medium_text( 'Reservation number' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'RSPOS' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_short_text( 'Item' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'A' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'A-Prev month GI' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'B' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'B-Req Quan' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'C' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'C-Actual Req' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'D' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'D-Actual Req Bal' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'E' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'E-Actual Req MATR' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'F' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'F-Overall GI' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'G' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'G-Qty Return' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'QRTN' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Qty Return' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'AREQ' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Actual Req Val' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'AMATR' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Actual Req Val-MATR' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'GIVAL' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'Overall GI value' ).&lt;/P&gt;&lt;P&gt;column_table ?= columns_table-&amp;gt;get_column( columnname = 'MATRVAL' ).&lt;/P&gt;&lt;P&gt;column_table-&amp;gt;set_long_text( 'MATR GI value' ).&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_COLUMNS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_functions  USING    p_salv_table TYPE REF TO cl_salv_table.&lt;/P&gt;&lt;P&gt;  DATA : functions_list TYPE REF TO cl_salv_functions_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  functions_list = p_salv_table-&amp;gt;get_functions( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_default( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_view_excel( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_view_grid( ).&lt;/P&gt;&lt;P&gt;  functions_list-&amp;gt;set_group_view( ).&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: firdaus hashim on Jan 15, 2009 9:04 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jan 2009 08:03:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-alv-report-using-oop-concept/m-p/5016618#M1167398</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-15T08:03:39Z</dc:date>
    </item>
    <item>
      <title>Re: write alv report using oop concept</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-alv-report-using-oop-concept/m-p/5016619#M1167399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i already findn the solution&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jan 2009 01:48:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-alv-report-using-oop-concept/m-p/5016619#M1167399</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-16T01:48:43Z</dc:date>
    </item>
  </channel>
</rss>

