<?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 Custom ALV HTML Header in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-alv-html-header/m-p/1099051#M102988</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to create a standard header for our company as we are trying increase the development of custom ALV reports.  I have the header working, but I am wondering how to convert an internal table to html and display in the header.  This is mostly for formatting purposes. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have included the code i use currently below... i am open to any suggestion.. thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  DATA:        V_EVENT_RECEIVER      TYPE REF TO V_LCL_EVENT_RECEIVER.
  DATA: V_SPLIT            TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER,
        O_DOCKINGCONTAINER TYPE REF TO CL_GUI_DOCKING_CONTAINER,
        V_CONTNR_TOP       TYPE REF TO CL_GUI_CONTAINER,
        V_CONTNR_BOT       TYPE REF TO CL_GUI_CONTAINER,
        V_GRID_02          TYPE REF TO CL_GUI_ALV_GRID,
        V_HTML             TYPE REF TO CL_DD_DOCUMENT,
        V_HTML_VIEW        TYPE REF TO CL_GUI_HTML_VIEWER,
        V_TEXT20(255)      TYPE C,
        V_TEXT16(255)      TYPE C.


  IF CL_GUI_ALV_GRID=&amp;gt;OFFLINE( ) IS INITIAL.
*Create a container
    CREATE OBJECT O_DOCKINGCONTAINER
      EXPORTING
        RATIO                       = '95'
      EXCEPTIONS
        CNTL_ERROR                  = 1
        CNTL_SYSTEM_ERROR           = 2
        CREATE_ERROR                = 3
        LIFETIME_ERROR              = 4
        LIFETIME_DYNPRO_DYNPRO_LINK = 5
        OTHERS                      = 6.
*    IF sy-subrc NE 0.
*      MESSAGE i000 WITH text-e01."Error in creating Docking container
*      LEAVE LIST-PROCESSING.
*    ENDIF.
  ENDIF.
  CREATE OBJECT V_SPLIT
       EXPORTING
         PARENT            = O_DOCKINGCONTAINER
          ORIENTATION       = 0
         SASH_POSITION     = 25
         WITH_BORDER       = 1
       EXCEPTIONS
         CNTL_ERROR        = 1
         CNTL_SYSTEM_ERROR = 2
         OTHERS            = 3.
  IF SY-SUBRC NE 0.
*      MESSAGE i000 WITH text-e01."Error in creating Docking container
    LEAVE LIST-PROCESSING.
  ENDIF.
*   Get the containers of the splitter control
  V_CONTNR_TOP = V_SPLIT-&amp;gt;TOP_LEFT_CONTAINER.
  V_CONTNR_BOT = V_SPLIT-&amp;gt;BOTTOM_RIGHT_CONTAINER.

*   CREATE OBJECT o_alvgrid
  CREATE OBJECT CUSTOM_ALVGRID_1
  EXPORTING
    I_PARENT = O_DOCKINGCONTAINER.

*   Create an instance of alv control
  CREATE OBJECT CUSTOM_ALVGRID_1
  EXPORTING I_PARENT = V_CONTNR_BOT.

*  CREATE OBJECT V_HTML_VIEW
*    EXPORTING
*      PARENT = V_CONTNR_TOP.


*   Object for display of selection parameters in HTML top container
  CREATE OBJECT V_HTML
       EXPORTING
         STYLE = 'ALV_GRID'
         BACKGROUND_COLOR = cl_dd_document=&amp;gt;COL_TEXTAREA.

*   Must be after the SET HANDLER for TOP_OF_PAGE and foreground only
  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;LIST_PROCESSING_EVENTS
    EXPORTING
      I_EVENT_NAME = 'TOP_OF_PAGE'
      I_DYNDOC_ID  = V_HTML.

  CALL METHOD V_HTML-&amp;gt;ADD_GAP
    EXPORTING
      WIDTH = 25.

  CALL METHOD V_HTML-&amp;gt;ADD_PICTURE
    EXPORTING
      PICTURE_ID       = 'BD_LOGO_TEST'
      WIDTH            = '800'
*        ALTERNATIVE_TEXT =
*        TABINDEX         =
      .

