<?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: Abt Interactive ALV ? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403106#M817161</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sakthi..&lt;/P&gt;&lt;P&gt;you can go thrum this code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CODE:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        STRUCTURE DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTERNAL TABLE DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WORKAREA DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        TYPE-POOLS DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ekko,&lt;/P&gt;&lt;P&gt;          ebeln TYPE ekko-ebeln,    &lt;/P&gt;&lt;P&gt;          bstyp TYPE ekko-bstyp,    "Purchasing Document Category&lt;/P&gt;&lt;P&gt;          bsart TYPE ekko-bsart,    "Purchasing Document Type&lt;/P&gt;&lt;P&gt;          aedat TYPE ekko-aedat,    "record created on&lt;/P&gt;&lt;P&gt;          ernam TYPE ekko-ernam,    "Person who Created the Object&lt;/P&gt;&lt;P&gt;          check(1),&lt;/P&gt;&lt;P&gt;        END OF st_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ekpo,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;         ebelp TYPE ekpo-ebelp,    "Item Number of Purchasing Document&lt;/P&gt;&lt;P&gt;         ematn TYPE ekpo-ematn,    "Material number&lt;/P&gt;&lt;P&gt;         matkl TYPE ekpo-matkl,    "Material group&lt;/P&gt;&lt;P&gt;         netpr TYPE ekpo-netpr,    "Net price in purchasing document&lt;/P&gt;&lt;P&gt;        END OF st_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ebeln,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;        END OF st_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_eine,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;         ekorg TYPE eine-ekorg,&lt;/P&gt;&lt;P&gt;         ekgrp TYPE eine-ekgrp,&lt;/P&gt;&lt;P&gt;        END OF st_eine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_check,&lt;/P&gt;&lt;P&gt;         check(1),&lt;/P&gt;&lt;P&gt;        END OF st_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_ekpo TYPE STANDARD TABLE OF st_ekpo,&lt;/P&gt;&lt;P&gt;       it_ekko TYPE STANDARD TABLE OF st_ekko,&lt;/P&gt;&lt;P&gt;       wa_ekko LIKE LINE OF it_ekko,&lt;/P&gt;&lt;P&gt;       it_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       wa_fieldcat LIKE LINE OF it_fieldcat,&lt;/P&gt;&lt;P&gt;       wa_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;       it_events  TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;       st_event LIKE LINE OF it_events,&lt;/P&gt;&lt;P&gt;       it_listheadr TYPE slis_t_listheader ,&lt;/P&gt;&lt;P&gt;       wa_listheadr LIKE LINE OF it_listheadr,&lt;/P&gt;&lt;P&gt;       st_printparams TYPE slis_print_alv,&lt;/P&gt;&lt;P&gt;       it_sortinfo TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       wa_sortinfo LIKE LINE OF it_sortinfo,&lt;/P&gt;&lt;P&gt;       it_ekposortinfo TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       wa_ekposortinfo LIKE LINE OF it_ekposortinfo,&lt;/P&gt;&lt;P&gt;       it_filter TYPE slis_t_filter_alv,&lt;/P&gt;&lt;P&gt;       it_ebeln TYPE STANDARD TABLE OF st_ebeln,&lt;/P&gt;&lt;P&gt;       it_eine TYPE STANDARD TABLE OF st_eine,&lt;/P&gt;&lt;P&gt;       wa_eine TYPE st_eine,&lt;/P&gt;&lt;P&gt;       it_popup TYPE STANDARD TABLE OF st_eine,&lt;/P&gt;&lt;P&gt;       wa_popup TYPE st_eine,&lt;/P&gt;&lt;P&gt;       it_check TYPE STANDARD TABLE OF st_check,&lt;/P&gt;&lt;P&gt;       wa_check TYPE st_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_ebeln TYPE ekko-ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE tit.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_ebeln FOR v_ebeln OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INITIALIZATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  tit = text-000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         AT SELECTION-SCREEN ON&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON so_ebeln.&lt;/P&gt;&lt;P&gt;  PERFORM validate_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_ekko_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_eine_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         END-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM populate_fieldcat1.&lt;/P&gt;&lt;P&gt;  PERFORM populate_layout.&lt;/P&gt;&lt;P&gt;  PERFORM get_eventlist.&lt;/P&gt;&lt;P&gt;  PERFORM get_ekkosortinfo.&lt;/P&gt;&lt;P&gt;  PERFORM ekkodisplay_onalv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_FIELDCAT1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_fieldcat1.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-no_zero = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'BSTYP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-005.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'BSART'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-006.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-007.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-008.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_FIELDCAT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populate_fieldcat2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_fieldcat2 .&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR it_fieldcat.&lt;/P&gt;&lt;P&gt;  REFRESH it_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-hotspot   = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fieldcat-no_zero = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-009.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EMATN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-010.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'MATKL'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-011.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-012.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-datatype =  'CURR'.            "Obligatory to perform SUM&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum    = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                                     "populate_fieldcat2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_EVENTLIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_eventlist.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = it_events[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_events WITH KEY name = slis_ev_pf_status_set INTO st_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    st_event-form = 'SET_PF_STATUS1'.&lt;/P&gt;&lt;P&gt;    APPEND st_event TO it_events.&lt;/P&gt;&lt;P&gt;    CLEAR st_event.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE it_events WITH KEY name = slis_ev_end_of_page INTO st_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    st_event-form = 'END_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    APPEND st_event TO it_events.&lt;/P&gt;&lt;P&gt;    CLEAR st_event.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_EVENTLIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ekpodisplay_onalv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ekpodisplay_onalv .&lt;/P&gt;&lt;P&gt;  IF it_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE 'NO DATA FOUND' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&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;     i_callback_pf_status_set          = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'AT_USER_COMMAND1'&lt;/P&gt;&lt;P&gt;     i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&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                  = I_STRUCTURE_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_TITLE                      = I_GRID_TITLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_SETTINGS                   = I_GRID_SETTINGS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                         = wa_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                      = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                           = it_ekposortinfo[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                         = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                       = 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                        = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    it_events                         = it_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                     = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                          = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                      = 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;    I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_HYPERLINK                      = IT_HYPERLINK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER&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           = 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            = 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                          = it_ekpo&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     program_error                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2           .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ekpodisplay_onalv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_PF_STATUS1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status1 USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MENU' excluding rt_extab.      "Copy from SALV .&lt;/P&gt;&lt;P&gt;ENDFORM.                                        "SET_PF_STATUS1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STANDARD' excluding rt_extab.  "Copy from SALV .&lt;/P&gt;&lt;P&gt;ENDFORM.                                        "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  AT_user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM at_user_command  USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;        			  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      IF rs_selfield-fieldname EQ 'EBELN'.&lt;/P&gt;&lt;P&gt;        READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;        SELECT ebeln ebelp ematn matkl netpr&lt;/P&gt;&lt;P&gt;          FROM ekpo&lt;/P&gt;&lt;P&gt;          INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;         WHERE ebeln EQ wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;        PERFORM populate_fieldcat2.&lt;/P&gt;&lt;P&gt;        PERFORM populate_layout2.&lt;/P&gt;&lt;P&gt;        PERFORM get_ekposortinfo.&lt;/P&gt;&lt;P&gt;        PERFORM ekpodisplay_onalv.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE i020(z50871msg) WITH text-013.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'SE16'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE16'.&lt;/P&gt;&lt;P&gt;    WHEN 'SE37'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE37'.&lt;/P&gt;&lt;P&gt;    WHEN 'DISP'.&lt;/P&gt;&lt;P&gt;      PERFORM get_popupdata.&lt;/P&gt;&lt;P&gt;      PERFORM get_popupfcat.&lt;/P&gt;&lt;P&gt;      PERFORM display_popup.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "AT_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;  REFRESH it_listheadr.&lt;/P&gt;&lt;P&gt;  wa_listheadr-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_listheadr-info = text-001.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheadr TO it_listheadr.&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheadr.&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_listheadr[]&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'.    "From OAER transaction&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_print_params&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_print_params.&lt;/P&gt;&lt;P&gt;  st_printparams-reserve_lines = '3'.               "Lines reserved for footer&lt;/P&gt;&lt;P&gt;  st_printparams-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_print_params&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  end_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM end_of_page.&lt;/P&gt;&lt;P&gt;  REFRESH it_listheadr.&lt;/P&gt;&lt;P&gt;  wa_listheadr-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_listheadr-info = sy-pagno.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheadr TO it_listheadr.&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheadr.&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_listheadr[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "end_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_EKPOSORTINFO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekposortinfo.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-spos = 1.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-tabname = 'EKPO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_ekposortinfo TO it_ekposortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekposortinfo.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-spos = 2.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-fieldname = 'EMATN'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-tabname = 'EKPO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_ekposortinfo TO it_ekposortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekposortinfo.&lt;/P&gt;&lt;P&gt;ENDFORM.                                           "GET_EKPOSORTINFO&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.               "column width&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_hline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_vline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-cell_merge = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_layout-box_fieldname = 'CHECK'.&lt;/P&gt;&lt;P&gt;  wa_layout-box_tabname = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  wa_layout-window_titlebar = 'PURCHASE ORDER HEADER DETAILS'.&lt;/P&gt;&lt;P&gt;ENDFORM.                                         "POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_EKKOsortinfo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekkosortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 1.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 2.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'BSTYP'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 3.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;ENDFORM.                                         "get_EKKOsortinfo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EKKODISPLAY_ONALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ekkodisplay_onalv.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_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;      i_callback_pf_status_set = 'SET_PF_STATUS1'&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = 'AT_USER_COMMAND'&lt;/P&gt;&lt;P&gt;      is_layout                = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat              = it_fieldcat&lt;/P&gt;&lt;P&gt;      it_sort                  = it_sortinfo[]&lt;/P&gt;&lt;P&gt;      it_filter                = it_filter&lt;/P&gt;&lt;P&gt;      it_events                = it_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = it_ekko[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "EKKODISPLAY_ONALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_ebeln&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_ebeln.&lt;/P&gt;&lt;P&gt;  SELECT  ebeln&lt;/P&gt;&lt;P&gt;      FROM ekpo&lt;/P&gt;&lt;P&gt;      INTO TABLE it_ebeln&lt;/P&gt;&lt;P&gt;      WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e020(z50871msg) WITH text-014.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                           "validate_ebeln&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populate_layout2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_layout2 .&lt;/P&gt;&lt;P&gt;  CLEAR wa_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.               "column width&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_layout-zebra = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_hline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_vline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-cell_merge = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_layout-window_titlebar = 'PURCHASE ORDER DETAILS SECOND SCREEN'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_layout2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_POPUPDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_popupdata .&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekko INTO wa_ekko WHERE check = 'X'.&lt;/P&gt;&lt;P&gt;    READ TABLE it_eine INTO wa_eine WITH KEY ebeln = wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i020(z50871msg) WITH text-015 wa_ekko-ebeln .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      wa_popup-ebeln = wa_eine-ebeln.&lt;/P&gt;&lt;P&gt;      wa_popup-ekorg = wa_eine-ekorg.&lt;/P&gt;&lt;P&gt;      wa_popup-ekgrp = wa_eine-ekgrp.&lt;/P&gt;&lt;P&gt;      APPEND wa_popup TO it_popup.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_POPUPDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_POPUPFCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_popupfcat .&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  REFRESH it_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-hotspot   = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EKORG'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-016.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EKGRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-017.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_POPUPFCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_popup .&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekko INTO wa_ekko WHERE check EQ 'X'.&lt;/P&gt;&lt;P&gt;    wa_check-check = wa_ekko-check.&lt;/P&gt;&lt;P&gt;    APPEND wa_check TO it_check.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF it_check[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE i020(z50871msg) WITH text-018.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_popup[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_title              = text-003&lt;/P&gt;&lt;P&gt;        i_allow_no_selection = 'X'&lt;/P&gt;&lt;P&gt;        i_scroll_to_sel_line = 'X'&lt;/P&gt;&lt;P&gt;        i_tabname            = 'IT_POPUP'&lt;/P&gt;&lt;P&gt;        it_fieldcat          = it_fieldcat&lt;/P&gt;&lt;P&gt;        i_callback_program   = sy-repid&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab             = it_popup&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        program_error        = 1&lt;/P&gt;&lt;P&gt;        OTHERS               = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH it_check.&lt;/P&gt;&lt;P&gt;  REFRESH it_popup.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_ekko_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekko_data .&lt;/P&gt;&lt;P&gt;  SELECT ebeln bstyp bsart aedat ernam&lt;/P&gt;&lt;P&gt;      FROM ekko&lt;/P&gt;&lt;P&gt;      INTO CORRESPONDING FIELDS OF TABLE it_ekko&lt;/P&gt;&lt;P&gt;     WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e020(z50871msg) WITH text-019.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_ekko_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_eine_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_eine_data .&lt;/P&gt;&lt;P&gt;  SELECT ebeln  ekorg ekgrp&lt;/P&gt;&lt;P&gt;    FROM eine&lt;/P&gt;&lt;P&gt;    INTO TABLE it_eine&lt;/P&gt;&lt;P&gt;   WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_eine_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  at_user_command1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM at_user_command1  USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;        			  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;    CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'SE16'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE16'.&lt;/P&gt;&lt;P&gt;    WHEN 'SE37'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE37'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "at_user_command1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;sandeep&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Feb 2008 13:27:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-12T13:27:47Z</dc:date>
    <item>
      <title>Abt Interactive ALV ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403103#M817158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to develop an interactive ALV.This is the first time I got such requirement.In my ALV report if I am displaying the output when I am clidking any fields in the ALV report it should process to another ALV report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How should I proceed for that interactive ALV.What function module I want to use? Any referal codes would be appericiated and awarded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sakthi C&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Feb 2008 13:21:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403103#M817158</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-12T13:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: Abt Interactive ALV ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403104#M817159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try below code&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
