<?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 using class In list format in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184235#M1000201</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;Try this..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do this in the PBO..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; sy-ucomm = '&amp;amp;PRINT_BACK_PREVIEW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;G_GRID is your object for the class CL_GUI_ALV_GRID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; CALL METHOD g_grid-&amp;gt;fcode_bouncer&lt;/P&gt;&lt;P&gt;     .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Jul 2008 17:30:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-18T17:30:16Z</dc:date>
    <item>
      <title>Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184229#M1000195</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;I am using a method set_table_for_first_display in class cl_gui_alv_grid to display ALV. but by default the output appears in grid format, I want to change the output in LIST format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What can I do to change the output in list format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;Abhishek.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:04:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184229#M1000195</guid>
      <dc:creator>abhishek_bhattacharjee</dc:creator>
      <dc:date>2008-07-18T14:04:38Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184230#M1000196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Method set_table_for_first_display must only be called a second time if the structure of the output table changes.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hi check this for more info&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/0a/b5533cd30911d2b467006094192fe3/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/0a/b5533cd30911d2b467006094192fe3/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:08:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184230#M1000196</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T14:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184231#M1000197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this.... this is an example code.... don't use set_table_for_first_display rather use CL_SALV_TABLE and execute the below code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZAMIT_TEST
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zamit_test  MESSAGE-ID z_zzz_ca_messages.

* constants for icons
TYPE-POOLS: icon, col.

* type for internal table
TYPES: BEGIN OF x_sflight.
*       selfld TYPE char1.
        INCLUDE STRUCTURE sflight.
TYPES: seatsfree TYPE sflight-seatsocc,
       usage TYPE n,                    " exception
       icon_future TYPE icon-id,        " icon for future / past
       line_counter TYPE i,             " line counter
       it_colors TYPE lvc_t_scol, " internal tab for cell color info
END OF x_sflight.
* Internal table

DATA: i_sflight  TYPE STANDARD TABLE OF x_sflight,
      wa_sflight TYPE x_sflight,
      wa_colors  TYPE lvc_s_scol,
      list_display TYPE sap_bool,
      vref_cont    TYPE REF TO cl_gui_custom_container,
      vref_alv     TYPE REF TO cl_salv_table,      " ALV instance
      oref_error   TYPE REF TO cx_salv_error,      " Error instance
      l_text_alv_e TYPE string,
      ok_code      TYPE syucomm.

SELECT-OPTIONS: so_car FOR wa_sflight-carrid MEMORY ID car,
                so_con FOR wa_sflight-connid.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK alv WITH FRAME TITLE text-alv.
PARAMETERS: pa_full RADIOBUTTON GROUP alvd DEFAULT 'X',
            pa_cont RADIOBUTTON GROUP alvd,
            pa_list RADIOBUTTON GROUP alvd.
SELECTION-SCREEN END OF BLOCK alv.
PARAMETERS: p_layout TYPE slis_vari.

*----------------------------------------------------------------------*
*       CLASS lcl_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
    on_added_function FOR EVENT added_function OF cl_salv_events_table
            IMPORTING e_salv_function, " type salv_de_function
    on_double_click FOR EVENT double_click OF cl_salv_events_table
            IMPORTING row,   " type salv_de_row = int4
    on_link_click FOR EVENT link_click OF cl_salv_events_table
            IMPORTING row    " type salv_de_row = int4
                      column." type salv_de_column = char(30)
ENDCLASS. "lcl_handler definition

*-------------------------------------------------
* CLASS lcl_handler IMPLEMENTATION
*-------------------------------------------------
CLASS lcl_handler IMPLEMENTATION.
  METHOD on_added_function.
    DATA: l_oref_columns TYPE REF TO cl_salv_columns_table,
          l_oref_column  TYPE REF TO cl_salv_column_table,
          l_oref_column1 TYPE REF TO cl_salv_column,
          l_except1      TYPE REF TO cx_salv_not_found,   "Exception
          l_text1        TYPE string,                     "Exception msg
          l_lvc_s_colo TYPE lvc_s_colo.
    CASE e_salv_function.
      WHEN 'REORDER'.
* get the COLUMNS object
        l_oref_columns = vref_alv-&amp;gt;get_columns( ).
