<?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 cl_salv_table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436081#M544924</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which version are you using?&lt;/P&gt;&lt;P&gt;If it is based on Netweaver 2004 or 7.0, you should be able to call ALV reports without having to declare containers at all...&lt;/P&gt;&lt;P&gt;Now, even if you are on 4.6, you should be able to react from the line selection (event) and call another screen or a modal screen with another container in it.&lt;/P&gt;&lt;P&gt;In other words, it is possible, just a little bit more work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Leonardo De Araujo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Jul 2007 12:25:32 GMT</pubDate>
    <dc:creator>LeonardoAraujo</dc:creator>
    <dc:date>2007-07-05T12:25:32Z</dc:date>
    <item>
      <title>ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436080#M544923</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;Is it possible to call another ALV from an already created ALV without using Containers?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My scenario is that I want to select a sigle row from an ALV list by using event dobble click. The data from that row will be the basic for a new select statement. The result from the select statement must be presented in a new ALV list.&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;Regards,&lt;/P&gt;&lt;P&gt;Morten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 12:19:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436080#M544923</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T12:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436081#M544924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which version are you using?&lt;/P&gt;&lt;P&gt;If it is based on Netweaver 2004 or 7.0, you should be able to call ALV reports without having to declare containers at all...&lt;/P&gt;&lt;P&gt;Now, even if you are on 4.6, you should be able to react from the line selection (event) and call another screen or a modal screen with another container in it.&lt;/P&gt;&lt;P&gt;In other words, it is possible, just a little bit more work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Leonardo De Araujo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 12:25:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436081#M544924</guid>
      <dc:creator>LeonardoAraujo</dc:creator>
      <dc:date>2007-07-05T12:25:32Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436082#M544925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi morten....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To create ainteractive ALV, we need to use events internal table.&lt;/P&gt;&lt;P&gt;it contains, event name and corresponding form name to be executed when that event triggered. then just pass that I.Table to the ALV FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this Example....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZJ_ALVS                                 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: KNA1.&lt;/P&gt;&lt;P&gt;*DATA: ITAB TYPE STANDARD TABLE OF ZJKNA1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;      KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;      NAME1 TYPE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;      END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: JTAB LIKE ITAB OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_TOP TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: W_TOP TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EVENT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: W_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;W_EVENT-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;W_EVENT-FORM = 'TOPS'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENT TO IT_EVENT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;W_EVENT-NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;W_EVENT-FORM = 'UCOM'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENT TO IT_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: S_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;*S_LAYOUT-NO_VLINE = 'X'.&lt;/P&gt;&lt;P&gt;S_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;S_LAYOUT-NO_COLHEAD = ''.&lt;/P&gt;&lt;P&gt;S_LAYOUT-TOTALS_ONLY = 'TL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: W_LISTHEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_LISTHEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;W_LISTHEADER-KEY = 'THIS IS LIST'.&lt;/P&gt;&lt;P&gt;APPEND W_LISTHEADER TO IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: W_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-FIELDNAME = 'KUNNR'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-SELTEXT_M = 'CUST. NO'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;APPEND W_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR W_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-FIELDNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-TABNAME = 'ITAB'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-SELTEXT_M = 'CUST. NAME'.&lt;/P&gt;&lt;P&gt;W_FIELDCAT-OUTPUTLEN = 30.&lt;/P&gt;&lt;P&gt;APPEND W_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR W_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT KUNNR NAME1 FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE ITAB&lt;/P&gt;&lt;P&gt;UP TO 50 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_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_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = W_LISTHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = 'ENJOY.BMP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      = 'THIS IS MY FIRST ALV REPORT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   = W_LISTHEADER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IS_LAYOUT                         = S_LAYOUT&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = IT_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&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_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&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;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;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IT_EVENTS                         = IT_EVENT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&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;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&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;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = ITAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;*&lt;/P&gt;&lt;P&gt;**&amp;amp;      Form  TOPS&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;FORM TOPS .&lt;/P&gt;&lt;P&gt;REFRESH IT_TOP.&lt;/P&gt;&lt;P&gt;W_TOP-TYP = 'H'.&lt;/P&gt;&lt;P&gt;*W_TOP-KEY = 'JAGAN'.&lt;/P&gt;&lt;P&gt;W_TOP-INFO = 'THIS IS SAMPLE HEADER'.&lt;/P&gt;&lt;P&gt;APPEND W_TOP TO IT_TOP.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;   IT_LIST_COMMENTARY       = IT_TOP&lt;/P&gt;&lt;P&gt;   I_LOGO                   = 'IDLOGO1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOPS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  UCOM&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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;&lt;/P&gt;&lt;P&gt;FORM UCOM USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CUS(10) TYPE N VALUE '0000000000'.&lt;/P&gt;&lt;P&gt;CUS = SEL-VALUE.&lt;/P&gt;&lt;P&gt;REFRESH ITAB.&lt;/P&gt;&lt;P&gt;SELECT KUNNR NAME1 FROM kna1 INTO TABLE ITAB WHERE KUNNR = CUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PROGRAM             = SY-REPID&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                    = IT_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                      = IT_EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                       = ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UCOM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 12:27:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436082#M544925</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T12:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436083#M544926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Morten&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the answer (=Yes) to your question.&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.

  go_table-&amp;gt;display( ).

