<?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: OOPS ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-alv/m-p/3395348#M815272</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;its urgent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Feb 2008 06:22:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-08T06:22:01Z</dc:date>
    <item>
      <title>OOPS ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-alv/m-p/3395347#M815271</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;I am creating an ALV Grid from CL_GUI_ALV_GRID class. &lt;/P&gt;&lt;P&gt;The ALV Grid is being generated nicely but its &lt;STRONG&gt;Total&lt;/STRONG&gt; and &lt;STRONG&gt;Sub Total&lt;/STRONG&gt; buttons are &lt;EM&gt;Disabled&lt;/EM&gt;. &lt;/P&gt;&lt;P&gt;Even when i am trying to give Total and sub total in field catalog itself then also i am not getting them.&lt;/P&gt;&lt;P&gt;I hav'nt used &lt;EM&gt;Exlcuding Toolbar Function&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am pasting my code for reference please view and tell where the problem is.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

tables: VBRP,VBRK.

TYPES: BEGIN OF x_invoice,
         vbeln  LIKE vbrk-vbeln,
         bukrs  LIKE vbrk-bukrs,      "Company Code
         kunrg  LIKE vbrk-kunrg,      "Payer
         kunag  LIKE vbrk-kunag,      "Sold To
         posnr  LIKE vbrp-posnr,      "Item
         fkimg  LIKE vbrp-fkimg,      "Qty
         vrkme  LIKE vbrp-vrkme,      "Unit
         netwr  LIKE vbrp-netwr,      "Amount
       END OF x_invoice.

TYPES: BEGIN OF x_vbrk,
         vbeln  LIKE vbrk-vbeln,
         bukrs  LIKE vbrk-bukrs,      "Company Code
         kunrg  LIKE vbrk-kunrg,      "Payer
         kunag  LIKE vbrk-kunag,      "Sold To
       END OF x_vbrk.


TYPES: BEGIN OF x_vbrp,
         vbeln  LIKE vbrp-vbeln,
         posnr  LIKE vbrp-posnr,      "Item
         fkimg  LIKE vbrp-fkimg,      "Qty
         vrkme  LIKE vbrp-vrkme,      "Unit
         netwr  LIKE vbrp-netwr,      "Amount
       END OF x_vbrp.


DATA:  t_vbrk TYPE STANDARD TABLE OF x_vbrk,  "#Header
       wa_vbrk TYPE x_vbrk,
       t_vbrp TYPE STANDARD TABLE OF x_vbrp,  "#Item
       wa_vbrp TYPE x_VBRP,
       t_invoice TYPE STANDARD TABLE OF x_invoice,  "#Invoice
       wa_invoice TYPE x_invoice.                   "#Header + Item

DATA: c_container_name TYPE scrfname VALUE 'ALV_GRID'.

DATA: v_custom_container  TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      v_gui_alv_grid      TYPE REF TO CL_GUI_ALV_GRID,
      t_fcat              TYPE        LVC_T_FCAT,
      t_sort_fcat         TYPE        LVC_T_SORT,
      x_layout            TYPE        LVC_S_LAYO.


*----------------------------------------------------------------------*
*       CLASS cl_receiver_event DEFINITION
*----------------------------------------------------------------------*
CLASS cl_receiver_event DEFINITION.
  PUBLIC SECTION.
    METHODS   handle_dbl_clk
    FOR EVENT double_click
    OF        cl_gui_alv_grid
    IMPORTING es_row_no e_column.
ENDCLASS.                    "cl_receiver_event DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_receiver_event IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS cl_receiver_event IMPLEMENTATION.
  METHOD handle_dbl_clk.
    PERFORM sub_handle_dbl_clk USING es_row_no-row_id.
  ENDMETHOD.                    "handle_dbl_clk

ENDCLASS.                    "cl_receiver_event IMPLEMENTATION

SELECTION-SCREEN BEGIN OF BLOCK bl WITH FRAME TITLE title.
  SELECT-OPTIONS: so_vbeln FOR vbrk-vbeln.
SELECTION-SCREEN END OF BLOCK bl.

INITIALIZATION.
  MOVE 'Select' TO title.

START-OF-SELECTION.
  call SCREEN 9000.

FORM get_data.
  select vbeln bukrs kunrg kunag            "Filling VBRK Table with Header Fields
  from vbrk
  into TABLE t_vbrk
  where vbeln in so_vbeln.

  select vbeln posnr fkimg vrkme netwr      "Filling Invoice Table with Item Fields
  from  vbrp
  INTO CORRESPONDING FIELDS OF TABLE t_invoice
  FOR ALL ENTRIES IN t_vbrk
  WHERE vbeln = t_vbrk-vbeln.

data : p_vbeln TYPE vbrk-vbeln.

  loop at t_invoice into wa_invoice.
    READ TABLE t_vbrk WITH KEY vbeln = wa_invoice-vbeln
    INTO wa_vbrk.
    p_vbeln = wa_invoice-vbeln.

    move wa_vbrk-bukrs to wa_invoice-bukrs.
    move wa_vbrk-kunrg to wa_invoice-kunrg.
    move wa_vbrk-kunag to wa_invoice-kunag.
*    MODIFY t_invoice FROM wa_invoice INDEX sy-tabix. "TRANSPORTING wa_vbrk-bukrs.
    MODIFY t_invoice FROM wa_invoice. "WHERE vbeln = p_vbeln. "TRANSPORTING wa_vbrk-bukrs.
  ENDLOOP.

ENDFORM.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_9000  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module STATUS_9000 output.
  SET PF-STATUS 'ST9000'.