* positions: (MANDT column + 3 key colums)
        l_oref_columns-&amp;gt;set_column_position( columnname = 'SEATSOCC'
                                             position = 5 ).
        l_oref_columns-&amp;gt;set_column_position( columnname = 'SEATSOCC_B'
                                             position = 6 ).
        l_oref_columns-&amp;gt;set_column_position( columnname = 'SEATSOCC_F'
                                             position = 7 ).
*       prepare color info

*       column SEATSOCC
        TRY.
            CALL METHOD l_oref_columns-&amp;gt;get_column
              EXPORTING
                columnname = 'SEATSOCC'
              RECEIVING
                value      = l_oref_column1.
          CATCH cx_salv_not_found INTO l_except1.
            l_text1 = l_except1-&amp;gt;get_text( ).
            MESSAGE i000 WITH l_text1.
            LEAVE LIST-PROCESSING.
        ENDTRY.
        l_oref_column ?= l_oref_column1.
        l_oref_column-&amp;gt;set_color( value = l_lvc_s_colo ).

*       column SEATSOCC_B
        TRY.
            CALL METHOD l_oref_columns-&amp;gt;get_column
              EXPORTING
                columnname = 'SEATSOCC_B'
              RECEIVING
                value      = l_oref_column1.
          CATCH cx_salv_not_found INTO l_except1.
            l_text1 = l_except1-&amp;gt;get_text( ).
            MESSAGE i000 WITH l_text1.
            LEAVE LIST-PROCESSING.
        ENDTRY.
        l_oref_column ?= l_oref_column1.
        l_oref_column-&amp;gt;set_color( value = l_lvc_s_colo ).

*       column SEATSOCC_F
        TRY.
            CALL METHOD l_oref_columns-&amp;gt;get_column
              EXPORTING
                columnname = 'SEATSOCC_F'
              RECEIVING
                value      = l_oref_column1.
          CATCH cx_salv_not_found INTO l_except1.
            l_text1 = l_except1-&amp;gt;get_text( ).
            MESSAGE i000 WITH l_text1.
            LEAVE LIST-PROCESSING.
        ENDTRY.
        l_oref_column ?= l_oref_column1.
        l_oref_column-&amp;gt;set_color( value = l_lvc_s_colo ).
    ENDCASE.
  ENDMETHOD. "on_added_function
  METHOD on_double_click.
    DATA: message_text(70),
          lc_seatsfree_e(10),
          lc_seatsfree_b(10),
          lc_seatsfree_f(10).
    READ TABLE i_sflight INTO wa_sflight INDEX row.
    CHECK sy-subrc EQ 0.
    lc_seatsfree_e = wa_sflight-seatsmax - wa_sflight-seatsocc.
    lc_seatsfree_b = wa_sflight-seatsmax_b - wa_sflight-seatsocc_b.
    lc_seatsfree_f = wa_sflight-seatsmax_f - wa_sflight-seatsocc_f.
    CONCATENATE 'FREE SEATS:'(frs) 'ECONOMY:'(eco) lc_seatsfree_e
    'BUSINESS'(bus) lc_seatsfree_b 'FIRST'(fst) lc_seatsfree_f
                    INTO message_text SEPARATED BY space.
    MESSAGE message_text TYPE 'I'.
  ENDMETHOD. "on_double_click
  METHOD on_link_click.
    DATA: lc_carrname TYPE scarr-carrname,
    lc_currcode TYPE scarr-currcode,
    message_text(70).
    READ TABLE i_sflight INTO wa_sflight INDEX row.
    CHECK sy-subrc EQ 0.
    CASE column.
      WHEN 'CARRID'.
        SELECT SINGLE carrname currcode
        INTO (lc_carrname, lc_currcode)
        FROM scarr
        WHERE carrid = wa_sflight-carrid.
        IF sy-subrc EQ 0.
          CONCATENATE 'AIRLINE:'(air) wa_sflight-carrid
          'NAME:'(nme) lc_carrname
          'CURRENCY:' lc_currcode
          INTO message_text
          SEPARATED BY space.
          MESSAGE message_text TYPE 'I'.
        ENDIF.
      WHEN 'SELFLD'.
        MESSAGE i000 with 'Checkbox Clicked'.
    ENDCASE.
  ENDMETHOD. "on_link_click