END-OF-SELECTION.&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>Thu, 05 Jul 2007 12:28:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436083#M544926</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-07-05T12:28:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436084#M544927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is the  program of ALV ... when you Double  Cliclk it will pop with the basic list data  in the block  ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT ALV.

* REPORT Z_LIST_MATERIALS.

TYPE-POOLS: SLIS.
TABLES:MARC, MARD, VBAP, LIPS, EKPO, VBFA, EKBE, MARM, VBBE, MARA, MBEW.

SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_WERKS FOR MARC-WERKS, " Plant
                S_MATNR FOR MARC-MATNR, " Material
                S_MTART FOR MARA-MTART. " Material Type
SELECTION-SCREEN END OF BLOCK SEL.

PARAMETERS: P_VARI LIKE DISvariant-VARIANT. " ALV Variant

CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

DATA: BEGIN OF INV OCCURS 100,
        WERKS LIKE MARD-WERKS, " Plant
        MATNR LIKE MARD-MATNR, " Material
        MTART LIKE MARA-MTART, " Material Type
        STPRS LIKE MBEW-STPRS, " Standard Price
        AVAIL LIKE MARD-LABST, " Available
        LABST LIKE MARD-LABST, " Unrestricted use
        INSME LIKE MARD-INSME, " Quality Inspection
        RETME LIKE MARD-RETME, " Returns
        TRANS LIKE MARC-UMLMC, " Stock in transit (calculated)
        UMLMC LIKE MARC-UMLMC, " Stock Transfer (plant)
        UMLME LIKE MARD-UMLME, " Transfer (SLoc)
        WESBS LIKE EKBE-WESBS, " GR Blocked Stock
        TRAME LIKE MARC-TRAME, " Stock in transit
        SPEME LIKE MARD-SPEME, " Blocked
        KWMENG LIKE VBAP-KWMENG, " Sales orders
        LFIMG LIKE LIPS-LFIMG, " Scheduled for Delivery
        MENGE LIKE EKPO-MENGE, " Open Purch. Orders
        VALUE LIKE MBEW-SALK3, " Stock Value (Calculated)
        MEINS LIKE MARA-MEINS, " Unit of measure
      END OF INV.

DATA: FIELDTAB TYPE SLIS_T_FIELDCAT_ALV,
      HEADING  TYPE SLIS_T_LISTHEADER,
      LAYOUT   TYPE SLIS_LAYOUT_ALV,
      EVENTS   TYPE SLIS_T_EVENT,
      REPNAME  LIKE SY-REPID,
      F2CODE   LIKE SY-UCOMM VALUE  '&amp;amp;ETA',
      G_SAVE(1) TYPE C,
      G_EXIT(1) TYPE C,
      G_VARIANT LIKE DISVARIANT,
      GX_VARIANT LIKE DISVARIANT.

break-point.
INITIALIZATION.
  REPNAME = SY-REPID.
  PERFORM INITIALIZE_FIELDCAT USING FIELDTAB[].
  PERFORM BUILD_EVENTTAB USING EVENTS[].
  PERFORM BUILD_COMMENT USING HEADING[].
  PERFORM INITIALIZE_VARIANT.