INTERACTIVE ALV

REPORT Z50651_ALV_INTERACTIVE MESSAGE-ID ZMSG_50651
LINE-SIZE 100
LINE-COUNT 60
NO STANDARD PAGE HEADING.

*******************TABLES DECLARATION******************
TABLES : VBAP,MARA.

******************TYPE POOLS***************************
TYPE-POOLS : SLIS.

*****************INTERNAL TABLES***********************
DATA : BEGIN OF IT_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF IT_VBAP.

*****************TEMPORARY VARIABLES*******************
DATA : V_VBELN LIKE VBAP-VBELN."SALES DOCUMENT
DATA : V_MTART LIKE MARA-MTART. "MATERIAL TYPE

******************FIELD CATALOG************************
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

*****************LAYOUT********************************
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

****************VARIANT********************************
DATA : G_VARIANT LIKE DISVARIANT.

*****************SAVE**********************************
DATA : G_SAVE(1) TYPE C.

******************EVENTS*******************************
DATA : XS_EVENTS TYPE SLIS_ALV_EVENT,
G_EVENTS TYPE SLIS_T_EVENT.

*******************PF STATUS***************************
DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.

*******************USER COMMAND*************************
DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
R_UCOMM LIKE SY-UCOMM.

*****************SELECTION SCREEN*************************
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.

