on 06-16-2011 1:06 AM
Hi ,
I am using SMARTFORMS to print account statement ,
but my client has huge data i.e 16000 customers ,and current program is calling SMARTFORMS finction module 16000 times and causing prformance issue,
Any suggestion overcome this issue.
Venu Madhav.
Hi,
Design the form as per your layout,
In se11 you create one structure as per your required fields.then in smartform, forminterface tables tab declare internal using the created structure and in global interface declare one work area.............then pass the internal table data into smartform from driver program and inside the smartform place the text wherevere you want according to layout.. I think you are using function module inside the loop in driver program dont use that way follow the above method it will call only one time .
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
as said it is not a good practice to use function module with in a loop
instead of that u take all the data in the internal table i think you might be using knb1 and bsid tables take the entire data in to the internal tables and then pass thee internal tables directly to the smartform and there in the first page the first insert prog lines as
IF COUNTER LE 0.
READ TABLE t_knb1 INDEX 1.
READ TABLE t_bsid WITH KEY kunnr = t_knb1-kunnr.
ELSE.
READ TABLE t_knb1 WITH KEY kunnr = t_knb1-kunnr.
ENDIF.
in the main window insert a loop of knb1after that keep a command to goto first page if counter>=1
increment the counter after the command
take another loop of bsid in the where condition insert the condition for particular customer
hope this solves ur problem
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Just call the form at the end of the driver program.
Jshree
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Its not good to call a smartform so many times. The best approach is call it once with all data and handle it at smartform level.
Try to minimize all the processing in smartform doit at report level.
Nabheet
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
Don't call the function module again and again..
You just need to create Internal Table, the values which you are passing to smartform and
In smartform start loop and inside it use the same functionality which you are used earlier.
Regards
Pankaj Mittal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
As ramesh said
I think you are using function module inside the loop in driver program
dont use that way follow the above method it will call only one time .
good solution. and one more thing you have change the smartforms to put page break for once the customer will
change.
regards,
Dhina..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
25 | |
12 | |
9 | |
6 | |
6 | |
5 | |
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.