ENDCLASS. "lcl_handler IMPLEMENTATION

START-OF-SELECTION.
* retrieve data into internal table
  SELECT * FROM sflight
  INTO CORRESPONDING FIELDS OF TABLE i_sflight
  WHERE carrid IN so_car
  AND connid IN so_con.


END-OF-SELECTION.
* fill additional data fields
  LOOP AT i_sflight INTO wa_sflight.
* seats free
    wa_sflight-seatsfree =
    wa_sflight-seatsmax + wa_sflight-seatsmax_b
    + wa_sflight-seatsmax_f
    - wa_sflight-seatsocc - wa_sflight-seatsocc_b
    - wa_sflight-seatsocc_f.
* usage (exception light)
    IF wa_sflight-seatsfree = 0.
      wa_sflight-usage = '1'.
    ELSEIF wa_sflight-seatsfree &amp;lt;= 20.
      wa_sflight-usage = '2'.
    ELSE.
      wa_sflight-usage = '3'.
    ENDIF.
* icon "in the future/not in the future"
    IF wa_sflight-fldate &amp;gt; sy-datum.
      wa_sflight-icon_future = icon_positive.
    ELSE.
      wa_sflight-icon_future = icon_negative.
    ENDIF.
* cell colors
* single cell if planetype is 747-400
    IF wa_sflight-planetype = '747-400'.
      CLEAR wa_colors.
      wa_colors-fname = 'PLANETYPE'.
      wa_colors-color-col = col_positive.
      wa_colors-color-int = 1.
      APPEND wa_colors TO wa_sflight-it_colors.
    ENDIF.
* whole line if seatsfree gt 200
    IF wa_sflight-seatsfree &amp;gt;= 200.
      CLEAR wa_colors.
      wa_colors-color-col = col_heading.
      wa_colors-color-int = 1.
      APPEND wa_colors TO wa_sflight-it_colors.
    ENDIF.
    MODIFY i_sflight
    FROM wa_sflight
         TRANSPORTING
    seatsfree
    usage
    icon_future
    it_colors.
  ENDLOOP.

  CASE 'X'.
    WHEN pa_full OR pa_list.
      IF pa_list IS NOT INITIAL.
        list_display = if_salv_c_bool_sap=&amp;gt;true.
      ELSE.
        list_display = if_salv_c_bool_sap=&amp;gt;false.
      ENDIF.
      TRY.
          CALL METHOD cl_salv_table=&amp;gt;factory
            EXPORTING
              list_display = list_display
            IMPORTING
              r_salv_table = vref_alv
            CHANGING
              t_table      = i_sflight.
        CATCH cx_salv_msg INTO oref_error.
          l_text_alv_e = oref_error-&amp;gt;get_text( ).
          MESSAGE i000 WITH l_text_alv_e.
          LEAVE LIST-PROCESSING.
      ENDTRY.
* define settings
      PERFORM define_settings USING vref_alv.
* display ALV
      vref_alv-&amp;gt;display( ).

    WHEN pa_cont.
      CALL SCREEN 100.
  ENDCASE.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  define_settings
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_ALV      ALV object
*----------------------------------------------------------------------*
FORM define_settings USING p_alv TYPE REF TO cl_salv_table.
  PERFORM: sub_set_display    USING p_alv,
           sub_set_columns    USING p_alv,
           sub_set_sorts      USING p_alv,
           sub_set_aggregs    USING p_alv,
           sub_set_selections USING p_alv,
           sub_set_layout     USING p_alv,
           sub_set_functions  USING p_alv,
           sub_set_events     USING p_alv,
           sub_set_header     USING p_alv.
ENDFORM. " define_settings

*&amp;amp;-------------------------------------------
*&amp;amp; Form sub_set_display
*&amp;amp;-------------------------------------------
* set general display attributs
*--------------------------------------------
* --&amp;gt;P_ALV ALV object
*--------------------------------------------
FORM sub_set_display USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_display TYPE REF TO cl_salv_display_settings,
        l_title TYPE lvc_title.

* get display settings object
  lr_display = p_alv-&amp;gt;get_display_settings( ).
