Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV

Former Member
0 Likes
405

Hi experts,

can any one tl me how to print page numbers in the footer area.

i used line-count option.but i didn't get the output.

is there any function module to print the page numbers in footer.

4 REPLIES 4
Read only

Former Member
0 Likes
384

https://forums.sdn.sap.com/click.jspa?searchID=844676&messageID=2936012

hi check the above link and award points if found helpful

U need to trigger the end of Page event for the ALV LIST report and then u can have the page number using SY-PAGNO.

by the way if u are using GRID display then this is not possible

******************************************

sample program...for printing page number in top of page...u can modify it and use page number in end of page....!!!!

report zrich_0001

no standard page heading.

  • Global ALV Data Declarations

type-pools slis.

data: isbook type table of sbook.

  • Miscellanous Data Declarations

data: fieldcat type slis_t_fieldcat_alv,

events type slis_t_event,

list_top_of_page type slis_t_listheader,

top_of_page type slis_formname value 'TOP_OF_PAGE'.

start-of-selection.

perform eventtab_build using events[].

select * into table isbook from sbook.

perform call_alv.

************************************************************************

  • CALL_ALV

************************************************************************

form call_alv.

data: repid type sy-repid.

repid = sy-repid.

  • Call ABAP List Viewer (ALV)

  • You can do the same with the GRID as well

  • The page number will come when printed in the spool.

call function 'REUSE_ALV_LIST_DISPLAY'

  • call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_structure_name = 'SBOOK'

i_callback_program = repid

it_events = events[]

tables

t_outtab = isbook.

endform.

************************************************************************

  • EVENTTAB_BUILD

************************************************************************

form eventtab_build using events type slis_t_event.

  • Registration of events to happen during list display

data: tmp_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'

exporting

i_list_type = 0

importing

et_events = events.

read table events with key name = slis_ev_top_of_page

into tmp_event.

if sy-subrc = 0.

move top_of_page to tmp_event-form.

append tmp_event to events.

endif.

endform.

************************************************************************

  • COMMENT_BUILD

************************************************************************

form comment_build using list_top_of_page type

slis_t_listheader.

data: tmp_line type slis_listheader.

data: pagno(5) type c.

clear tmp_line. refresh list_top_of_page.

pagno = sy-pagno.

clear tmp_line.

tmp_line-typ = 'H'.

concatenate 'Page:' pagno into tmp_line-info

separated by space.

append tmp_line to list_top_of_page.

endform.

************************************************************************

  • TOP_OF_PAGE

************************************************************************

form top_of_page.

perform comment_build using list_top_of_page[].

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = list_top_of_page.

endform.

Read only

Former Member
0 Likes
384

Hi Chandu,

Go through this link

Reward if it helps,

Satish

Read only

Former Member
0 Likes
384

HI

Refer program : BCALV_TEST_FULLSCREEN_EVENTS

This report contains all custom table and change into your requirement.

*Program to Test ALV Display With Header & Footer.

&----


*& Report ZRJR02 *

&----


REPORT ZRJR02 .

*Table declaration.

TABLES:ZEMP_MST,ZDEPT_MST,ZDESG_MST,ZSL_TXN.

*Varriable declaration.

TYPE-POOLS SLIS.

DATA : POS TYPE I.

DATA REPID LIKE SY-REPID.

DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,

F2 TYPE SLIS_FIELDCAT_ALV,

L_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA L_POS TYPE I VALUE 1. "position of the column

DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

*DATA GT_SORT TYPE SLIS_T_SORTINFO_ALV.

data: GT_EVENTS TYPE SLIS_T_EVENT,

FS_EVENTCAT LIKE LINE OF GT_EVENTs.

*Internal table declaration.

*DATA BEGIN OF IT_SORT OCCURS 5.

  • INCLUDE TYPE SLIS_SORTINFO_ALV.

*DATA END OF IT_SORT.

DATA:BEGIN OF ITAB OCCURS 0,

ZEMPNO LIKE ZEMP_MST-ZEMPNO,

ZEMPNAME LIKE ZEMP_MST-ZEMPNAME,

ZDEPTCD LIKE ZEMP_MST-ZDEPTCD,