****************AT SELECTION SCREEN**********************
AT SELECTION-SCREEN.
PERFORM VALIDATE.

***************START-OF-SELECTION***************************
START-OF-SELECTION.
PERFORM GET_DETAILS.
PERFORM FIELDCAT.
PERFORM LAYOUT.
PERFORM VARIANT.
PERFORM SAVE.
PERFORM EVENTS.
PERFORM ALV_DISPLAY.

**********************FORMS********************************************
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form validate
&amp;amp;---------------------------------------------------------------------


text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM VALIDATE .
SELECT SINGLE VBELN
FROM VBAP
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
MESSAGE E000 WITH 'enter valid vbeln'.
ENDIF.
ENDFORM. " validate
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form get_details
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM GET_DETAILS .
SELECT VBELN
POSNR
MATNR
FROM VBAP
INTO TABLE IT_VBAP
WHERE VBELN IN S_VBELN.

IF SY-SUBRC &amp;lt;&amp;gt; 0.
MESSAGE E000 WITH 'no details found'.
ENDIF.
ENDFORM. " get_details
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form fieldcat
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM FIELDCAT .
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-OUTPUTLEN = 6.
WA_FIELDCAT-SELTEXT_L = 'ITEM'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-OUTPUTLEN = 18.
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.

ENDFORM. " fieldcat

