on 01-23-2008 7:08 AM
Hi all!
In my SMARTFORM last page windows are getting overlapped.
For exp: My main window upper margin is :10cm,height :15cm
and total page height is 29cm.But in my last page I have to print a window with logo and some address at the bottom of the page which 'll be occupying a height of 7 cm. I have FIRST and NEXT pages in my SMARTFORM.In NEXT page, I have created a SECONDARY window with upper margin 22cm, height 7 cm and have selected condition :(check box option:only after end of main window,even I have tried with condition SFSY-PAGE = SFSY-FORMPAGES).In my main window , I have footer with 5 cm for my table.
The text which is in my footer is getting overlapped with the bottom window.What I want is, whenever the space for my main window is filled with table contents and footer after the last item, my last window is to be printed in a new page at the same position. Please suggest.I have tried with FINAL window too. But it's not working.What is the use of FINAL window?
Hi Jaya,
You have put the condition at two places one is after end of main wondow and another is SFSY-PAGE = SFSY-FORMPAGES in the condition tab.
And seems you are overlapping the windows in the page right.
So just think about the above conditions, the form is working fine as per the logic. Since main window is printed with all the data and condition is reached . ( another page will be created only when main window data flows to the next page)
In order to get rectified this issue dont create another window for footer instead use footer in the main window . I guess you know that.
Just select the footer in the main window so thatdata will not iverlapped.
Reward points if useful
Thanks,
Nageswar
Edited by: nageswar vattikuti on Jan 23, 2008 8:25 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes they will be printe immediately after the main window and also in each and every page also. This you can avoid by putting the condition in the condition tab.
But if you want the footer in a particular place then what you need to do is write a code in such a way that next page is triggered. so that footer will come in the next page.
This logic becomes bit complicated.
In the main window you need to count the number of lines fits per a page also count the number of lines fits per a page when footer gets printed.
Let us suppose total number of lines fits in main window are 10 (Example it is first page)
And let us assume second page is last also have 10 lines and assume footer occupies form 8th line
Since footer is there footer will also gets printed so what you need to do is you have to skip the lines and invoke the third page so that footer will be printed in the next page.
Tell me if you dont understand the logic.
Regards,
Nageswar
Yes it occupies main window space only . But tell me how do want to do it now. Do you want to have footer in the main window ot do youwant to have footer seperately.
How do you want to print the data I mean address only after main window or at the end of page .
If you want to have footer in the main window then
you dont need to count the number of lines.
Regards,
Nageswar
Ok then do one thing Just execute the form in debug mode and append the more number of lines so that you will come tom know that how many number of lines will it print per page .
Number of lines in the sense number of loops . Because with in a loop you may print the data in one or more lines.
Regards,
Nageswar.
In the main window add some empty texts ( For skipping the lines) and in the condition tab put the conditions as below
I am explaining in descriptive.
describe table line into v_tot_lines.
:Assume lines fit per page or 10 and we have total 17 lines and footer starts from line number 7 .
First page will print with out having any issue . coming to second page As I said it can accommodate upto 10 lines and here we have
only seven lines more to print and still footer overlaps the window so here you cant acommodate the footer. So what you need to do is .
In the loop count the variable by 1 each time and when new page invokes clear it. say this variable as v_count
take one more variable and count it but dont clear it . say this variable as v_count1
In the condition tab (Of empty text) put conditions v_count eq 6 and v_count ne v_tot_lines. (
This is the way to code .
one more idea is :
create the second page and decreae the size of main window .
But here you may have to waste the space that is occupied my footer in each and every page.
Regards,
Nageswar
Edited by: nageswar vattikuti on Jan 23, 2008 11:02 AM
Hi Nag!
In my case, I have material P.O. text as a field in each record.So, I can't say that each iteration will be occupying same no. of lines in output. But , we can estimate the no. of lines can be printed without overlapping at vision right? Can we write any condition based on the no. of lines in the output area irrespective of the no. of records in internal table?(i.e. are there any system fields for giving information about lines in output like SFSY-PAGE?)
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.