break-point.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
  PERFORM F4_FOR_VARIANT.
break-point.
AT SELECTION-SCREEN.
  PERFORM PAI_OF_SELECTION_SCREEN.
break-point.
START-OF-SELECTION.
  PERFORM GET_MARD.
  PERFORM GET_UNIT_OF_MEASURE.
  PERFORM GET_MARC.
  PERFORM GET_EKPO.
  PERFORM GET_LIPS.
  PERFORM GET_VBAP.
  PERFORM GET_OPEN.
  PERFORM GET_PRICE.

END-OF-SELECTION.
break-point.
  PERFORM BUILD_LAYOUT USING LAYOUT.
  PERFORM WRITE_OUTPUT.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  INITIALIZE_FIELDCAT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_FIELDTAB[]  text                                           *
*----------------------------------------------------------------------*
FORM INITIALIZE_FIELDCAT USING P_FIELDTAB TYPE SLIS_T_FIELDCAT_ALV.
  DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
* fixed columns (obligatory)
  CLEAR L_FIELDCAT.

  L_FIELDCAT-TABNAME    = 'INV'.
  L_FIELDCAT-FIX_COLUMN = 'X'.
  L_FIELDCAT-NO_OUT     = 'O'.

  L_FIELDCAT-FIELDNAME  = 'WERKS'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME  = 'MATNR'.
  APPEND L_FIELDCAT TO P_FIELDTAB.

* totalized columns
  CLEAR L_FIELDCAT.
  L_FIELDCAT-TABNAME   = 'INV'.
  L_FIELDCAT-SP_GROUP  = 'A'.
  L_FIELDCAT-DO_SUM    = 'X'.
  L_FIELDCAT-FIELDNAME = 'LABST'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'INSME'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'RETME'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'UMLME'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'WESBS'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'SPEME'.
  APPEND L_FIELDCAT TO P_FIELDTAB.

* columns with different description
  L_FIELDCAT-FIELDNAME = 'KWMENG'.
  L_FIELDCAT-SELTEXT_M = 'Sales Orders'.
  L_FIELDCAT-SELTEXT_S = 'Sales Or'.
  L_FIELDCAT-SELTEXT_L = 'Sales Orders Qty'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'LFIMG'.
  L_FIELDCAT-SELTEXT_M = 'Sched. Delivery'.
  L_FIELDCAT-SELTEXT_S = 'Schd. Del'.
  L_FIELDCAT-SELTEXT_L = 'Scheduled for Delivery'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'TRANS'.
  L_FIELDCAT-SELTEXT_M = 'Stk. in transit'.
  L_FIELDCAT-SELTEXT_S = 'Stk. trns'.
  L_FIELDCAT-SELTEXT_L = 'Stock in transit (sum)'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'AVAIL'.
  L_FIELDCAT-SELTEXT_M = 'Available'.
  L_FIELDCAT-SELTEXT_S = 'Avail.'.
  L_FIELDCAT-SELTEXT_L = 'Stock Available'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'MENGE'.
  L_FIELDCAT-SELTEXT_M = 'Open Orders'.
  L_FIELDCAT-SELTEXT_S = 'Open Ord'.
  L_FIELDCAT-SELTEXT_L = 'Open Purchase Orders'.
  APPEND L_FIELDCAT TO P_FIELDTAB.

* columns not displayed
  CLEAR L_FIELDCAT.
  L_FIELDCAT-TABNAME   = 'INV'.
  L_FIELDCAT-SP_GROUP  = 'A'.
  L_FIELDCAT-NO_OUT    = 'X'.
  L_FIELDCAT-FIELDNAME = 'MEINS'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'UMLMC'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'TRAME'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'STPRS'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
  L_FIELDCAT-FIELDNAME = 'VALUE'.
  APPEND L_FIELDCAT TO P_FIELDTAB.