&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form LAYOUT
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
ENDFORM. " LAYOUT
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form VARIANT
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM VARIANT .
CLEAR G_VARIANT.
G_VARIANT-REPORT = SY-REPID.

ENDFORM. " VARIANT
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form SAVE
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM SAVE .
CLEAR G_SAVE.
G_SAVE = 'A'.
ENDFORM. " SAVE
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form EVENTS
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM EVENTS .
CLEAR XS_EVENTS.
XS_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND XS_EVENTS TO G_EVENTS.
ENDFORM. " EVENTS

&amp;amp;--------------------------------------------------------------------
*&amp;amp; Form TOP_OF_PAGE
&amp;amp;--------------------------------------------------------------------

text 
---------------------------------------------------------------------
FORM TOP_OF_PAGE.
WRITE :/ ' INTELLI GROUP'.
ENDFORM. "TOP_OF_PAGE

&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form ALV_DISPLAY
&amp;amp;---------------------------------------------------------------------

text 
----------------------------------------------------------------------

--&amp;gt; p1 text 
&amp;lt;-- p2 text 
----------------------------------------------------------------------
FORM ALV_DISPLAY .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING

I_INTERFACE_CHECK = ' ' 
I_BYPASSING_BUFFER = 
I_BUFFER_ACTIVE = ' ' 
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = PF_STATUS
I_CALLBACK_USER_COMMAND = USER_COMMAND

I_STRUCTURE_NAME = 
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT

IT_EXCLUDING = 
IT_SPECIAL_GROUPS = 
IT_SORT = 
IT_FILTER = 
IS_SEL_HIDE = 
I_DEFAULT = 'X' 
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = G_EVENTS

IT_EVENT_EXIT = 
IS_PRINT = 
IS_REPREP_ID = 
I_SCREEN_START_COLUMN = 0 
I_SCREEN_START_LINE = 0 
I_SCREEN_END_COLUMN = 0 
I_SCREEN_END_LINE = 0 
IMPORTING 
E_EXIT_CAUSED_BY_CALLER = 
ES_EXIT_CAUSED_BY_USER = 
TABLES
T_OUTTAB = IT_VBAP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM. " ALV_DISPLAY

&amp;amp;--------------------------------------------------------------------
*&amp;amp; Form SET_PF_STATUS
&amp;amp;--------------------------------------------------------------------

text 
---------------------------------------------------------------------
FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'Z50651_PFSTATUS' EXCLUDING EXTAB.
ENDFORM. "SET_PF_STATUS

&amp;amp;--------------------------------------------------------------------
*&amp;amp; Form SET_USER_COMMAND
&amp;amp;--------------------------------------------------------------------

