Method R Discussion GroupMethod R helps developers, DBAs, and decision-makers optimize Oracle-based software in every phase of the software life cycle. |
||
Discuss Method R products, techniques, and events. Ask new questions or post your own responses. |
My question is about using ILO in Oracle Reports.
Where would be the correct place put ILO calls for BEGIN_TASK and END_TASK in an Oracle report? Match a begin_task in the before_report trigger with an end_task in the after report trigger and then separately place ILO calls in any user-defined program modules of interest? Is there anything to be wary of like adding special error handling code? Thanks Mark
I'm pretty sure the correct place for the begin_task call would be in the Before Parameter Form trigger. This is because the Before Report trigger fires after the queries for the report are parsed and you would really want to capture that action. One thing to note however is that if this report is web based, the Before Parameter Form trigger runs twice (since Oracle Reports executes in a stateless fashion). I don't believe that should be a problem but it's worth noting.
You could alternatively put the begin_task call in the After Parameter Form trigger but you have to remember that it would only fire as long as the user doesn't cancel from the Runtime Parameter Form. If you put it here on a web-based report, then you'd avoid the Before form firing twice being an issue. The end_task call should be fine in the After Report trigger but remember that if an error occurs along the way (anywhere after the Form Parameter trigger fires), you'll need to include an end_task call in the error handling code as well. I don't think you need additional begin and end task calls unless you really want to get more granular than the report level. Any user-defined modules would be within the scope of the overall begin and end task calls discussed above. The only other thing to test would be if you specify READONLY on the command line, you should test to make sure the addition of the ILO calls don't prematurely end the transaction begun by SET TRANSACTION READONLY due to any implicit (or explicit) COMMITs. That would, in effect, abort the report execution. I don't think this "should be" a problem, but I'd suggest you confirm it with a couple of tests. |
Powered by FogBugz