ENDFORM.                               " INITIALIZE_FIELDCAT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_EVENTTAB
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_EVENTS[]  text                                             *
*----------------------------------------------------------------------*
FORM BUILD_EVENTTAB USING P_EVENTS TYPE SLIS_T_EVENT.
  DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
            I_LIST_TYPE = 0
       IMPORTING
            ET_EVENTS   = P_EVENTS.
  READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                           INTO LS_EVENT.
  IF SY-SUBRC = 0.
    MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
    APPEND LS_EVENT TO P_EVENTS.
  ENDIF.
ENDFORM.                               " BUILD_EVENTTAB

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_COMMENT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_HEADING[]  text                                            *
*----------------------------------------------------------------------*
FORM BUILD_COMMENT USING P_HEADING TYPE SLIS_T_LISTHEADER.
  DATA: HLINE TYPE SLIS_LISTHEADER,
        TEXT(60) TYPE C,
        SEP(20) TYPE C.
  CLEAR: HLINE, TEXT.
  HLINE-TYP  = 'H'.
  WRITE: TEXT-101 TO TEXT+23.
  HLINE-INFO = TEXT.
  APPEND HLINE TO P_HEADING.
  CLEAR TEXT.
  WRITE: 'User: ' TO TEXT,
         SY-UNAME TO TEXT+6,
         'Date: ' TO TEXT+25,
         SY-DATUM TO TEXT+31,
         'Page: ' TO TEXT+50,
         SY-PAGNO TO TEXT+56.
  HLINE-INFO = TEXT.
  APPEND HLINE TO P_HEADING.



ENDFORM.                    " BUILD_COMMENT

*---------------------------------------------------------------------*
*       FORM TOP_OF_PAGE                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
            IT_LIST_COMMENTARY = HEADING.
ENDFORM.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  INITIALIZE_VARIANT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM INITIALIZE_VARIANT.
  G_SAVE = 'A'.
  CLEAR G_VARIANT.
  G_VARIANT-REPORT = REPNAME.
  GX_VARIANT = G_VARIANT.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
       EXPORTING
            I_SAVE     = G_SAVE
       CHANGING
            CS_VARIANT = GX_VARIANT
       EXCEPTIONS
            NOT_FOUND  = 2.
  IF SY-SUBRC = 0.
    P_VARI = GX_VARIANT-VARIANT.
  ENDIF.
ENDFORM.                               " INITIALIZE_VARIANT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  F4_FOR_VARIANT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM F4_FOR_VARIANT.
  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
       EXPORTING
            IS_VARIANT = G_VARIANT
            I_SAVE     = G_SAVE
       IMPORTING
            E_EXIT     = G_EXIT
            ES_VARIANT = GX_VARIANT
       EXCEPTIONS
            NOT_FOUND  = 2.
  IF SY-SUBRC = 2.
    MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    IF G_EXIT = SPACE.
      P_VARI = GX_VARIANT-VARIANT.
    ENDIF.
  ENDIF.
ENDFORM.                               " F4_FOR_VARIANT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  PAI_OF_SELECTION_SCREEN
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM PAI_OF_SELECTION_SCREEN.
*
  IF NOT P_VARI IS INITIAL.
    MOVE G_VARIANT TO GX_VARIANT.
    MOVE P_VARI TO GX_VARIANT-VARIANT.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
         EXPORTING
              I_SAVE     = G_SAVE
         CHANGING
              CS_VARIANT = GX_VARIANT.
    G_VARIANT = GX_VARIANT.
  ELSE.
    PERFORM INITIALIZE_VARIANT.
  ENDIF.
ENDFORM.                               " PAI_OF_SELECTION_SCREEN


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_MARD
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_MARD.
  SELECT MATNR WERKS LABST INSME RETME UMLME SPEME
         FROM MARD
         INTO CORRESPONDING FIELDS OF INV
         WHERE MATNR IN S_MATNR
         AND   WERKS IN S_WERKS.
    COLLECT INV.
  ENDSELECT.
  PERFORM FILTER_BY_MATERIAL_TYPE.
