<?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: HELP NEEDED in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099654#M735474</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;SEE THIS PROGRAM SAME REQUIREMENT , YOU CAN SEE DOCUMENTATION ALSO AVAILABLE FOR THIS REPORT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztest_alv_logo.&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;*ALV Formatting tables /structures&lt;/P&gt;&lt;P&gt;DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_events   TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;DATA: gs_layout   TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_page     TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA: gs_page     TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;DATA: v_repid     LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV Formatting work area&lt;/P&gt;&lt;P&gt;DATA: w_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: w_events   TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_bsid TYPE TABLE OF bsid WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_events.&lt;/P&gt;&lt;P&gt;  PERFORM build_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*perform build_comment.     "top_of_page - in initialization at present&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM bsid INTO TABLE gt_bsid UP TO 10 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.&lt;/P&gt;&lt;P&gt;*USING = Row, Column, Field name, display length, table name, heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OR&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*top of page event does not work without I_callback_program&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&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                = v_repid&lt;/P&gt;&lt;P&gt;      i_structure_name                  = 'BSID'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_background_id                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_grid_title                      = 'This is the grid title'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_layout                         = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                       = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                         = gt_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = gt_bsid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form..............:  populate_for_fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description.......:  Populates fields for function module used in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_for_fm USING p_row&lt;/P&gt;&lt;P&gt;                           p_col&lt;/P&gt;&lt;P&gt;                           p_fieldname&lt;/P&gt;&lt;P&gt;                           p_len&lt;/P&gt;&lt;P&gt;                           p_table&lt;/P&gt;&lt;P&gt;                           p_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-row_pos      = p_row.          "Row Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos      = p_col.          "Column Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname    = p_fieldname.    "Field name&lt;/P&gt;&lt;P&gt;  w_fieldcat-outputlen    = p_len.          "Column Lenth&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname      = p_table.        "Table name&lt;/P&gt;&lt;P&gt;  w_fieldcat-reptext_ddic = p_desc.         "Field Description&lt;/P&gt;&lt;P&gt;  w_fieldcat-input        = '1'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_for_fm&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_events&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;&lt;/P&gt;&lt;P&gt;FORM build_events.&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&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   = gt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_user_command&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_user_command TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When user command is called it uses 2 parameters. The itab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;passed to the ALV is in whatever order it currently is on screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Therefore, you can read table itab index rs_selfield-tabindex to get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all data from the table. You can also check r_ucomm and code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;FORM 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;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_bsid INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error checking etc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET PARAMETER ID 'KUN' FIELD gt_bsid-kunnr.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "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;&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Your own company logo can go here if it has been saved (OAOR)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the logo is larger than the size of the headings in gt_page,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the window will not show full logo and will have a scroll bar. Thus,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is a good idea to have a standard ALV header if you are going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;use logos in your top of page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&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 = gt_page&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_fieldcat&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;&lt;/P&gt;&lt;P&gt;*Many and varied fields are available here. Have a look at documentation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname  = 'BUDAT'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_m  = 'Dte pst'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-ddictxt(1) = 'M'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-edit = 'x'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Can change the position of fields if you do not want them in order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the DDIC or itab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-row_pos = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-col_pos = '10'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND w_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcat&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_page_header&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gt_page is used in top of page (ALV subroutine - NOT event)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      *H = Header, S = Selection, A = Action&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;&lt;/P&gt;&lt;P&gt;FORM build_page_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Headers, Key is not printed and is irrelevant. Will not cause&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a syntax error, but is not used.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 1'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 2'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Selections, the Key is printed (bold). It can be anything up to 20&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bytes. It gets printed in order of code here, not by key value.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key  = 'And the winner is:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 1'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key  = 'Runner up:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 2'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Action, Key is also irrelevant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Action goes here'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REWARD IF USEFULL&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Nov 2007 12:29:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-21T12:29:38Z</dc:date>
    <item>
      <title>HELP NEEDED</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099653#M735473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is my program i would like to add one logo at the top left corner of the&lt;/P&gt;&lt;P&gt;output(header) and some details at the bottom (footer). Can anybody do that,&lt;/P&gt;&lt;P&gt;and send me back.&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;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; Report  Y_BOM2_ALV&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  y_bom2_alv LINE-SIZE 350 LINE-COUNT 350.&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;  Include           YINCLUDE1&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;&lt;/P&gt;&lt;P&gt;TABLES : mast, stko, stpo.&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF iall OCCURS 10,&lt;/P&gt;&lt;P&gt;       matnr LIKE mast-matnr,&lt;/P&gt;&lt;P&gt;       werks LIKE mast-werks,&lt;/P&gt;&lt;P&gt;       stlan LIKE mast-stlan,&lt;/P&gt;&lt;P&gt;       stlal LIKE mast-stlal,&lt;/P&gt;&lt;P&gt;       stlst LIKE stko-stlst,&lt;/P&gt;&lt;P&gt;       posnr LIKE stpo-posnr,&lt;/P&gt;&lt;P&gt;       idnrk LIKE stpo-idnrk,&lt;/P&gt;&lt;P&gt;       menge LIKE stpo-menge,&lt;/P&gt;&lt;P&gt;       meins LIKE stpo-meins,&lt;/P&gt;&lt;P&gt;       ausch LIKE stpo-ausch,&lt;/P&gt;&lt;P&gt;       lgort LIKE stpo-lgort,&lt;/P&gt;&lt;P&gt;       END OF iall.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;       i_lines LIKE sy-tabix,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ls_events TYPE slis_alv_event,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       eve TYPE slis_t_event WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       head TYPE slis_t_listheader WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : int_fcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE title1.&lt;/P&gt;&lt;P&gt;PARAMETER : p_werks LIKE mast-werks.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_matnr FOR mast-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK a1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  title1(50) = ' Bill Of Material Input Screen '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  eve-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  eve-form = 'HEADER'.&lt;/P&gt;&lt;P&gt;  APPEND eve.&lt;/P&gt;&lt;P&gt;  CLEAR eve.&lt;/P&gt;&lt;P&gt;  eve-name = 'END_OF_LIST'.&lt;/P&gt;&lt;P&gt;  eve-form = 'LISTEND'.&lt;/P&gt;&lt;P&gt;  APPEND eve.&lt;/P&gt;&lt;P&gt;  CLEAR eve.&lt;/P&gt;&lt;P&gt;  eve-name = 'TOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;  eve-form = 'LISTTOP'.&lt;/P&gt;&lt;P&gt;  APPEND eve.&lt;/P&gt;&lt;P&gt;  CLEAR eve.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  top-of-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  end-of-page.&lt;/P&gt;&lt;P&gt;  write : sy-tabix.&lt;/P&gt;&lt;P&gt;&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;  Include           YINCLUDE2&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  mast&lt;SUB&gt;matnr mast&lt;/SUB&gt;werks mast&lt;SUB&gt;stlan mast&lt;/SUB&gt;stlal stko~stlst&lt;/P&gt;&lt;P&gt;          stpo&lt;SUB&gt;posnr stpo&lt;/SUB&gt;idnrk stpo&lt;SUB&gt;menge stpo&lt;/SUB&gt;meins stpo~ausch&lt;/P&gt;&lt;P&gt;          stpo~lgort INTO TABLE iall FROM stpo INNER JOIN stko ON&lt;/P&gt;&lt;P&gt;          stpo&lt;SUB&gt;stlnr = stko&lt;/SUB&gt;stlnr INNER JOIN mast ON&lt;/P&gt;&lt;P&gt;          stpo&lt;SUB&gt;stlnr = mast&lt;/SUB&gt;stlnr WHERE mast~werks EQ&lt;/P&gt;&lt;P&gt;          p_werks AND mast~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0 OR p_werks EQ ' ' OR s_matnr EQ ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        titel        = 'ERROR MESSAGE ( INPUT ERROR / WRONG INPUT ) '&lt;/P&gt;&lt;P&gt;        textline1    = ' PLANT / MATERIAL Invalid or Empty '&lt;/P&gt;&lt;P&gt;        textline2    = ' Plese enter plant no / material no again '&lt;/P&gt;&lt;P&gt;        start_column = 20&lt;/P&gt;&lt;P&gt;        start_row    = 5.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_lines.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE iall LINES i_lines.&lt;/P&gt;&lt;P&gt;  IF i_lines LT 1.&lt;/P&gt;&lt;P&gt;    WRITE: /&lt;/P&gt;&lt;P&gt;    'No materials found.'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&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;  Include           YINCLUDE3&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;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_program_name         = i_repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'IALL'&lt;/P&gt;&lt;P&gt;      i_inclname             = i_repid&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = int_fcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&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;    WRITE: /&lt;/P&gt;&lt;P&gt;    'Returncode',&lt;/P&gt;&lt;P&gt;    sy-subrc,&lt;/P&gt;&lt;P&gt;    'from FUNCTION REUSE_ALV_FIELDCATALOG_MERGE'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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 = i_repid&lt;/P&gt;&lt;P&gt;      it_fieldcat        = int_fcat&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      it_events          = eve[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = iall&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;    WRITE: /&lt;/P&gt;&lt;P&gt;    'Returncode',&lt;/P&gt;&lt;P&gt;    sy-subrc,&lt;/P&gt;&lt;P&gt;    'from FUNCTION REUSE_ALV_LIST_DISPLAY'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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  HEADER&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header.&lt;/P&gt;&lt;P&gt;  REFRESH head.&lt;/P&gt;&lt;P&gt;  head-typ = 'H'.&lt;/P&gt;&lt;P&gt;  head-info = 'REPORT FOR ALL ALTERNATIVE BOM AVAILABLE'.&lt;/P&gt;&lt;P&gt;  APPEND head.&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 = head[]&lt;/P&gt;&lt;P&gt;      i_logo             = 'LOGO1'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "HEADER&lt;/P&gt;&lt;P&gt;&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  LISTEND&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM listend.&lt;/P&gt;&lt;P&gt;  REFRESH head.&lt;/P&gt;&lt;P&gt;  head-typ = 'H'.&lt;/P&gt;&lt;P&gt;  head-info = 'TOTAL NO OF RECORDS ='.&lt;/P&gt;&lt;P&gt;  APPEND head.&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 = head[]&lt;/P&gt;&lt;P&gt;      i_logo             = 'LOGO1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "LISTEND&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  LISTTOP&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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM listtop.&lt;/P&gt;&lt;P&gt;  REFRESH head.&lt;/P&gt;&lt;P&gt;  head-typ = 'H'.&lt;/P&gt;&lt;P&gt;  head-info = ' ALV REPORT'.&lt;/P&gt;&lt;P&gt;  APPEND head.&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 = head[]&lt;/P&gt;&lt;P&gt;      i_logo             = 'LOGO1'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "LISTTOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_list_commentary       =&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_LOGO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  I_ALV_FORM               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2007 12:26:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099653#M735473</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-21T12:26:55Z</dc:date>
    </item>
    <item>
      <title>Re: HELP NEEDED</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099654#M735474</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;SEE THIS PROGRAM SAME REQUIREMENT , YOU CAN SEE DOCUMENTATION ALSO AVAILABLE FOR THIS REPORT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztest_alv_logo.&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;*ALV Formatting tables /structures&lt;/P&gt;&lt;P&gt;DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_events   TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;DATA: gs_layout   TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA: gt_page     TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA: gs_page     TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;DATA: v_repid     LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV Formatting work area&lt;/P&gt;&lt;P&gt;DATA: w_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: w_events   TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_bsid TYPE TABLE OF bsid WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_events.&lt;/P&gt;&lt;P&gt;  PERFORM build_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*perform build_comment.     "top_of_page - in initialization at present&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM bsid INTO TABLE gt_bsid UP TO 10 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.&lt;/P&gt;&lt;P&gt;*USING = Row, Column, Field name, display length, table name, heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OR&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*top of page event does not work without I_callback_program&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&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                = v_repid&lt;/P&gt;&lt;P&gt;      i_structure_name                  = 'BSID'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_background_id                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_grid_title                      = 'This is the grid title'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_layout                         = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                       = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_events                         = gt_events[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = gt_bsid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form..............:  populate_for_fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description.......:  Populates fields for function module used in ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_for_fm USING p_row&lt;/P&gt;&lt;P&gt;                           p_col&lt;/P&gt;&lt;P&gt;                           p_fieldname&lt;/P&gt;&lt;P&gt;                           p_len&lt;/P&gt;&lt;P&gt;                           p_table&lt;/P&gt;&lt;P&gt;                           p_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_fieldcat-row_pos      = p_row.          "Row Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-col_pos      = p_col.          "Column Position&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname    = p_fieldname.    "Field name&lt;/P&gt;&lt;P&gt;  w_fieldcat-outputlen    = p_len.          "Column Lenth&lt;/P&gt;&lt;P&gt;  w_fieldcat-tabname      = p_table.        "Table name&lt;/P&gt;&lt;P&gt;  w_fieldcat-reptext_ddic = p_desc.         "Field Description&lt;/P&gt;&lt;P&gt;  w_fieldcat-input        = '1'.&lt;/P&gt;&lt;P&gt;  APPEND w_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_for_fm&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_events&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;&lt;/P&gt;&lt;P&gt;FORM build_events.&lt;/P&gt;&lt;P&gt;  DATA: ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&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   = gt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_user_command&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_user_command TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_events&lt;/P&gt;&lt;P&gt;             WITH KEY name =  slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;             INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE slis_ev_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO gt_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When user command is called it uses 2 parameters. The itab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;passed to the ALV is in whatever order it currently is on screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Therefore, you can read table itab index rs_selfield-tabindex to get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all data from the table. You can also check r_ucomm and code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;FORM 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;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_bsid INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error checking etc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET PARAMETER ID 'KUN' FIELD gt_bsid-kunnr.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "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;&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Your own company logo can go here if it has been saved (OAOR)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the logo is larger than the size of the headings in gt_page,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the window will not show full logo and will have a scroll bar. Thus,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is a good idea to have a standard ALV header if you are going to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;use logos in your top of page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;&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 = gt_page&lt;/P&gt;&lt;P&gt;      i_logo             = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_fieldcat&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;&lt;/P&gt;&lt;P&gt;*Many and varied fields are available here. Have a look at documentation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  w_fieldcat-fieldname  = 'BUDAT'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-seltext_m  = 'Dte pst'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-ddictxt(1) = 'M'.&lt;/P&gt;&lt;P&gt;  w_fieldcat-edit = 'x'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Can change the position of fields if you do not want them in order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;of the DDIC or itab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-row_pos = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_fieldcat-col_pos = '10'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND w_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR w_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcat&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_page_header&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      gt_page is used in top of page (ALV subroutine - NOT event)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      *H = Header, S = Selection, A = Action&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;&lt;/P&gt;&lt;P&gt;FORM build_page_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Headers, Key is not printed and is irrelevant. Will not cause&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a syntax error, but is not used.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 1'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Header 2'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Selections, the Key is printed (bold). It can be anything up to 20&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bytes. It gets printed in order of code here, not by key value.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key  = 'And the winner is:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 1'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_page-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  gs_page-key  = 'Runner up:'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Selection 2'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Action, Key is also irrelevant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_page-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  gs_page-info = 'Action goes here'.&lt;/P&gt;&lt;P&gt;  APPEND gs_page TO gt_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REWARD IF USEFULL&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2007 12:29:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099654#M735474</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-21T12:29:38Z</dc:date>
    </item>
    <item>
      <title>Re: HELP NEEDED</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099655#M735475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see this to put logo on ALV report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the transaction OAOR, you should be able to insert your company Logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GOTO - OAOR (Business Document Navigator)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give Class Name - PICTURES Class Type - OT..... then Execute&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will show you the list, then select ENJOYSAP_LOGO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On that list, you will find one control with a "create" tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click std. doc types.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select SCREEN and double-click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will push FILE selection screen. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select your company logo (.gif) and press OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will ask for a description- for instance: "company logo".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will let you know your doc has been stored successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can find your logo under ENJOYSAP_LOGO-&amp;gt;Screen-&amp;gt;company logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just run your ALV program, you should find your company logo in place of the EnjoySAP logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP-OF-PAGE.&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 = HEADING[]&lt;/P&gt;&lt;P&gt;I_LOGO = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;I_END_OF_LIST_GRID ='GT_LIST_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP-OF-PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here 'ENJOYSAP_LOGO' will replace by ur created logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer this link&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_enhanced.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_enhanced.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/alv-logo.htm" target="test_blank"&gt;http://www.sap-img.com/abap/alv-logo.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/fu002.htm" target="test_blank"&gt;http://www.sap-img.com/fu002.htm&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2593327"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2852635"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2007 12:33:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-needed/m-p/3099655#M735475</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-21T12:33:27Z</dc:date>
    </item>
  </channel>
</rss>