*CALL METHOD V_HTML_VIEW-&amp;gt;LOAD_DATA
**  EXPORTING
**    URL                  =
**    TYPE                 = 'text'
**    SUBTYPE              = 'html'
**    SIZE                 = 0
**    ENCODING             =
**    CHARSET              =
**    LANGUAGE             =
**  IMPORTING
**    ASSIGNED_URL         =
*  CHANGING
*    DATA_TABLE           = &amp;lt;ITAB&amp;gt;
*  EXCEPTIONS
*    DP_INVALID_PARAMETER = 1
*    DP_ERROR_GENERAL     = 2
*    CNTL_ERROR           = 3
*    others               = 4
*        .
*IF SY-SUBRC &amp;lt;&amp;gt; 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
** Display Text-016
*    CALL METHOD v_html-&amp;gt;add_gap
*                EXPORTING
*                  width         = 10.
*********************************************
  DATA:
    REPID    LIKE V_TEXT16,
    UNAME    LIKE V_TEXT16,
    SYSINFO  LIKE V_TEXT16,
    TITLE    LIKE V_TEXT16,
    MONTH    LIKE V_TEXT16,
    DAY      LIKE V_TEXT16,
    YEAR     LIKE V_TEXT16,
    DATUM    LIKE V_TEXT16,
    UZEIT    LIKE V_TEXT16.

  REPID = SY-REPID.
  TITLE = SY-TITLE.
  YEAR  = SY-DATUM(4).
  MONTH = SY-DATUM+4(2).
  DAY   = SY-DATUM+6(2).
  DATUM = SY-DATUM.
  uname = sy-uname.
  uzeit = sy-uzeit.
  CONCATENATE MONTH DAY YEAR INTO DATUM SEPARATED BY SLASH.
  CONCATENATE '  Run Date:   ' ' ' datum into datum.
  Concatenate '  Run Time:   ' uzeit(2) ':' uzeit+2(2) into uzeit.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = 'Report Title:'.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = REPID.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = uname.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = uzeit.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = DATUM.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
*  CALL METHOD V_HTML-&amp;gt;ADD_LINK
*    EXPORTING
*     NAME                   = 'TEST'
*       URL                    =
*'http://adweek.blogs.com/photos/uncategorized/bk_birds.jpg'
**      TOOLTIP                =
*      TEXT                   = 'Test'
**      DESTINATION_IN_DOC_SET =
**      DESTINATION_IN_DOC_POS =
**      TABINDEX               =
**      HOTKEY                 =
**   IMPORTING
**      LINK                   =
*      .
  call method v_html-&amp;gt;SET_DOCUMENT_BACKGROUND
    EXPORTING
      PICTURE_ID = space.
* Display the data
  CALL METHOD V_HTML-&amp;gt;DISPLAY_DOCUMENT
    EXPORTING
      PARENT = V_CONTNR_TOP
      .
*data visible(1) type c.
*
*visible = v_html_view-&amp;gt;visible_true.
*
*  CALL METHOD V_HTML_VIEW-&amp;gt;SET_VISIBLE
*    EXPORTING
*      VISIBLE = 'Y'.

*   Handle the event
  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;LIST_PROCESSING_EVENTS
    EXPORTING
      I_EVENT_NAME = 'PRINT_TOP_OF_PAGE'.

  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY
*    IMPORTING
*       is_variant                    = w_variant
*       i_save                        = c_a
*       is_layout                     = w_layout
    CHANGING
       IT_OUTTAB                     = &amp;lt;ITAB&amp;gt;
       IT_FIELDCATALOG               = GT_FIELDCAT_LVC[]
    EXCEPTIONS
       INVALID_PARAMETER_COMBINATION = 1
       PROGRAM_ERROR                 = 2
       TOO_MANY_LINES                = 3
       OTHERS                        = 4.

  IF SY-SUBRC &amp;lt;&amp;gt; 0.
*    MESSAGE i000 WITH text-e06."Error in ALV report display
    LEAVE LIST-PROCESSING.
  ENDIF.

* Create object
  IF V_EVENT_RECEIVER IS INITIAL.
    CREATE OBJECT V_EVENT_RECEIVER.
  ENDIF.

  SET HANDLER V_EVENT_RECEIVER-&amp;gt;HANDLE_PRINT_TOP_OF_PAGE FOR
      CUSTOM_ALVGRID_1.
  SET HANDLER V_EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_PAGE FOR
      CUSTOM_ALVGRID_1.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Dec 2005 16:36:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-12-27T16:36:32Z</dc:date>
    <item>
      <title>Custom ALV HTML Header</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-alv-html-header/m-p/1099051#M102988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to create a standard header for our company as we are trying increase the development of custom ALV reports.  I have the header working, but I am wondering how to convert an internal table to html and display in the header.  This is mostly for formatting purposes. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have included the code i use currently below... i am open to any suggestion.. thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  DATA:        V_EVENT_RECEIVER      TYPE REF TO V_LCL_EVENT_RECEIVER.
  DATA: V_SPLIT            TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER,
        O_DOCKINGCONTAINER TYPE REF TO CL_GUI_DOCKING_CONTAINER,
        V_CONTNR_TOP       TYPE REF TO CL_GUI_CONTAINER,
        V_CONTNR_BOT       TYPE REF TO CL_GUI_CONTAINER,
        V_GRID_02          TYPE REF TO CL_GUI_ALV_GRID,
        V_HTML             TYPE REF TO CL_DD_DOCUMENT,
        V_HTML_VIEW        TYPE REF TO CL_GUI_HTML_VIEWER,
        V_TEXT20(255)      TYPE C,
        V_TEXT16(255)      TYPE C.


  IF CL_GUI_ALV_GRID=&amp;gt;OFFLINE( ) IS INITIAL.