ENDFORM.                               " GET_MARD

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FILTER_BY_MATERIAL_TYPE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FILTER_BY_MATERIAL_TYPE.
  LOOP AT INV.
    CLEAR INV-MTART.
    SELECT SINGLE MTART
           INTO INV-MTART
           FROM MARA
           WHERE MATNR EQ INV-MATNR
           AND   MTART IN S_MTART.
    IF SY-SUBRC EQ 0.
      MODIFY INV.
    ELSE.
      DELETE INV.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " FILTER_BY_MATERIAL_TYPE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_MARC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_MARC.
  LOOP AT INV.
    SELECT SINGLE UMLMC TRAME
           FROM MARC
           INTO CORRESPONDING FIELDS OF INV
           WHERE MATNR EQ INV-MATNR
           AND   WERKS EQ INV-WERKS.
    IF SY-SUBRC EQ 0.
      INV-TRANS = INV-UMLMC + INV-TRAME.
      MODIFY INV.
    ENDIF.
  ENDLOOP.
ENDFORM.                               " GET_MARC
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_EKPO
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_EKPO.
  DATA: WESBS LIKE INV-WESBS,
        SHKZG LIKE EKBE-SHKZG,
        MEINS LIKE EKPO-MEINS,
        LMEIN LIKE EKPO-LMEIN.
  LOOP AT INV.
    CLEAR: WESBS, SHKZG, MEINS, LMEIN.
    SELECT Y~WESBS Y~SHKZG X~MEINS X~LMEIN
           INTO (WESBS, SHKZG, MEINS, LMEIN)
           FROM EKPO AS X JOIN EKBE AS Y
           ON   X~EBELN = Y~EBELN
           AND  X~EBELP = Y~EBELP
           WHERE X~MATNR EQ INV-MATNR
           AND   X~WERKS EQ INV-WERKS
           AND   X~LOEKZ NE 'L'.
      IF SHKZG EQ 'H'.
        MULTIPLY WESBS BY -1.
      ENDIF.
      IF MEINS NE LMEIN.
        PERFORM CONVERT_UNIT_OF_MEASURE CHANGING INV-MATNR MEINS WESBS.
      ENDIF.
      ADD WESBS TO INV-WESBS.
    ENDSELECT.
    MODIFY INV.
  ENDLOOP.
ENDFORM.                               " GET_EKPO
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_LIPS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_LIPS.
  DATA: LFIMG LIKE INV-LFIMG.
  LOOP AT INV.
    CLEAR: LFIMG, INV-LFIMG.
    SELECT OMENG
           INTO LFIMG
           FROM VBBE
           WHERE MATNR EQ INV-MATNR
           AND   WERKS EQ INV-WERKS
           AND   VBTYP EQ 'J'.
      ADD LFIMG TO INV-LFIMG.
    ENDSELECT.
    MODIFY INV.
  ENDLOOP.
ENDFORM.                               " GET_LIPS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_VBAP
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_VBAP.
  DATA: KWMENG LIKE INV-KWMENG.
  LOOP AT INV.
    CLEAR: KWMENG, INV-KWMENG.
    SELECT OMENG
           INTO KWMENG
           FROM VBBE
           WHERE MATNR EQ INV-MATNR
           AND   WERKS EQ INV-WERKS
           AND   VBTYP EQ 'C'.
      ADD KWMENG TO INV-KWMENG.
    ENDSELECT.
    INV-AVAIL = INV-LABST - INV-INSME - INV-KWMENG - INV-LFIMG.
    MODIFY INV.
  ENDLOOP.
ENDFORM.                               " GET_VBAP

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_UNIT_OF_MEASURE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM GET_UNIT_OF_MEASURE.
  LOOP AT INV.
    SELECT SINGLE MEINS
           FROM MARA
           INTO INV-MEINS
           WHERE MATNR EQ INV-MATNR.
    MODIFY INV.
  ENDLOOP.
