<?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 GRID DISPLAY USING FACTORY METHODS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953063#M696425</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ravish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding the display of zero values as empty cells have a look at my &amp;lt;i&amp;gt;modified &amp;lt;/i&amp;gt;sample report &amp;lt;b&amp;gt;ZUS_SDN_CL_SALV_TABLE_INTERACT&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_CL_SALV_TABLE_INTERACT
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_cl_salv_table_interact.

TYPE-POOLS: abap.






DATA:
  gt_knb1        TYPE STANDARD TABLE OF knb1.


DATA:
  go_table       TYPE REF TO cl_salv_table,
  go_events      TYPE REF TO cl_salv_events_table.



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS:
      handle_double_click FOR EVENT
          if_salv_events_actions_table~double_click
          OF cl_salv_events_table
          IMPORTING
            row
            column.

ENDCLASS.                    "lcl_eventhandler DEFINITION

*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_double_click.
*   define local data
    DATA:
      lo_table   TYPE REF TO cl_salv_table,
      lt_orders  TYPE STANDARD TABLE OF bapiorders,
      ls_knb1    TYPE knb1.


    READ TABLE gt_knb1 INTO ls_knb1 INDEX row.
    IF ( syst-subrc = 0 ).

      CALL FUNCTION 'BAPI_SALESORDER_GETLIST'
        EXPORTING
          customer_number             = ls_knb1-kunnr
          sales_organization          = '1000'
*         MATERIAL                    =
*         DOCUMENT_DATE               =
*         DOCUMENT_DATE_TO            =
*         PURCHASE_ORDER              =
*         TRANSACTION_GROUP           = 0
*         PURCHASE_ORDER_NUMBER       =
*       IMPORTING
*         RETURN                      =
        TABLES
          sales_orders                = lt_orders.

*     Create ALV grid instance
      TRY.
          CALL METHOD cl_salv_table=&amp;gt;factory
*        EXPORTING
*          LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=&amp;gt;FALSE
*          R_CONTAINER    =
*          CONTAINER_NAME =
            IMPORTING
              r_salv_table   = lo_table
            CHANGING
              t_table        = lt_orders.
        CATCH cx_salv_msg .
      ENDTRY.

      lo_table-&amp;gt;display( ).


**      SET PARAMETER ID 'BUK' FIELD ls_knb1-bukrs.
**      SET PARAMETER ID 'KUN' FIELD ls_knb1-kunnr.
**
**      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
    ENDIF.

  ENDMETHOD.                    "handle_double_click

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION


START-OF-SELECTION.

  SELECT        * FROM  knb1 INTO TABLE gt_knb1
         WHERE  bukrs  = '1000'.


* Create ALV grid instance
  TRY.
      CALL METHOD cl_salv_table=&amp;gt;factory
*    EXPORTING
*      LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=&amp;gt;FALSE
*      R_CONTAINER    =
*      CONTAINER_NAME =
        IMPORTING
          r_salv_table   = go_table
        CHANGING
          t_table        = gt_knb1.
    CATCH cx_salv_msg .
  ENDTRY.

* Create event instance
  go_events = go_table-&amp;gt;get_event( ).

* Set event handler
  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_double_click FOR go_events.


  PERFORM modify_columns.

  go_table-&amp;gt;display( ).

END-OF-SELECTION.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MODIFY_COLUMNS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_columns .
* define local data
  DATA:
    lt_dfies        TYPE ddfields,
    ls_dfies        TYPE dfies,
    lo_typedescr    TYPE REF TO cl_abap_typedescr,
    lo_strucdescr   TYPE REF TO cl_abap_structdescr,
    lo_tabledescr   TYPE REF TO cl_abap_tabledescr,
    lo_columns      TYPE REF TO cl_salv_columns_table,
    lo_column       TYPE REF TO cl_salv_column.



  lo_columns = go_table-&amp;gt;get_columns( ).

  lo_typedescr = cl_abap_typedescr=&amp;gt;describe_by_data( gt_knb1 ).
  lo_tabledescr ?= lo_typedescr.
  lo_strucdescr ?= lo_tabledescr-&amp;gt;get_table_line_type( ).

  lt_dfies = lo_strucdescr-&amp;gt;get_ddic_field_list( ).

  LOOP AT lt_dfies INTO ls_dfies.
    lo_column = lo_columns-&amp;gt;get_column( ls_dfies-fieldname ).

    IF ( ls_dfies-keyflag = abap_true ).
      CONTINUE.

    ELSEIF ( ls_dfies-fieldname = 'WEBTR' ).  " Bill of ex. limit
      lo_column-&amp;gt;set_zero( if_salv_c_bool_sap=&amp;gt;true ).   " display zero
      lo_column-&amp;gt;set_zero( if_salv_c_bool_sap=&amp;gt;false ).  " hide zero
    ELSE.
      lo_column-&amp;gt;set_technical( if_salv_c_bool_sap=&amp;gt;true ).  " hide col
    ENDIF.

  ENDLOOP.