*Create a container
    CREATE OBJECT O_DOCKINGCONTAINER
      EXPORTING
        RATIO                       = '95'
      EXCEPTIONS
        CNTL_ERROR                  = 1
        CNTL_SYSTEM_ERROR           = 2
        CREATE_ERROR                = 3
        LIFETIME_ERROR              = 4
        LIFETIME_DYNPRO_DYNPRO_LINK = 5
        OTHERS                      = 6.
*    IF sy-subrc NE 0.
*      MESSAGE i000 WITH text-e01."Error in creating Docking container
*      LEAVE LIST-PROCESSING.
*    ENDIF.
  ENDIF.
  CREATE OBJECT V_SPLIT
       EXPORTING
         PARENT            = O_DOCKINGCONTAINER
          ORIENTATION       = 0
         SASH_POSITION     = 25
         WITH_BORDER       = 1
       EXCEPTIONS
         CNTL_ERROR        = 1
         CNTL_SYSTEM_ERROR = 2
         OTHERS            = 3.
  IF SY-SUBRC NE 0.
*      MESSAGE i000 WITH text-e01."Error in creating Docking container
    LEAVE LIST-PROCESSING.
  ENDIF.
*   Get the containers of the splitter control
  V_CONTNR_TOP = V_SPLIT-&amp;gt;TOP_LEFT_CONTAINER.
  V_CONTNR_BOT = V_SPLIT-&amp;gt;BOTTOM_RIGHT_CONTAINER.

*   CREATE OBJECT o_alvgrid
  CREATE OBJECT CUSTOM_ALVGRID_1
  EXPORTING
    I_PARENT = O_DOCKINGCONTAINER.

*   Create an instance of alv control
  CREATE OBJECT CUSTOM_ALVGRID_1
  EXPORTING I_PARENT = V_CONTNR_BOT.

*  CREATE OBJECT V_HTML_VIEW
*    EXPORTING
*      PARENT = V_CONTNR_TOP.


*   Object for display of selection parameters in HTML top container
  CREATE OBJECT V_HTML
       EXPORTING
         STYLE = 'ALV_GRID'
         BACKGROUND_COLOR = cl_dd_document=&amp;gt;COL_TEXTAREA.

*   Must be after the SET HANDLER for TOP_OF_PAGE and foreground only
  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;LIST_PROCESSING_EVENTS
    EXPORTING
      I_EVENT_NAME = 'TOP_OF_PAGE'
      I_DYNDOC_ID  = V_HTML.

  CALL METHOD V_HTML-&amp;gt;ADD_GAP
    EXPORTING
      WIDTH = 25.

  CALL METHOD V_HTML-&amp;gt;ADD_PICTURE
    EXPORTING
      PICTURE_ID       = 'BD_LOGO_TEST'
      WIDTH            = '800'
*        ALTERNATIVE_TEXT =
*        TABINDEX         =
      .