ZDEPTNAME LIKE ZDEPT_MST-ZDEPTNAME,

ZDESGCD LIKE ZEMP_MST-ZDESGCD,

ZDESGNAME LIKE ZDESG_MST-ZDESGNAME,

END OF ITAB.

REFRESH ITAB.CLEAR ITAB.

START-OF-SELECTION.

SELECT AZEMPNO AZEMPNAME AZDEPTCD BZDEPTNAME AZDESGCD CZDESGNAME

FROM ZEMP_MST AS A

INNER JOIN ZDEPT_MST AS B

ON AZDEPTCD EQ BZDEPTCD

INNER JOIN ZDESG_MST AS C

ON AZDESGCD EQ CZDESGCD

INTO CORRESPONDING FIELDS OF TABLE ITAB.

IF SY-SUBRC <> 0.

MESSAGE E899(M3) WITH 'No records'.

ENDIF.

perform f_build_eventcat.

PERFORM LAYOUT.

END-OF-SELECTION.

&----


*& Form LAYOUT

&----


FORM LAYOUT .

PERFORM FCAT USING 'ZEMPNO' 'ITAB' '' 'Emp.No.' 'ZEMPNO' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZEMPNAME' 'ITAB' '' 'Emp. Name' 'ZEMPNAME' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDEPTCD' 'ITAB' '' 'Dept.Code' 'ZDEPTCD' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDEPTNAME' 'ITAB' '' 'Dept.Name' 'ZDEPTNAME' 'ZDEPT_MST' ''.

PERFORM FCAT USING 'ZDESGCD' 'ITAB' '' 'Desg.Code' 'ZDESGCD' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDESGNAME' 'ITAB' '' 'Desg.Name' 'ZDESGNAME' 'ZDESG_MST' ''.

  • PERFORM LSORT USING 'ZEMPNO' 'IDATA' ''.

  • PERFORM LSORT USING 'ZEMPNAME' 'IDATA' ''.

  • MOVE IT_SORT[] TO GT_SORT[].

REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

IT_FIELDCAT = F1

  • IT_SORT = GT_SORT

I_SAVE = 'X'

IT_EVENTS = GT_EVENTS[]

TABLES

T_OUTTAB = ITAB.

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. " LAYOUT

&----


*& Form FCAT

&----


FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.

ADD 1 TO POS.

F2-COL_POS = POS.

F2-FIELDNAME = P_FIELD.

F2-TABNAME = P_TABLE.

F2-SELTEXT_L = P_TEXT.

F2-REF_FIELDNAME = P_RFIELD.

F2-REF_TABNAME = P_RTABLE.

F2-DO_SUM = P_SUM.

F2-NO_OUT = P_DISP.

APPEND F2 TO F1.

CLEAR F2.

ENDFORM. " FCAT

&----


*& Form LSORT

&----


*FORM LSORT USING P_FIELD P_TABLE P_UP.

  • ADD 1 TO L_POS.

  • IT_SORT-SPOS = L_POS.

  • IT_SORT-FIELDNAME = P_FIELD.

  • IT_SORT-TABNAME = P_TABLE.

  • IT_SORT-UP = P_UP.

  • APPEND IT_SORT.

*ENDFORM. " LSORT

*----


FORM F_BUILD_EVENTCAT .

CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.

FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.

APPEND FS_EVENTCAT TO GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'END_OF_LIST'.

FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.

APPEND FS_EVENTCAT TO GT_EVENTS.

ENDFORM. " F_BUILD_EVENTCAT

FORM F_REPORT_HEADER_ALV.

CALL FUNCTION 'Z_YHEAD_PRINT'

EXPORTING

TITLE1 = 'XYZ Limited'

TITLE2 = 'Employee Master'

TITLE3 = 'Created on '

COLOR = 'X'

.

ENDFORM.

&----


*& Form F_WRITE_SUMMARY

&----


  • Write summary before exit

----


FORM F_WRITE_SUMMARY .

write:/ 'Welcome to XYZ Limited'.

write:/ 'This is a test program to display Report in ALV Format'.

ENDFORM.

Read only

Former Member
0 Likes
384

Hi,

Check this thread.