ENDFORM.                    " MODIFY_COLUMNS&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 21 Oct 2007 21:25:48 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2007-10-21T21:25:48Z</dc:date>
    <item>
      <title>ALV GRID DISPLAY USING FACTORY METHODS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953060#M696422</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 using factory methods for my alv grid display.&lt;/P&gt;&lt;P&gt;I have a list of functionalities, for which i am not able to find a correct method..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Header of alv(with all the values of the selection-screen)&lt;/P&gt;&lt;P&gt;2)How to give text to a subtotal(ed) column, i.e. if i subtotal a qty field against a sorted field, i want to display ==&amp;gt; Nett Wt. = 123.00 (for first header entry) and so on for each header entry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)how to remove the zeroes from a quantity field?&lt;/P&gt;&lt;P&gt;4) Displaying the cells as blanks where data is 0( for quantity fields if i have a cell with zero value, it should be blank.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) double click on a cell to open a transaction with the cell's value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help on this would be appreciated. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points will be rewarded for sure...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ravish Garg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2007 23:27:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953060#M696422</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-18T23:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID DISPLAY USING FACTORY METHODS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953061#M696423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here are the answers to your questions -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Header of alv(with all the values of the selection-screen)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check following threads-&lt;/P&gt;&lt;P&gt;This thread will help you to find how to print selection criteria&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="4025911"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This thread will help you to find how to print data in ALV Top of page.&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="3943177"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)How to give text to a subtotal(ed) column, i.e. if i subtotal a qty field against a sorted field, i want to display ==&amp;gt; Nett Wt. = 123.00 (for first header entry) and so on for each header entry.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20386" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20386&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=85191" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=85191&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88401" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88401&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=17335" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=17335&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)how to remove the zeroes from a quantity field?&lt;/P&gt;&lt;P&gt;You need to change property "no_zero " for respective field in the field catalog.&lt;/P&gt;&lt;P&gt;value set: SPACE, 'X'&lt;/P&gt;&lt;P&gt;Only relevant for value fields&lt;/P&gt;&lt;P&gt;'X' = suppress zeros&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Displaying the cells as blanks where data is 0( for quantity fields if i have a cell with zero value, it should be blank.)&lt;/P&gt;&lt;P&gt;Same as above&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) double click on a cell to open a transaction with the cell's value.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=11601" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=11601&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=23010" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=23010&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this answers your questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ashish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Oct 2007 01:50:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953061#M696423</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-19T01:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID DISPLAY USING FACTORY METHODS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953062#M696424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashish,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the reply, but i was looking for the functionalities using the  &amp;lt;b&amp;gt;SALV methods&amp;lt;/b&amp;gt;, im not using the FM" REUSE_ALV_GRID_DISPLAY".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 20 Oct 2007 06:12:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953062#M696424</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-20T06:12:39Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID DISPLAY USING FACTORY METHODS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953063#M696425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ravish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding the display of zero values as empty cells have a look at my &amp;lt;i&amp;gt;modified &amp;lt;/i&amp;gt;sample report &amp;lt;b&amp;gt;ZUS_SDN_CL_SALV_TABLE_INTERACT&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_CL_SALV_TABLE_INTERACT
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_cl_salv_table_interact.

TYPE-POOLS: abap.






DATA:
  gt_knb1        TYPE STANDARD TABLE OF knb1.


DATA:
  go_table       TYPE REF TO cl_salv_table,
  go_events      TYPE REF TO cl_salv_events_table.



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS:
      handle_double_click FOR EVENT
          if_salv_events_actions_table~double_click
          OF cl_salv_events_table
          IMPORTING
            row
            column.

ENDCLASS.                    "lcl_eventhandler DEFINITION