* set header
  l_title = text-ttl.
  lr_display-&amp;gt;set_list_header( value = text-ttl ).
* set horizontal lines off
  lr_display-&amp;gt;set_horizontal_lines( value = ' '  ).
* set striped pattern
  lr_display-&amp;gt;set_striped_pattern( value = 'X' ).
ENDFORM. " sub_set_display

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  sub_set_columns
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_ALV      text
*----------------------------------------------------------------------*
FORM sub_set_columns USING p_alv TYPE REF TO cl_salv_table.
  DATA: l_oref_columns TYPE REF TO cl_salv_columns_table,
        l_oref_column  TYPE REF TO cl_salv_column_table,
        l_oref_column1 TYPE REF TO cl_salv_column,
        l_except1      TYPE REF TO cx_salv_not_found,   "Exception
        l_except2      TYPE REF TO cx_salv_data_error,  "Exception
        l_text1        TYPE string,                     "Exception msg
        l_scrtext_s    TYPE scrtext_s,
        l_scrtext_m    TYPE scrtext_m,
        l_scrtext_l    TYPE scrtext_l,
        l_lvc_tip      TYPE lvc_tip,     " for tooltip
        l_pos          TYPE i,           " column position
        l_lvc_s_colo   TYPE lvc_s_colo.  " column color


  l_oref_columns = p_alv-&amp;gt;get_columns( ).   " get columns object
* set exception column
  TRY.
      CALL METHOD l_oref_columns-&amp;gt;set_exception_column
        EXPORTING
          value = 'USAGE'.
    CATCH cx_salv_data_error INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

* set count column
  TRY.
      CALL METHOD l_oref_columns-&amp;gt;set_count_column
        EXPORTING
          value = 'LINE_COUNTER'.
    CATCH cx_salv_data_error INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

* set cell colors / line colors column
  TRY.
      CALL METHOD l_oref_columns-&amp;gt;set_color_column
        EXPORTING
          value = 'IT_COLORS'.
    CATCH cx_salv_data_error INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

* column ICON_FUTURE
  TRY.
      CALL METHOD l_oref_columns-&amp;gt;get_column
        EXPORTING
          columnname = 'ICON_FUTURE'
        RECEIVING
          value      = l_oref_column1.
    CATCH cx_salv_not_found INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.
  l_oref_column ?= l_oref_column1.
  l_oref_column-&amp;gt;set_icon( ).
  l_scrtext_s = text-fut.
  l_oref_column-&amp;gt;set_short_text( value = l_scrtext_s ).
  l_oref_column-&amp;gt;set_row( value = 2 ).

* Column SEATSFREE
  TRY.
      CALL METHOD l_oref_columns-&amp;gt;get_column
        EXPORTING
          columnname = 'SEATSFREE'
        RECEIVING
          value      = l_oref_column1.
    CATCH cx_salv_not_found INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.
  l_oref_column ?= l_oref_column1.
* set color to COL_GROUP
  l_lvc_s_colo-col = col_group.
  l_lvc_s_colo-int = 1.
  l_oref_column-&amp;gt;set_color( value = l_lvc_s_colo ).

** Column SELFLD
*  TRY.
*      CALL METHOD l_oref_columns-&amp;gt;get_column
*        EXPORTING
*          columnname = 'SELFLD'
*        RECEIVING
*          value      = l_oref_column1.
*    CATCH cx_salv_not_found INTO l_except1.
*      l_text1 = l_except1-&amp;gt;get_text( ).
*      MESSAGE i000 WITH l_text1.
*      LEAVE LIST-PROCESSING.
*  ENDTRY.
*  l_oref_column ?= l_oref_column1.
** set color to COL_GROUP
*  if pa_list = 'X'.
*  l_oref_column-&amp;gt;set_cell_type( value =
*                               if_salv_c_cell_type=&amp;gt;CHECKBOX ).
*  ELSEIF pa_full = 'X'.
*    l_oref_column-&amp;gt;set_cell_type( value =
*                               if_salv_c_cell_type=&amp;gt;CHECKBOX_HOTSPOT ).
*  endif.
ENDFORM.                    "sub_set_columns


