‎2007 Jul 03 9:01 AM
Hi All,
Can anybody tell how to use top of page and intreactive in alv
just brief it technically
as inteview poin of view
‎2007 Jul 03 9:02 AM
‎2007 Jul 03 9:05 AM
‎2007 Jul 03 9:07 AM
Add Title(heading) to ALV Grid
In order to insert a report heading in to the ALV grid you need to perform the following steps:
1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include 'top-of-page' FORM
2. Create 'top-of-page' FORM
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
tables
t_outtab = it_ekko
exceptions
program_error = 1
others = 2.
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info,
ld_lines type i,
ld_linesc(10) type c.
* Title
wa_header-typ = 'H'.
wa_header-info = 'EKKO Table Report'.
append wa_header to t_header.
clear wa_header.
* Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
append wa_header to t_header.
clear: wa_header.
* Total No. of Records Selected
describe table it_ekko lines ld_lines.
ld_linesc = ld_lines.
concatenate 'Total No. of Records Selected: ' ld_linesc
into t_line separated by space.
wa_header-typ = 'A'.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_header.
* i_logo = 'Z_LOGO'.
endform.
reward points if it is usefull ...
Girish
‎2007 Jul 03 9:08 AM
HI,
You need to pass the formname under the event parameter 'TOP_OF_PAGE'..
Please look at the code below this does the TOP-of-page..
&----
*& Function Module to display output in ALV GRID FORMAT
&----
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_v_repid
i_callback_top_of_page = 'F_TOP_OF_PAGE' "This is the form name which **is called dynamically by sap.
it_fieldcat = it_fieldcat
TABLES
t_outtab = fp_it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i032. "System Failure, ALV Report can't be be generated
LEAVE LIST-PROCESSING.
ENDIF.
&----
*& Form f_top_of_page
&----
Subroutine for the Header Information TOP_OF_PAGE
----
FORM f_top_of_page. "#EC CALLED
*Local declarations
DATA: l_st_line TYPE slis_listheader,
l_it_top_of_page TYPE slis_t_listheader,
l_v_date TYPE char10,
l_v_time TYPE char8.
*Local Constants
CONSTANTS:
l_c_h TYPE char1 VALUE 'H',
l_c_small TYPE char1 VALUE 'S',
l_c_tm TYPE char1 VALUE '/',
l_c_dt TYPE char1 VALUE ':'.
Program Name
CLEAR l_st_line.
l_st_line-typ = l_c_small.
l_st_line-key = 'Program name'.
l_st_line-info = sy-repid.
APPEND l_st_line TO l_it_top_of_page.
CLEAR: l_st_line.
Date
CONCATENATE sy-datum6(2) sy-datum4(2)
sy-datum+0(4) INTO l_v_date
SEPARATED BY l_c_tm.
CLEAR l_st_line.
l_st_line-typ = l_c_small.
l_st_line-key = 'DATE'.
l_st_line-info = l_v_date.
APPEND l_st_line TO l_it_top_of_page.
CLEAR: l_st_line.
Time
CONCATENATE sy-uzeit0(2) sy-uzeit2(2)
sy-uzeit+4(2) INTO l_v_time
SEPARATED BY l_c_dt.
CLEAR l_st_line.
l_st_line-typ = l_c_small.
l_st_line-key = 'time'.
l_st_line-info = l_v_time.
APPEND l_st_line TO l_it_top_of_page.
CLEAR: l_st_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = l_it_top_of_page.
ENDFORM. "f_top_ot_page
Look at the code above ,
the ALV_COMMENTARY_WRITE does the top of page for your program..
rewards if useful,
regards,
nazeer
‎2007 Jul 03 9:25 AM
hi
good
go through this link and use accordingly.
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abapInteractiveALV+Program&
thanks
mrutyun^
‎2007 Jul 03 9:45 AM
hi,
To create Top-of-page u need to include it.
Interactive alv.
REPORT ZTEST_ALV123 .
TYPE-POOLS:SLIS.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
VGBEL LIKE LIPS-VGBEL,
VGPOS LIKE LIPS-VGPOS,
END OF ITAB1.
DATA: IT_LIPS LIKE ITAB1 OCCURS 0 WITH HEADER LINE.
SELECT VBELN
POSNR
UP TO 100 ROWS
FROM VBAP
INTO TABLE ITAB.
IF SY-SUBRC = 0.
SORT ITAB BY VBELN .
SELECT VBELN
POSNR
VGBEL
VGPOS
INTO TABLE ITAB1
FROM LIPS
FOR ALL ENTRIES IN ITAB
WHERE VGBEL = ITAB-VBELN
AND VGPOS = ITAB-POSNR.
ENDIF.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'PFSTATUS'
I_CALLBACK_USER_COMMAND = 'HANDLE_USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC = 0.
ENDIF.
&----
*& Form POPUP
&----
text
----
-->P_EXTAB text
----
FORM POPUP USING P_EXTAB TYPE SLIS_T_EXTAB.
"here double click on PFSTATUS and create the status, "activate, before that set PICK for choose(F2).
*- Pf status
SET PF-STATUS 'PFSTATUS'.
ENDFORM. " POPUP
&----
*& Form HANDLE_USER_COMMAND
&----
text
----
-->R_UCOMM text
-->RS_SELFIELD text
----
FORM HANDLE_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'VBELN'.
READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.
LOOP AT ITAB1 WHERE VGBEL = ITAB-VBELN
AND VGPOS = ITAB-POSNR.
MOVE-CORRESPONDING ITAB1 TO IT_LIPS.
APPEND IT_LIPS.
ENDLOOP.
PERFORM INTERACTIVE_REPORT.
ENDIF.
ENDCASE.
ENDFORM. "HANDLE_USER_COMMAND
&----
*& Form interactive_report
&----
text
----
FORM INTERACTIVE_REPORT .
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-TABNAME = 'IT_LIPS'.
X_FIELDCAT-COL_POS = 1.
APPEND X_FIELDCAT TO IT_FIELDCAT1.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'ITEM'.
X_FIELDCAT-TABNAME = 'IT_LIPS'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT1.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'VGBEL'.
X_FIELDCAT-SELTEXT_M = 'SO #'.
X_FIELDCAT-TABNAME = 'IT_LIPS'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT1.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'VGPOS'.
X_FIELDCAT-SELTEXT_M = 'SO ITEM'.
X_FIELDCAT-TABNAME = 'IT_LIPS'.
X_FIELDCAT-COL_POS = 4.
APPEND X_FIELDCAT TO IT_FIELDCAT1.
CLEAR X_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = IT_FIELDCAT1
TABLES
T_OUTTAB = IT_LIPS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC = 0.
ENDIF.
ENDFORM. " interactive_report
‎2007 Jul 03 9:45 AM
In Interview point of view,
just say Top of page can be used by calling a perform statement indirectly in the FM reuse_alv_grid_display