*CALL METHOD V_HTML_VIEW-&amp;gt;LOAD_DATA
**  EXPORTING
**    URL                  =
**    TYPE                 = 'text'
**    SUBTYPE              = 'html'
**    SIZE                 = 0
**    ENCODING             =
**    CHARSET              =
**    LANGUAGE             =
**  IMPORTING
**    ASSIGNED_URL         =
*  CHANGING
*    DATA_TABLE           = &amp;lt;ITAB&amp;gt;
*  EXCEPTIONS
*    DP_INVALID_PARAMETER = 1
*    DP_ERROR_GENERAL     = 2
*    CNTL_ERROR           = 3
*    others               = 4
*        .
*IF SY-SUBRC &amp;lt;&amp;gt; 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
** Display Text-016
*    CALL METHOD v_html-&amp;gt;add_gap
*                EXPORTING
*                  width         = 10.
*********************************************
  DATA:
    REPID    LIKE V_TEXT16,
    UNAME    LIKE V_TEXT16,
    SYSINFO  LIKE V_TEXT16,
    TITLE    LIKE V_TEXT16,
    MONTH    LIKE V_TEXT16,
    DAY      LIKE V_TEXT16,
    YEAR     LIKE V_TEXT16,
    DATUM    LIKE V_TEXT16,
    UZEIT    LIKE V_TEXT16.

  REPID = SY-REPID.
  TITLE = SY-TITLE.
  YEAR  = SY-DATUM(4).
  MONTH = SY-DATUM+4(2).
  DAY   = SY-DATUM+6(2).
  DATUM = SY-DATUM.
  uname = sy-uname.
  uzeit = sy-uzeit.
  CONCATENATE MONTH DAY YEAR INTO DATUM SEPARATED BY SLASH.
  CONCATENATE '  Run Date:   ' ' ' datum into datum.
  Concatenate '  Run Time:   ' uzeit(2) ':' uzeit+2(2) into uzeit.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = 'Report Title:'.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = REPID.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = uname.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = uzeit.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
  CALL METHOD V_HTML-&amp;gt;ADD_GAP EXPORTING WIDTH = 10.
  CALL METHOD V_HTML-&amp;gt;ADD_TEXT
    EXPORTING
      TEXT = DATUM.
  CALL METHOD V_HTML-&amp;gt;NEW_LINE.
*  CALL METHOD V_HTML-&amp;gt;ADD_LINK
*    EXPORTING
*     NAME                   = 'TEST'
*       URL                    =
*'http://adweek.blogs.com/photos/uncategorized/bk_birds.jpg'
**      TOOLTIP                =
*      TEXT                   = 'Test'
**      DESTINATION_IN_DOC_SET =
**      DESTINATION_IN_DOC_POS =
**      TABINDEX               =
**      HOTKEY                 =
**   IMPORTING
**      LINK                   =
*      .
  call method v_html-&amp;gt;SET_DOCUMENT_BACKGROUND
    EXPORTING
      PICTURE_ID = space.
* Display the data
  CALL METHOD V_HTML-&amp;gt;DISPLAY_DOCUMENT
    EXPORTING
      PARENT = V_CONTNR_TOP
      .
*data visible(1) type c.
*
*visible = v_html_view-&amp;gt;visible_true.
*
*  CALL METHOD V_HTML_VIEW-&amp;gt;SET_VISIBLE
*    EXPORTING
*      VISIBLE = 'Y'.

*   Handle the event
  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;LIST_PROCESSING_EVENTS
    EXPORTING
      I_EVENT_NAME = 'PRINT_TOP_OF_PAGE'.

  CALL METHOD CUSTOM_ALVGRID_1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY
*    IMPORTING
*       is_variant                    = w_variant
*       i_save                        = c_a
*       is_layout                     = w_layout
    CHANGING
       IT_OUTTAB                     = &amp;lt;ITAB&amp;gt;
       IT_FIELDCATALOG               = GT_FIELDCAT_LVC[]
    EXCEPTIONS
       INVALID_PARAMETER_COMBINATION = 1
       PROGRAM_ERROR                 = 2
       TOO_MANY_LINES                = 3
       OTHERS                        = 4.

  IF SY-SUBRC &amp;lt;&amp;gt; 0.
*    MESSAGE i000 WITH text-e06."Error in ALV report display
    LEAVE LIST-PROCESSING.
  ENDIF.

* Create object
  IF V_EVENT_RECEIVER IS INITIAL.
    CREATE OBJECT V_EVENT_RECEIVER.
  ENDIF.

  SET HANDLER V_EVENT_RECEIVER-&amp;gt;HANDLE_PRINT_TOP_OF_PAGE FOR
      CUSTOM_ALVGRID_1.
  SET HANDLER V_EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_PAGE FOR
      CUSTOM_ALVGRID_1.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 16:36:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-alv-html-header/m-p/1099051#M102988</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T16:36:32Z</dc:date>
    </item>
    <item>
      <title>Re: Custom ALV HTML Header</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-alv-html-header/m-p/1099052#M102989</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt; An internal table can be converted into an HTML Template using the function Module WWW_HTML_FROM_LISTOBJECT. This will create an HTML template which will be stored in SMW0-&amp;gt;(Zero)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now you can call this template in your header.&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;Vara&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 22:35:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-alv-html-header/m-p/1099052#M102989</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T22:35:00Z</dc:date>
    </item>
  </channel>
</rss>