text 
---------------------------------------------------------------------
FORM SET_USER_COMMAND USING R_UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'DC'.
READ TABLE IT_VBAP INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SELECT SINGLE MTART
FROM MARA
INTO V_MTART
WHERE MATNR = IT_VBAP-MATNR.
IF SY-SUBRC 0.
MESSAGE E000 WITH 'NO MATERIAL DESCRIPTION FOR SELECTED MATERIAL NO'.
ELSE.
WRITE :/ 'MATERIAL NO :',IT_VBAP-MATNR.
WRITE :/ 'MATERIAL TYPE :' , V_MTART.

ENDIF.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'CLOSE'.
CALL TRANSACTION 'SE38'.
ENDCASE.
ENDFORM. "SET_USER_COMMAND
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Chandru&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Feb 2008 13:24:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403104#M817159</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-12T13:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: Abt Interactive ALV ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403105#M817160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can do it by two ways:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Using User-command&lt;/P&gt;&lt;P&gt;2. Hotspot&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;User command&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add User command functionality to ALVgrid report	 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to add user command functioality to the ALV grid you need to perform the following steps:&lt;/P&gt;&lt;P&gt;1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include 'USER_COMMAND' FORM&lt;/P&gt;&lt;P&gt;2. Create 'USER_COMMAND' FORM&lt;/P&gt;&lt;P&gt;	&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
 call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            i_callback_program      = gd_repid
            i_callback_top_of_page   = 'TOP-OF-PAGE'  
            I_callback_user_command = 'USER_COMMAND'   "see FORM 
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
            i_save                  = 'X'
       tables
            t_outtab                = it_ekko
       exceptions
            program_error           = 1
            others                  = 2.


*------------------------------------------------------------------*
*       FORM USER_COMMAND                                          *
*------------------------------------------------------------------*
*       --&amp;gt; R_UCOMM                                                *
*       --&amp;gt; RS_SELFIELD                                            *
*------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
                  rs_selfield TYPE slis_selfield.

* Check function code
  CASE r_ucomm.
    WHEN '&amp;amp;IC1'.
*   Check field clicked on within ALVgrid report
    IF rs_selfield-fieldname = 'EBELN'.
*     Read data table, using index of row user clicked on
      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
*     Set parameter ID for transaction screen field
      SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
*     Sxecute transaction ME23N, and skip initial data entry screen
      CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    ENDIF.
  ENDCASE.
ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hotspot&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

REPORT zdemoab.

TYPE-POOLS: slis.
TABLES: mara.

TYPES: BEGIN OF t_itab,
       matnr TYPE mara-matnr,
       mtart TYPE mara-mtart,
       END OF t_itab.

DATA: itab TYPE TABLE OF t_itab,
      wa_itab like line of itab.

DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
      wa_fieldcat LIKE LINE OF i_fieldcat,
      i_layout TYPE slis_layout_alv,
      g_repid TYPE sy-repid.


SELECT matnr mtart INTO TABLE itab FROM mara UP TO 10 ROWS.


CLEAR: wa_fieldcat.
wa_fieldcat-col_pos = 0.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'MARA'.
wa_fieldcat-hotspot = 'X'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR: wa_fieldcat.

wa_fieldcat-col_pos = 1.
wa_fieldcat-fieldname = 'MTART'.
wa_fieldcat-tabname = 'MARA'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR: wa_fieldcat.


i_layout-colwidth_optimize = 'X'.
i_layout-hotspot_fieldname = 'MATNR'.

g_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
   i_callback_program                = g_repid
   I_CALLBACK_USER_COMMAND           = 'USER_COMMAND '
   is_layout                         = i_layout
   it_fieldcat                       = i_fieldcat[]
  TABLES
    t_outtab                          = itab
 EXCEPTIONS
   program_error                     = 1
   OTHERS                            = 2
          .
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.

FORM user_command USING r_ucomm LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.

*   Check field clicked on within ALVgrid report
    IF rs_selfield-fieldname = 'MATNR'.
*     To pass the material no in ME22 transaction
      READ TABLE itab INTO wa_itab INDEX rs_selfield-tabindex.
*     Set parameter ID for transaction screen field
      SET PARAMETER ID 'BES' FIELD wa_itab-matnr.
*     Sxecute transaction ME23N, and skip initial data entry screen
      CALL TRANSACTION 'MM03'.
*
    ENDIF.