*&amp;amp;--------------------------------------------------
*&amp;amp; Form sub_set_sorts
*&amp;amp;--------------------------------------------------
* --&amp;gt;P_ALV text
*&amp;amp;--------------------------------------------------
FORM sub_set_sorts USING p_alv TYPE REF TO cl_salv_table.
  DATA: l_oref_sorts TYPE REF TO cl_salv_sorts,
        l_except1      TYPE REF TO cx_salv_not_found,   "Exception
        l_except2      TYPE REF TO cx_salv_existing,    "Exception
        l_except3      TYPE REF TO cx_salv_data_error,  "Exception
        l_text1        TYPE string.                     "Exception msg

* get the SORTS object
  l_oref_sorts = p_alv-&amp;gt;get_sorts( ).
* add sorts
  TRY.
      CALL METHOD l_oref_sorts-&amp;gt;add_sort
        EXPORTING
          columnname = 'CARRID'
          position   = 1.

    CATCH cx_salv_not_found INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_existing  INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_data_error INTO l_except3.
      l_text1 = l_except3-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

  TRY.
      CALL METHOD l_oref_sorts-&amp;gt;add_sort
        EXPORTING
          columnname = 'CONNID'
          position   = 2
          subtotal   = if_salv_c_bool_sap=&amp;gt;true.

    CATCH cx_salv_not_found INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_existing  INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_data_error INTO l_except3.
      l_text1 = l_except3-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

  TRY.
      CALL METHOD l_oref_sorts-&amp;gt;add_sort
        EXPORTING
          columnname = 'FLDATE'
          position   = 3.

    CATCH cx_salv_not_found INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_existing  INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_data_error INTO l_except3.
      l_text1 = l_except3-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.

ENDFORM. " sub_set_sorts
*&amp;amp;--------------------------------------------------
*&amp;amp; Form sub_set_aggregs
*&amp;amp;--------------------------------------------------
* --&amp;gt;P_ALV text
*&amp;amp;--------------------------------------------------
FORM sub_set_aggregs USING p_alv TYPE REF TO cl_salv_table.
  DATA: l_oref_aggregs TYPE REF TO cl_salv_aggregations,
        l_except1      TYPE REF TO cx_salv_data_error,  "Exception
        l_except2      TYPE REF TO cx_salv_not_found,   "Exception
        l_except3      TYPE REF TO cx_salv_existing,    "Exception
        l_text1        TYPE string.                     "Exception msg

  l_oref_aggregs = p_alv-&amp;gt;get_aggregations( ).
  TRY.
      CALL METHOD l_oref_aggregs-&amp;gt;add_aggregation
        EXPORTING
          columnname  = 'SEATSFREE'
          aggregation = if_salv_c_aggregation=&amp;gt;total.

    CATCH cx_salv_data_error INTO l_except1.
      l_text1 = l_except1-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_not_found  INTO l_except2.
      l_text1 = l_except2-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
    CATCH cx_salv_existing   INTO l_except3.
      l_text1 = l_except3-&amp;gt;get_text( ).
      MESSAGE i000 WITH l_text1.
      LEAVE LIST-PROCESSING.
  ENDTRY.
ENDFORM. " sub_set_aggregs
*&amp;amp;--------------------------------------------------
*&amp;amp; Form sub_set_selections
*&amp;amp;--------------------------------------------------
* --&amp;gt;P_ALV text
*&amp;amp;--------------------------------------------------
FORM sub_set_selections USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_selections TYPE REF TO cl_salv_selections.
* get the SELECTIONS object
  lr_selections = p_alv-&amp;gt;get_selections( ).
* set the selection mode
  lr_selections-&amp;gt;set_selection_mode(
                 value = if_salv_c_selection_mode=&amp;gt;cell ).
ENDFORM. " sub_set_selections
*&amp;amp;--------------------------------------------------
*&amp;amp; Form sub_set_layout
*&amp;amp;--------------------------------------------------
* --&amp;gt;P_ALV text
*&amp;amp;--------------------------------------------------
FORM sub_set_layout USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_layout TYPE REF TO cl_salv_layout,
  ls_key TYPE salv_s_layout_key.
* get the LAYOUT object
  lr_layout = p_alv-&amp;gt;get_layout( ).
* set the layout key
  ls_key-report = sy-cprog.
  lr_layout-&amp;gt;set_key( value = ls_key ).
