2012 Apr 23 4:59 PM
Hello,
I am using the BAPI_ALM_ORDERHEAD_GET_LIST with the parameters below to retrieve open/released Plant Maintenance work orders and am encountering some performance issues. Has anyone else encountered any performances issues while using this BAPI or have any suggestions for improving the performance? We ran a trace and it seems to access many tables, but the only table takes slightly longer than the others is Jest and we had the statistics updated but that did not help. In our production environment we are retrieving an average of 30 open work orders for any given plant and it is taking 60-90+ seconds to retrieve the list, which is too long for our users because we are using this BAPI in a custom mobile program and they need better response time.
I am considering writing a custom FM to retrieve the specific information I need, but I wanted to see if anyone had any other suggestions before I determine to go that direction.
Parameters:
OPTIONS_FOR_STATUS_INCLUSIVE I EQ REL
SHOW_DOCUMENTS_IN_PROCESS I EQ X
OPTIONS_FOR_FINISH_DATE I GE TODAY
OPTIONS_FOR_START_DATE I LE TODAY
OPTIONS_FOR_PLANPLANT I EQ PLANT CODE
OPTIONS_FOR_STATUS_EXCLUSIVE I EQ DONE
OPTIONS_FOR_STATUS_EXCLUSIVE I EQ TECO
Thanks in advance,
Tom
2012 Apr 23 5:15 PM
Have you read the FM documentation?
According to it, multiple calls "are a strain on the database."
Rob
2012 Apr 23 5:20 PM
I read the FM documentation, but even when I call the FM with only one person running the transaction the 1st time always takes a while to return the results even if it is only returning a handful of records.
2012 Apr 23 5:24 PM
I meant - is the FM being called multiple times by the program?
Rob
2012 Apr 23 5:34 PM
The users do have the ability to essentially press a button and call the FM over and over again. However, the 1st time they call the FM it takes a while to return and any subsequent calls happen in a matter of a few seconds...even with the Force Refresh option on. It seems like it is storing a lot of data in memory during the first call and subsequent calls access the data in memory. I'm debugging the program now to try and determine what it is doing.
2012 Apr 24 4:36 AM
I think it is better to write your own FM, there is a field IPHASE in the order table which tells in which status it is in and there are other fields which says whether order is released or not. So prefer to write custom FM.
Regards,
Naveen