ENDFORM.                               " GET_UNIT_OF_MEASURE

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_OPEN
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_OPEN.
  DATA: BEGIN OF XTAB OCCURS 10,       " Open orders table
           WERKS LIKE EKPO-WERKS,
           LGORT LIKE EKPO-LGORT,
           MATNR LIKE EKPO-MATNR,
           MENGE LIKE EKPO-MENGE,
           MENGK LIKE EKPO-MENGE,
         END OF XTAB.
  RANGES: L_WERKS FOR MARD-WERKS.

  LOOP AT INV.
    REFRESH XTAB.
    CLEAR: XTAB, L_WERKS.
    MOVE INV-WERKS TO L_WERKS-LOW.
    CALL FUNCTION 'MB_ADD_PURCHASE_ORDER_QUANTITY'
         EXPORTING
              X_MATNR = INV-MATNR
              X_MEINS = INV-MEINS
              X_ELIKZ = SPACE
              X_LOEKZ = SPACE
         TABLES
              XTAB    = XTAB
              XWERKS  = L_WERKS.
    MOVE XTAB-MENGE TO INV-MENGE.
    MODIFY INV.
  ENDLOOP.
ENDFORM.                               " GET_OPEN

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_PRICE
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GET_PRICE.
  LOOP AT INV.
    SELECT SINGLE STPRS
           FROM MBEW
           INTO INV-STPRS
           WHERE MATNR EQ INV-MATNR
           AND   BWKEY EQ INV-WERKS
           AND   BWTAR EQ SPACE.
      IF SY-SUBRC EQ 0.
        INV-VALUE = INV-STPRS *
                  ( INV-LABST + INV-INSME + INV-TRANS + INV-SPEME ).
        MODIFY INV.
      ENDIF.
  ENDLOOP.
ENDFORM.                    " GET_PRICE

*---------------------------------------------------------------------*
*       FORM CONVERT_UNIT_OF_MEASURE                                  *
*---------------------------------------------------------------------*
*       text                                                          *
*---------------------------------------------------------------------*
*  --&amp;gt;  P_MATNR                                                       *
*  --&amp;gt;  P_VRKME                                                       *
*  --&amp;gt;  P_QUANT                                                       *
*---------------------------------------------------------------------*
FORM CONVERT_UNIT_OF_MEASURE USING P_MATNR P_VRKME P_QUANT.
  DATA: UMREZ LIKE MARM-UMREZ,
        UMREN LIKE MARM-UMREN.
  SELECT SINGLE UMREZ UMREN
         INTO (UMREZ, UMREN)
         FROM MARM
         WHERE MATNR EQ P_MATNR
         AND   MEINH EQ P_VRKME.
  IF SY-SUBRC EQ 0.
    COMPUTE P_QUANT = ( P_QUANT * UMREZ ) / UMREN.
  ENDIF.
ENDFORM.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_LAYOUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_LAYOUT  text                                               *
*----------------------------------------------------------------------*
FORM BUILD_LAYOUT USING P_LAYOUT TYPE SLIS_LAYOUT_ALV.
  P_LAYOUT-F2CODE       = F2CODE.
  P_LAYOUT-ZEBRA        = 'X'.
  P_LAYOUT-DETAIL_POPUP = 'X'.
ENDFORM.                               " BUILD_LAYOUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  WRITE_OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM WRITE_OUTPUT.
  SORT INV BY WERKS MATNR.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
            I_PROGRAM_NAME     = REPNAME
            I_INTERNAL_TABNAME = 'INV'
            I_INCLNAME         = REPNAME
       CHANGING
            CT_FIELDCAT        = FIELDTAB.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_FIELDCATALOG_MERGE'.
  ENDIF.

  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
            I_CALLBACK_PROGRAM = REPNAME
            I_STRUCTURE_NAME   = 'INV'
            IS_LAYOUT          = LAYOUT
            IT_FIELDCAT        = FIELDTAB
            I_DEFAULT          = 'A'
            I_SAVE             = G_SAVE
            IS_VARIANT         = G_VARIANT
            IT_EVENTS          = EVENTS[]
       TABLES
            T_OUTTAB           = INV.
break-point.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_LIST_DISPLAY'.
  ENDIF.
ENDFORM.                               " WRITE_OUTPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points  if it is usefull ....&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 12:33:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436084#M544927</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T12:33:33Z</dc:date>
    </item>
    <item>
      <title>Re: ALV using cl_salv_table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436085#M544928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Uwe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, just what I was looking for.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Morten&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 13:10:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-using-cl-salv-table/m-p/2436085#M544928</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T13:10:31Z</dc:date>
    </item>
  </channel>
</rss>