* set save restriction
* (restriction "none" is intended,
* so we may use the default)
  lr_layout-&amp;gt;set_save_restriction(
* VALUE = IF_SALV_C_LAYOUT=&amp;gt;RESTRICT_NONE
  ).
* allow setting a default layout
  lr_layout-&amp;gt;set_default( value = 'X' ).
* set initial layout
  lr_layout-&amp;gt;set_initial_layout( value = p_layout ).
ENDFORM. " sub_set_layout

*&amp;amp;-----------------------------------------------
*&amp;amp; Form sub_set_functions
*&amp;amp;-----------------------------------------------
* --&amp;gt;P_ALV text
*------------------------------------------------
FORM sub_set_functions USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_functions TYPE REF TO cl_salv_functions_list,
        l_except1    TYPE REF TO cx_salv_existing,
        l_except2    TYPE REF TO cx_salv_wrong_call,
        l_text1      TYPE string,
* help variables for method call ADD_FUNCTION
        l_icon       TYPE string,
        l_text       TYPE string,
        l_tooltip    TYPE string.
IF pa_full = 'X' or pa_list = 'X'.
  p_alv-&amp;gt;set_screen_status( pfstatus = 'SALV_TABLE_STANDARD'
                            report = sy-repid
                       set_functions = p_alv-&amp;gt;c_functions_all ).
ENDIF.
* get the FUNCTIONS object
  lr_functions = p_alv-&amp;gt;get_functions( ).
* offer all generic functions
  lr_functions-&amp;gt;set_all( value = if_salv_c_bool_sap=&amp;gt;true ).
* subtract average
  lr_functions-&amp;gt;set_aggregation_average(
                    value = if_salv_c_bool_sap=&amp;gt;false ).
* subtract all export functions
  lr_functions-&amp;gt;set_group_export(
                    value = if_salv_c_bool_sap=&amp;gt;false ).
* enable exort to local file
  lr_functions-&amp;gt;set_export_localfile(
                    value = if_salv_c_bool_sap=&amp;gt;true ).
* subtract transfer to lotus
  lr_functions-&amp;gt;set_view_lotus(
                    value = if_salv_c_bool_sap=&amp;gt;false ).

* customer defined function:
* display occupied seats columns most left
* and highlight them
*  IF pa_cont = 'X'.
*    l_icon = icon_insert_row.
*    l_text = text-tot.
*    l_tooltip = text-ttt.
*
*    TRY.
*        CALL METHOD lr_functions-&amp;gt;add_function
*          EXPORTING
*            name     = 'REORDER'
*            icon     = l_icon
*            text     = l_text
*            tooltip  = l_tooltip
*     position = if_salv_c_function_position=&amp;gt;right_of_salv_functions.
*      CATCH cx_salv_existing   INTO l_except1.
*        l_text1 = l_except1-&amp;gt;get_text( ).
*        MESSAGE i000 WITH l_text1.
*        LEAVE LIST-PROCESSING.
*      CATCH cx_salv_wrong_call INTO l_except2.
*        l_text1 = l_except2-&amp;gt;get_text( ).
*        MESSAGE i000 WITH l_text1.
*        LEAVE LIST-PROCESSING.
*    ENDTRY.
*  ENDIF.
ENDFORM. " sub_set_functions

*&amp;amp;------------------------------------------------
*&amp;amp; Form sub_set_events
*&amp;amp;------------------------------------------------
* text
*-------------------------------------------------
* --&amp;gt;P_ALV text
*-------------------------------------------------
FORM sub_set_events USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_event TYPE REF TO cl_salv_events_table.
* get the EVENT object
  lr_event = p_alv-&amp;gt;get_event( ).
  SET HANDLER :
  lcl_handler=&amp;gt;on_added_function FOR lr_event,
  lcl_handler=&amp;gt;on_double_click   FOR lr_event,
  lcl_handler=&amp;gt;on_link_click     FOR lr_event.
ENDFORM. " sub_set_events

*&amp;amp;------------------------------------------------
*&amp;amp; Form sub_set_header
*&amp;amp;------------------------------------------------
* --&amp;gt;P_ALV text
*-------------------------------------------------
FORM sub_set_header
USING p_alv TYPE REF TO cl_salv_table.
  DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid.
