10-17-2008 12:47 PM
Hi all,
I am ablt to print the total no of pages in all pages ecept the last page.
whats wromg in my code ?
REPORT ZDEMO_EOF NO STANDARD PAGE HEADING LINE-SIZE 100 line-count 27(2).
types: BEGIN OF t_mara,
matnr TYPE mara-matnr,
ernam type mara-ernam,
end of t_mara.
data: itab TYPE TABLE OF t_mara,
wa TYPE t_mara.
select matnr ernam FROM mara INTO TABLE itab
WHERE matnr BETWEEN '000000000000000001' and '000000000000000777'.
sort itab by matnr.
delete itab WHERE matnr is INITIAL.
LOOP AT itab INTO wa .
WRITE:/ sy-tabix,'!', wa-matnr, wa-ernam.
ENDLOOP.
data: v TYPE n.
v = sy-linct - sy-linno.
skip v.
end-OF-PAGE.
data: zline type i,
temp TYPE f,
zpages TYPE i,
temp1 TYPE i.
CLEAR: zline,temp,zpages,temp1.
DESCRIBE TABLE itab LINES zline.
temp = zline / sy-srows.
zpages = TRUNC( temp ).
temp1 = FRAC( temp ).
if temp1 > 0.
zpages = zpages + 1.
endif.
write: /'Page ',sy-pagno, ' of ', zpages RIGHT-JUSTIFIED.
Thanks in advance
krupali
10-17-2008 12:59 PM
hi ,
TYPES: BEGIN OF t_mara,
matnr TYPE mara-matnr,
ernam TYPE mara-ernam,
END OF t_mara.
DATA: itab TYPE TABLE OF t_mara,
wa TYPE t_mara.
SELECT matnr ernam FROM mara INTO TABLE itab
WHERE matnr BETWEEN '000000000000000001' AND '000000000000000777'.
SORT itab BY matnr.
DELETE itab WHERE matnr IS INITIAL.
DATA: v TYPE i.
v = sy-linct - sy-linno.
LOOP AT itab INTO wa .
WRITE:/ sy-tabix,'!', wa-matnr, wa-ernam.
ENDLOOP.
RESERVE v LINES. "-----> reserve lines
*SKIP v.
END-OF-PAGE.
DATA: zline TYPE i,
temp TYPE f,
zpages TYPE i,
temp1 TYPE i.
CLEAR: zline,temp,zpages,temp1.
DESCRIBE TABLE itab LINES zline.
temp = zline / sy-srows.
zpages = TRUNC( temp ).
temp1 = FRAC( temp ).
IF temp1 > 0.
zpages = zpages + 1.
ENDIF.
WRITE: /'Page ',sy-pagno, ' of ', zpages RIGHT-JUSTIFIED.
Thanks & Regards
10-17-2008 12:59 PM
hi ,
TYPES: BEGIN OF t_mara,
matnr TYPE mara-matnr,
ernam TYPE mara-ernam,
END OF t_mara.
DATA: itab TYPE TABLE OF t_mara,
wa TYPE t_mara.
SELECT matnr ernam FROM mara INTO TABLE itab
WHERE matnr BETWEEN '000000000000000001' AND '000000000000000777'.
SORT itab BY matnr.
DELETE itab WHERE matnr IS INITIAL.
DATA: v TYPE i.
v = sy-linct - sy-linno.
LOOP AT itab INTO wa .
WRITE:/ sy-tabix,'!', wa-matnr, wa-ernam.
ENDLOOP.
RESERVE v LINES. "-----> reserve lines
*SKIP v.
END-OF-PAGE.
DATA: zline TYPE i,
temp TYPE f,
zpages TYPE i,
temp1 TYPE i.
CLEAR: zline,temp,zpages,temp1.
DESCRIBE TABLE itab LINES zline.
temp = zline / sy-srows.
zpages = TRUNC( temp ).
temp1 = FRAC( temp ).
IF temp1 > 0.
zpages = zpages + 1.
ENDIF.
WRITE: /'Page ',sy-pagno, ' of ', zpages RIGHT-JUSTIFIED.
Thanks & Regards
10-17-2008 1:12 PM
Hi ,
Still i am having the same problem after modification also.
page no is not printing on last page.
any other idea.
Thanks in advance
krupali.
10-17-2008 1:14 PM
Hi KR ,
In my system it is printing end of page for the last page.
DATA: v TYPE n. "-------> change 'n' to i.
Thanks and Regards
Edited by: Always Learner on Oct 17, 2008 2:16 PM
10-17-2008 1:20 PM
Hi,
How many number of lines are there in your Last Page????
You need to ensure that the END-OF-PAGE should get fired in your last page i.e all the Page lines should be consumed.....
If same is not the case..use Reserve n lines ..where n is the number of Lines required to force the TOP-OF-PAGE event explicitly......
10-17-2008 1:21 PM
Hi,
Thank you very much. My issue hasbeen resolved and points also been awarded.