Previous  Next          Contents  Index  Navigation  Glossary  Library

Additional Considerations for Writing Procedures

You should understand the following issues and determine how they affect your PL/SQL procedure.

Hard Limits and Automatic Events

Oracle Projects processes automatic events as it does manual events. When events are processed for a project that is at the hard limit, only those events that fully fit under the hard limit are processed. If the event amount does not fully fit under the hard limit, it is created but not processed on a draft revenue or invoice until there is enough funding available. Deleting the revenue does not delete the event; however, regenerating the revenue creates a new duplicate event. Once you raise the hard limit, Oracle Projects processes both events, which will lead to duplicate event amounts.

To avoid the creation of duplicate events, you can include logic in your billing extension to create an automatic event only if no unprocessed automatic events exist or if it will fit under the hard limit and be processed accordingly. Otherwise, the billing extension does not create the event, and you should delete the revenue without releasing it. If you do release the revenue, you need to calculate and insert the event manually.

In some transaction independent cases, you may wish to insert an amount that fits under the limit. In most transaction dependent cases, you should insert the entire amount, regardless of the limit to account for amounts based on processed transactions.

Suggestion: If you are creating positive and negative event amounts, create the negative amount first, so that it increases available funding.

Multiple Customers and Automatic Events

Oracle Projects processes automatic events as it does manual events. With multiple customer projects, events are split between the customers based on the customer billing percentage.

If you include hard limit logic in your procedure, you need to consider multiple customers and hard limit processing.

Creating Multiple Events in Same Calling Place in Same Run

It is possible for one or more billing extensions to create events in the same calling place in the same run. All billing extensions are executed in the calling place before any of the automatic events are included on the invoice or revenue. You need to consider the issues in the case in which one billing extension is dependent on the amount of other events processed in that calling place in the same run.

For example, assume you are processing a surcharge extension and a retention extension in the regular processing section of invoice generation. The surcharge is executed before the retention based on the processing order of the billing extension definition. The surcharge event is created but is not yet included on the invoice. The retention extension relies on the total invoice amount. To get the total invoice amount, the retention extension must account for the surcharge event which is not yet included on the invoice.

You must include logic in your billing extension to read any automatic event created for projects and tasks in the same run and calling place.


         Previous  Next          Contents  Index  Navigation  Glossary  Library