* 1st step: create the grid object
  CREATE OBJECT lr_grid.
* 2nd step: add some text items
  lr_grid-&amp;gt;create_header_information( row = 1  column = 1
                         text = 'Flight List Grp ##'(fll) ).
  lr_grid-&amp;gt;create_text( row = 2  column = 1
                         text = 'Please check utilization'(uti) ).
* 3rd step: declare grid as header of list
  p_alv-&amp;gt;set_top_of_list( value = lr_grid ).
ENDFORM. " sub_set_header

*&amp;amp;---------------------------------
*&amp;amp; Module STATUS_0100 OUTPUT
*&amp;amp;---------------------------------
* text
*----------------------------------
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'SALV_TABLE_STANDARD'.
  SET TITLEBAR 'T100'.
ENDMODULE. " STATUS_0100 OUTPUT
*&amp;amp;-------------------------------------
*&amp;amp; Module create_control OUTPUT
*&amp;amp;-------------------------------------
* text
*--------------------------------------
MODULE create_control OUTPUT.
  IF vref_cont IS NOT BOUND.
* create container control
* and link it to the dynpro
    CREATE OBJECT vref_cont
    EXPORTING
      container_name = 'MY_CONTAINER'
    EXCEPTIONS
      OTHERS = 1.

    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE e000 WITH 'Error when creating the container object'.
    ENDIF.
* create ALV and
* link it to the container control
    TRY.
        cl_salv_table=&amp;gt;factory(
        EXPORTING
          r_container = vref_cont
        IMPORTING
          r_salv_table = vref_alv
        CHANGING
          t_table = i_sflight ).
      CATCH cx_salv_msg INTO oref_error.
        l_text_alv_e = oref_error-&amp;gt;get_text( ).
        MESSAGE i000 WITH l_text_alv_e.
        LEAVE LIST-PROCESSING.
    ENDTRY.
* display ALV
    vref_alv-&amp;gt;display( ).
  ENDIF.
ENDMODULE. " create_control OUTPUT

*&amp;amp;--------------------------------------
*&amp;amp; Module USER_COMMAND_0100 INPUT
*&amp;amp;--------------------------------------
* text
*---------------------------------------
MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
      SET SCREEN 0.
  ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  exit  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE exit INPUT.
  SET SCREEN 0.
ENDMODULE.                 " exit  INPUT
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:11:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184231#M1000197</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T14:11:44Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184232#M1000198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you check this Ravikumar Blog...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_blogpost" href="https://community.sap.com/" __jive_macro_name="blogpost" modifiedtitle="true" __default_attr="41747"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not Check it once.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 14:16:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184232#M1000198</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T14:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184233#M1000199</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No not a good idea, Don't want to implement a BADI for converting ALV grid to List display..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any other idea please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any simple layout parameter change to display list...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Abhishek...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 16:50:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184233#M1000199</guid>
      <dc:creator>abhishek_bhattacharjee</dc:creator>
      <dc:date>2008-07-18T16:50:12Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184234#M1000200</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No not a good idea, Don't want to implement a BADI for converting ALV grid to List display..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any other idea please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any simple layout parameter change to display list...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Abhishek...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 16:54:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184234#M1000200</guid>
      <dc:creator>abhishek_bhattacharjee</dc:creator>
      <dc:date>2008-07-18T16:54:01Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184235#M1000201</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;Try this..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do this in the PBO..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; sy-ucomm = '&amp;amp;PRINT_BACK_PREVIEW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;G_GRID is your object for the class CL_GUI_ALV_GRID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; CALL METHOD g_grid-&amp;gt;fcode_bouncer&lt;/P&gt;&lt;P&gt;     .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2008 17:30:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184235#M1000201</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-18T17:30:16Z</dc:date>
    </item>
    <item>
      <title>Re: Alv using class In list format</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184236#M1000202</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Narendran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are champ. It works...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Abhishek.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Jul 2008 08:26:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-class-in-list-format/m-p/4184236#M1000202</guid>
      <dc:creator>abhishek_bhattacharjee</dc:creator>
      <dc:date>2008-07-19T08:26:04Z</dc:date>
    </item>
  </channel>
</rss>