*  SET TITLEBAR 'xxx'.

  PERFORM get_data.
  PERFORM prepare_field_catlog.
  PERFORM prepare_layout.
  PERFORM display_alv.

endmodule.                 " STATUS_9000  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_9000  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module USER_COMMAND_9000 input.
case sy-ucomm.
  when 'BACK'.
    LEAVE PROGRAM.
  WHEN 'CANCEL'.
    LEAVE PROGRAM.
  WHEN 'EXIT'.
    LEAVE PROGRAM.
ENDCASE.

endmodule.                 " USER_COMMAND_9000  INPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  sub_handle_dbl_clk
*&amp;amp;---------------------------------------------------------------------*
*       Code Logic for handling Double Click Event.
*----------------------------------------------------------------------*
*      --&amp;gt;INDEX      Row INDEX
*----------------------------------------------------------------------*
FORM sub_handle_dbl_clk USING index.
  READ TABLE t_invoice INTO wa_invoice INDEX index.
  IF sy-subrc = 0.
    MESSAGE wa_invoice-vbeln TYPE 'I'.
  ENDIF.
ENDFORM.                    "sub_handle_dbl_clk

FORM display_alv.

CREATE OBJECT v_custom_container                    "Object for Custom Container
  EXPORTING
    container_name              = c_container_name
  EXCEPTIONS
    CNTL_ERROR                  = 1
    CNTL_SYSTEM_ERROR           = 2
    CREATE_ERROR                = 3
    LIFETIME_ERROR              = 4
    LIFETIME_DYNPRO_DYNPRO_LINK = 5
    others                      = 6 .
IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CREATE OBJECT v_gui_alv_grid                        "Object for ALV Grid
  EXPORTING
    i_parent          = v_custom_container
  EXCEPTIONS
    ERROR_CNTL_CREATE = 1
    ERROR_CNTL_INIT   = 2
    ERROR_CNTL_LINK   = 3
    ERROR_DP_CREATE   = 4
    others            = 5 .
IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD v_gui_alv_grid-&amp;gt;set_table_for_first_display
  EXPORTING
*    I_BUFFER_ACTIVE               =
*    I_BYPASSING_BUFFER            =
*    I_CONSISTENCY_CHECK           =
*    I_STRUCTURE_NAME              =
*    IS_VARIANT                    =
*    I_SAVE                        =
    I_DEFAULT                     = 'X'
    IS_LAYOUT                     =  x_layout
*    IS_PRINT                      =
*    IT_SPECIAL_GROUPS             =
*    IT_TOOLBAR_EXCLUDING          =
*    IT_HYPERLINK                  =
*    IT_ALV_GRAPHICS               =
*    IT_EXCEPT_QINFO               =
*    IR_SALV_ADAPTER               =
  CHANGING
    it_outtab                     = t_invoice[]
    IT_FIELDCATALOG               = t_fcat[]
    IT_SORT                       = t_sort_fcat
*    IT_FILTER                     =
  EXCEPTIONS
    INVALID_PARAMETER_COMBINATION = 1
    PROGRAM_ERROR                 = 2
    TOO_MANY_LINES                = 3
    others                        = 4
        .
IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM.

FORM prepare_field_catlog.
  DATA: lwa_fcat      TYPE LVC_S_FCAT,
        lwa_sort_fcat TYPE LVC_S_SORT.

  DEFINE m_fcat.
    lwa_fcat-fieldname = &amp;amp;1.
    lwa_fcat-ref_table = &amp;amp;2.
    lwa_fcat-coltext   = &amp;amp;3.
    lwa_fcat-seltext   = &amp;amp;4.
    lwa_fcat-do_sum    = &amp;amp;5.
    APPEND lwa_fcat to t_fcat.
  END-OF-DEFINITION.

  DEFINE m_sortcat.
    lwa_sort_fcat-fieldname = &amp;amp;1.
    lwa_sort_fcat-up        = &amp;amp;2.
    lwa_sort_fcat-subtot    = &amp;amp;3.
    append lwa_sort_fcat to t_sort_fcat.
  END-OF-DEFINITION.

  m_fcat 'VBELN' 'VBRK' 'Document'      'Document'      ' '.
  m_fcat 'BUKRS' 'vbrk' 'Company Code'  'Company Code'  ' '.
  m_fcat 'KUNRG' 'vbrk' 'Payer'         'Payer'         ' '.
  m_fcat 'KUNAG' 'vbrk' 'Sold To'       'Sold To'       ' '.
  m_fcat 'POSNR' 'vbrk' 'Item No'       'Item No'       ' '.
  m_fcat 'FKIMG' 'vbrp' 'Qty'           'Qty'           ' '.
  m_fcat 'VRKME' 'vbrp' 'Unit'          'Unit'          ' '.
  m_fcat 'NETWR' 'vbrp' 'Amount'        'Amount'        'X'.

  m_sortcat 'VBELN' 'X' 'X'.
  m_sortcat 'BUKRS' 'X' ' '.
*  m_sortcat 'KUNRG' 'X' ' '.
*  m_sortcat 'KUNAG' 'X' ' '.


ENDFORM.


FORM prepare_layout.
  x_layout-CWIDTH_OPT = 'X'.
  x_layout-zebra = 'X'.
ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks in advance,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Sachin Bhatnagar.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 05:35:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-alv/m-p/3395347#M815271</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T05:35:28Z</dc:date>
    </item>
    <item>
      <title>Re: OOPS ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-alv/m-p/3395348#M815272</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;its urgent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2008 06:22:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-alv/m-p/3395348#M815272</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-08T06:22:01Z</dc:date>
    </item>
  </channel>
</rss>