ENDFORM.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Feb 2008 13:25:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403105#M817160</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-12T13:25:22Z</dc:date>
    </item>
    <item>
      <title>Re: Abt Interactive ALV ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403106#M817161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sakthi..&lt;/P&gt;&lt;P&gt;you can go thrum this code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CODE:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        STRUCTURE DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTERNAL TABLE DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WORKAREA DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        TYPE-POOLS DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ekko,&lt;/P&gt;&lt;P&gt;          ebeln TYPE ekko-ebeln,    &lt;/P&gt;&lt;P&gt;          bstyp TYPE ekko-bstyp,    "Purchasing Document Category&lt;/P&gt;&lt;P&gt;          bsart TYPE ekko-bsart,    "Purchasing Document Type&lt;/P&gt;&lt;P&gt;          aedat TYPE ekko-aedat,    "record created on&lt;/P&gt;&lt;P&gt;          ernam TYPE ekko-ernam,    "Person who Created the Object&lt;/P&gt;&lt;P&gt;          check(1),&lt;/P&gt;&lt;P&gt;        END OF st_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ekpo,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;         ebelp TYPE ekpo-ebelp,    "Item Number of Purchasing Document&lt;/P&gt;&lt;P&gt;         ematn TYPE ekpo-ematn,    "Material number&lt;/P&gt;&lt;P&gt;         matkl TYPE ekpo-matkl,    "Material group&lt;/P&gt;&lt;P&gt;         netpr TYPE ekpo-netpr,    "Net price in purchasing document&lt;/P&gt;&lt;P&gt;        END OF st_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_ebeln,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;        END OF st_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_eine,&lt;/P&gt;&lt;P&gt;         ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;         ekorg TYPE eine-ekorg,&lt;/P&gt;&lt;P&gt;         ekgrp TYPE eine-ekgrp,&lt;/P&gt;&lt;P&gt;        END OF st_eine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_check,&lt;/P&gt;&lt;P&gt;         check(1),&lt;/P&gt;&lt;P&gt;        END OF st_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_ekpo TYPE STANDARD TABLE OF st_ekpo,&lt;/P&gt;&lt;P&gt;       it_ekko TYPE STANDARD TABLE OF st_ekko,&lt;/P&gt;&lt;P&gt;       wa_ekko LIKE LINE OF it_ekko,&lt;/P&gt;&lt;P&gt;       it_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;       wa_fieldcat LIKE LINE OF it_fieldcat,&lt;/P&gt;&lt;P&gt;       wa_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;       it_events  TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;       st_event LIKE LINE OF it_events,&lt;/P&gt;&lt;P&gt;       it_listheadr TYPE slis_t_listheader ,&lt;/P&gt;&lt;P&gt;       wa_listheadr LIKE LINE OF it_listheadr,&lt;/P&gt;&lt;P&gt;       st_printparams TYPE slis_print_alv,&lt;/P&gt;&lt;P&gt;       it_sortinfo TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       wa_sortinfo LIKE LINE OF it_sortinfo,&lt;/P&gt;&lt;P&gt;       it_ekposortinfo TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       wa_ekposortinfo LIKE LINE OF it_ekposortinfo,&lt;/P&gt;&lt;P&gt;       it_filter TYPE slis_t_filter_alv,&lt;/P&gt;&lt;P&gt;       it_ebeln TYPE STANDARD TABLE OF st_ebeln,&lt;/P&gt;&lt;P&gt;       it_eine TYPE STANDARD TABLE OF st_eine,&lt;/P&gt;&lt;P&gt;       wa_eine TYPE st_eine,&lt;/P&gt;&lt;P&gt;       it_popup TYPE STANDARD TABLE OF st_eine,&lt;/P&gt;&lt;P&gt;       wa_popup TYPE st_eine,&lt;/P&gt;&lt;P&gt;       it_check TYPE STANDARD TABLE OF st_check,&lt;/P&gt;&lt;P&gt;       wa_check TYPE st_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_ebeln TYPE ekko-ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE tit.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_ebeln FOR v_ebeln OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INITIALIZATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  tit = text-000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         AT SELECTION-SCREEN ON&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON so_ebeln.&lt;/P&gt;&lt;P&gt;  PERFORM validate_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_ekko_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_eine_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         END-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM populate_fieldcat1.&lt;/P&gt;&lt;P&gt;  PERFORM populate_layout.&lt;/P&gt;&lt;P&gt;  PERFORM get_eventlist.&lt;/P&gt;&lt;P&gt;  PERFORM get_ekkosortinfo.&lt;/P&gt;&lt;P&gt;  PERFORM ekkodisplay_onalv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_FIELDCAT1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_fieldcat1.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-no_zero = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'BSTYP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-005.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'BSART'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-006.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-007.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-008.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_FIELDCAT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populate_fieldcat2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_fieldcat2 .&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR it_fieldcat.&lt;/P&gt;&lt;P&gt;  REFRESH it_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-hotspot   = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_fieldcat-no_zero = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-009.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EMATN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-010.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'MATKL'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-011.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-012.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-datatype =  'CURR'.            "Obligatory to perform SUM&lt;/P&gt;&lt;P&gt;  wa_fieldcat-do_sum    = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                                     "populate_fieldcat2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_EVENTLIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_eventlist.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = it_events[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_events WITH KEY name = slis_ev_pf_status_set INTO st_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    st_event-form = 'SET_PF_STATUS1'.&lt;/P&gt;&lt;P&gt;    APPEND st_event TO it_events.&lt;/P&gt;&lt;P&gt;    CLEAR st_event.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE it_events WITH KEY name = slis_ev_end_of_page INTO st_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    st_event-form = 'END_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    APPEND st_event TO it_events.&lt;/P&gt;&lt;P&gt;    CLEAR st_event.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_EVENTLIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ekpodisplay_onalv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ekpodisplay_onalv .&lt;/P&gt;&lt;P&gt;  IF it_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE 'NO DATA FOUND' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&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;     i_callback_pf_status_set          = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'AT_USER_COMMAND1'&lt;/P&gt;&lt;P&gt;     i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&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                  = I_STRUCTURE_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_TITLE                      = I_GRID_TITLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_SETTINGS                   = I_GRID_SETTINGS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                         = wa_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                      = IT_EXCLUDING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS                 = IT_SPECIAL_GROUPS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_sort                           = it_ekposortinfo[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                         = IT_FILTER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                       = 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                        = IS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    it_events                         = it_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                     = IT_EVENT_EXIT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                          = IS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                      = 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;    I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ALV_GRAPHICS                   = IT_ALV_GRAPHICS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_HYPERLINK                      = IT_HYPERLINK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ADD_FIELDCAT                   = IT_ADD_FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCEPT_QINFO                   = IT_EXCEPT_QINFO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IR_SALV_FULLSCREEN_ADAPTER        = IR_SALV_FULLSCREEN_ADAPTER&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           = 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            = 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                          = it_ekpo&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     program_error                     = 1&lt;/P&gt;&lt;P&gt;     OTHERS                            = 2           .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ekpodisplay_onalv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_PF_STATUS1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status1 USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MENU' excluding rt_extab.      "Copy from SALV .&lt;/P&gt;&lt;P&gt;ENDFORM.                                        "SET_PF_STATUS1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STANDARD' excluding rt_extab.  "Copy from SALV .&lt;/P&gt;&lt;P&gt;ENDFORM.                                        "SET_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  AT_user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM at_user_command  USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;        			  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      IF rs_selfield-fieldname EQ 'EBELN'.&lt;/P&gt;&lt;P&gt;        READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;        SELECT ebeln ebelp ematn matkl netpr&lt;/P&gt;&lt;P&gt;          FROM ekpo&lt;/P&gt;&lt;P&gt;          INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;         WHERE ebeln EQ wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;        PERFORM populate_fieldcat2.&lt;/P&gt;&lt;P&gt;        PERFORM populate_layout2.&lt;/P&gt;&lt;P&gt;        PERFORM get_ekposortinfo.&lt;/P&gt;&lt;P&gt;        PERFORM ekpodisplay_onalv.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE i020(z50871msg) WITH text-013.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'SE16'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE16'.&lt;/P&gt;&lt;P&gt;    WHEN 'SE37'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE37'.&lt;/P&gt;&lt;P&gt;    WHEN 'DISP'.&lt;/P&gt;&lt;P&gt;      PERFORM get_popupdata.&lt;/P&gt;&lt;P&gt;      PERFORM get_popupfcat.&lt;/P&gt;&lt;P&gt;      PERFORM display_popup.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "AT_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;  REFRESH it_listheadr.&lt;/P&gt;&lt;P&gt;  wa_listheadr-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_listheadr-info = text-001.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheadr TO it_listheadr.&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheadr.&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_listheadr[]&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'.    "From OAER transaction&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_print_params&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_print_params.&lt;/P&gt;&lt;P&gt;  st_printparams-reserve_lines = '3'.               "Lines reserved for footer&lt;/P&gt;&lt;P&gt;  st_printparams-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_print_params&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  end_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM end_of_page.&lt;/P&gt;&lt;P&gt;  REFRESH it_listheadr.&lt;/P&gt;&lt;P&gt;  wa_listheadr-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_listheadr-info = sy-pagno.&lt;/P&gt;&lt;P&gt;  APPEND wa_listheadr TO it_listheadr.&lt;/P&gt;&lt;P&gt;  CLEAR wa_listheadr.&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_listheadr[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "end_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_EKPOSORTINFO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekposortinfo.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-spos = 1.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-tabname = 'EKPO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_ekposortinfo TO it_ekposortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekposortinfo.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-spos = 2.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-fieldname = 'EMATN'.&lt;/P&gt;&lt;P&gt;  wa_ekposortinfo-tabname = 'EKPO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_ekposortinfo TO it_ekposortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekposortinfo.&lt;/P&gt;&lt;P&gt;ENDFORM.                                           "GET_EKPOSORTINFO&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.               "column width&lt;/P&gt;&lt;P&gt;  wa_layout-zebra = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_hline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_vline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-cell_merge = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_layout-box_fieldname = 'CHECK'.&lt;/P&gt;&lt;P&gt;  wa_layout-box_tabname = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;  wa_layout-window_titlebar = 'PURCHASE ORDER HEADER DETAILS'.&lt;/P&gt;&lt;P&gt;ENDFORM.                                         "POPULATE_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_EKKOsortinfo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekkosortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 1.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 2.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'BSTYP'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-spos = 3.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_sortinfo-tabname = 'EKKO'.&lt;/P&gt;&lt;P&gt;  APPEND wa_sortinfo TO it_sortinfo.&lt;/P&gt;&lt;P&gt;  CLEAR wa_sortinfo.&lt;/P&gt;&lt;P&gt;ENDFORM.                                         "get_EKKOsortinfo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EKKODISPLAY_ONALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ekkodisplay_onalv.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_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;      i_callback_pf_status_set = 'SET_PF_STATUS1'&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = 'AT_USER_COMMAND'&lt;/P&gt;&lt;P&gt;      is_layout                = wa_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat              = it_fieldcat&lt;/P&gt;&lt;P&gt;      it_sort                  = it_sortinfo[]&lt;/P&gt;&lt;P&gt;      it_filter                = it_filter&lt;/P&gt;&lt;P&gt;      it_events                = it_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = it_ekko[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                            "EKKODISPLAY_ONALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_ebeln&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_ebeln.&lt;/P&gt;&lt;P&gt;  SELECT  ebeln&lt;/P&gt;&lt;P&gt;      FROM ekpo&lt;/P&gt;&lt;P&gt;      INTO TABLE it_ebeln&lt;/P&gt;&lt;P&gt;      WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e020(z50871msg) WITH text-014.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                           "validate_ebeln&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populate_layout2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_layout2 .&lt;/P&gt;&lt;P&gt;  CLEAR wa_layout.&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize = 'X'.               "column width&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_layout-zebra = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_hline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-no_vline = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wa_layout-cell_merge = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_layout-window_titlebar = 'PURCHASE ORDER DETAILS SECOND SCREEN'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_layout2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_POPUPDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_popupdata .&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekko INTO wa_ekko WHERE check = 'X'.&lt;/P&gt;&lt;P&gt;    READ TABLE it_eine INTO wa_eine WITH KEY ebeln = wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i020(z50871msg) WITH text-015 wa_ekko-ebeln .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      wa_popup-ebeln = wa_eine-ebeln.&lt;/P&gt;&lt;P&gt;      wa_popup-ekorg = wa_eine-ekorg.&lt;/P&gt;&lt;P&gt;      wa_popup-ekgrp = wa_eine-ekgrp.&lt;/P&gt;&lt;P&gt;      APPEND wa_popup TO it_popup.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_POPUPDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_POPUPFCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_popupfcat .&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  REFRESH it_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-004.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-hotspot   = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EKORG'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-016.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'EKGRP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = text-017.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_POPUPFCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_popup .&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekko INTO wa_ekko WHERE check EQ 'X'.&lt;/P&gt;&lt;P&gt;    wa_check-check = wa_ekko-check.&lt;/P&gt;&lt;P&gt;    APPEND wa_check TO it_check.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF it_check[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE i020(z50871msg) WITH text-018.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT it_popup[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_title              = text-003&lt;/P&gt;&lt;P&gt;        i_allow_no_selection = 'X'&lt;/P&gt;&lt;P&gt;        i_scroll_to_sel_line = 'X'&lt;/P&gt;&lt;P&gt;        i_tabname            = 'IT_POPUP'&lt;/P&gt;&lt;P&gt;        it_fieldcat          = it_fieldcat&lt;/P&gt;&lt;P&gt;        i_callback_program   = sy-repid&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab             = it_popup&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        program_error        = 1&lt;/P&gt;&lt;P&gt;        OTHERS               = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  REFRESH it_check.&lt;/P&gt;&lt;P&gt;  REFRESH it_popup.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_POPUP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_ekko_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_ekko_data .&lt;/P&gt;&lt;P&gt;  SELECT ebeln bstyp bsart aedat ernam&lt;/P&gt;&lt;P&gt;      FROM ekko&lt;/P&gt;&lt;P&gt;      INTO CORRESPONDING FIELDS OF TABLE it_ekko&lt;/P&gt;&lt;P&gt;     WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e020(z50871msg) WITH text-019.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_ekko_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_eine_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_eine_data .&lt;/P&gt;&lt;P&gt;  SELECT ebeln  ekorg ekgrp&lt;/P&gt;&lt;P&gt;    FROM eine&lt;/P&gt;&lt;P&gt;    INTO TABLE it_eine&lt;/P&gt;&lt;P&gt;   WHERE ebeln IN so_ebeln.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_eine_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  at_user_command1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM at_user_command1  USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;        			  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;    CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'SE16'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE16'.&lt;/P&gt;&lt;P&gt;    WHEN 'SE37'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'SE37'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "at_user_command1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;sandeep&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Feb 2008 13:27:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abt-interactive-alv/m-p/3403106#M817161</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-12T13:27:47Z</dc:date>
    </item>
  </channel>
</rss>