*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_double_click.
*   define local data
    DATA:
      lo_table   TYPE REF TO cl_salv_table,
      lt_orders  TYPE STANDARD TABLE OF bapiorders,
      ls_knb1    TYPE knb1.


    READ TABLE gt_knb1 INTO ls_knb1 INDEX row.
    IF ( syst-subrc = 0 ).

      CALL FUNCTION 'BAPI_SALESORDER_GETLIST'
        EXPORTING
          customer_number             = ls_knb1-kunnr
          sales_organization          = '1000'
*         MATERIAL                    =
*         DOCUMENT_DATE               =
*         DOCUMENT_DATE_TO            =
*         PURCHASE_ORDER              =
*         TRANSACTION_GROUP           = 0
*         PURCHASE_ORDER_NUMBER       =
*       IMPORTING
*         RETURN                      =
        TABLES
          sales_orders                = lt_orders.

*     Create ALV grid instance
      TRY.
          CALL METHOD cl_salv_table=&amp;gt;factory
*        EXPORTING
*          LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=&amp;gt;FALSE
*          R_CONTAINER    =
*          CONTAINER_NAME =
            IMPORTING
              r_salv_table   = lo_table
            CHANGING
              t_table        = lt_orders.
        CATCH cx_salv_msg .
      ENDTRY.

      lo_table-&amp;gt;display( ).


**      SET PARAMETER ID 'BUK' FIELD ls_knb1-bukrs.
**      SET PARAMETER ID 'KUN' FIELD ls_knb1-kunnr.
**
**      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
    ENDIF.

  ENDMETHOD.                    "handle_double_click

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION


START-OF-SELECTION.

  SELECT        * FROM  knb1 INTO TABLE gt_knb1
         WHERE  bukrs  = '1000'.


* Create ALV grid instance
  TRY.
      CALL METHOD cl_salv_table=&amp;gt;factory
*    EXPORTING
*      LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=&amp;gt;FALSE
*      R_CONTAINER    =
*      CONTAINER_NAME =
        IMPORTING
          r_salv_table   = go_table
        CHANGING
          t_table        = gt_knb1.
    CATCH cx_salv_msg .
  ENDTRY.

* Create event instance
  go_events = go_table-&amp;gt;get_event( ).

* Set event handler
  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_double_click FOR go_events.


  PERFORM modify_columns.

  go_table-&amp;gt;display( ).

END-OF-SELECTION.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MODIFY_COLUMNS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_columns .
* define local data
  DATA:
    lt_dfies        TYPE ddfields,
    ls_dfies        TYPE dfies,
    lo_typedescr    TYPE REF TO cl_abap_typedescr,
    lo_strucdescr   TYPE REF TO cl_abap_structdescr,
    lo_tabledescr   TYPE REF TO cl_abap_tabledescr,
    lo_columns      TYPE REF TO cl_salv_columns_table,
    lo_column       TYPE REF TO cl_salv_column.



  lo_columns = go_table-&amp;gt;get_columns( ).

  lo_typedescr = cl_abap_typedescr=&amp;gt;describe_by_data( gt_knb1 ).
  lo_tabledescr ?= lo_typedescr.
  lo_strucdescr ?= lo_tabledescr-&amp;gt;get_table_line_type( ).

  lt_dfies = lo_strucdescr-&amp;gt;get_ddic_field_list( ).

  LOOP AT lt_dfies INTO ls_dfies.
    lo_column = lo_columns-&amp;gt;get_column( ls_dfies-fieldname ).

    IF ( ls_dfies-keyflag = abap_true ).
      CONTINUE.

    ELSEIF ( ls_dfies-fieldname = 'WEBTR' ).  " Bill of ex. limit
      lo_column-&amp;gt;set_zero( if_salv_c_bool_sap=&amp;gt;true ).   " display zero
      lo_column-&amp;gt;set_zero( if_salv_c_bool_sap=&amp;gt;false ).  " hide zero
    ELSE.
      lo_column-&amp;gt;set_technical( if_salv_c_bool_sap=&amp;gt;true ).  " hide col
    ENDIF.

  ENDLOOP.

ENDFORM.                    " MODIFY_COLUMNS&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 21 Oct 2007 21:25:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-display-using-factory-methods/m-p/2953063#M696425</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-10-21T21:25:48Z</dc:date>
    </item>
  </channel>
</rss>

