Posted: Mon Mar 10, 2008 12:00 pm Post subject: Top-of-Page - How to print more than 60 characters?
Problem with ALV Grid Top-of-Page - How to print more than 60 characters?
Author: Joyjit Ghosh, IBM India
Origital: http: //www.saptechnical.com/Tutorials/ALV/TopofPage/Solution.htm
Problem:
Normally in ALV grid TOP_OF_PAGE, we cannot display information of more than 60 characters long. This is due to the limitation of the FM REUSE_ALV_COMMENTARY_WRITE. Usually we call this FM from the subroutine that is linked with TOP_OF_PAGE event.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary =
i_logo =
i_end_of_list_grid =
.
*"---------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IT_LIST_COMMENTARY) TYPE SLIS_T_LISTHEADER
*" REFERENCE(I_LOGO) OPTIONAL
*" REFERENCE(I_END_OF_LIST_GRID) OPTIONAL
*"--------------------------------------------------------------
In this above FM, exporting parameter ‘IT_LIST_COMMENTARY’ contains a field ‘INFO’ that is only 60 characters long. And it is responsible for displaying the information in the TOP_OF_PAGE area.
Solution:
To overcome this limitation we can use dynamic document, which can be implemented through the class CL_DD_DOCUMENT. As dynamic documents use HTML viewer control so instead of triggering the TOP_OF_PAGE event we should trigger event of HTML TOP_OF_PAGE.
First create a subroutine for top of page in HTML format and send that name in I_CALLBACK_HTML_TOP_OF_PAGE parameter of ALV function module. The input parameter for this subroutine will be a variable of class CL_DD_DOCUMENT.
Code:
*-----------------------------------------------------------------*
* FORM html_top_of_page *
*-----------------------------------------------------------------*
FORM html_top_of_page USING top TYPE REF TO cl_dd_document.
data: l_text(255) type c.
do 180 times.
l_text+sy-index(1) = '*'.
enddo.
CALL METHOD top->add_text EXPORTING text = 'Hello world '
sap_style = 'heading' .
CALL METHOD top->add_gap EXPORTING width = 200.
CALL METHOD top->add_picture EXPORTING picture_id = 'ENJOYSAP_LOGO'.
CALL METHOD top->NEW_LINE( ).
CALL METHOD top->add_text EXPORTING
text = l_text.
ENDFORM.
* Display ALV grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
i_callback_program = g_repid
i_structure_name = 'SFLIGHT'
TABLES
t_outtab = gt_outtab.
Output:
Limitations:
As dynamic documents use SAP HTML Viewer control internally, so whatever limitations exist for SAP HTML Viewer, same limitations hold true for dynamic documents also.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.