Case Study: Default Billable Status by Expenditure Type
The section demonstrates how to solve the business problem of specifying a default billable status based on expenditure type.
Business Rule
The first step in the design process is to determine the business rule that you want to solve using client extensions.
Business Rule: Determine Default Billable Status by Expenditure Type
All Entertainment charges are non-billable for all projects.
Requirements
After you define the business rule you want to solve using client extensions, list the business requirements behind the business problem. This will help ensure that you are acknowledging all of the aspects of the business problem during the design stage.
- Transactions with an expenditure type of Entertainment are non-billable for all projects, regardless of the task's billable status
- There are no exceptions to this rule within the client extension; exceptions for negotiated billing of Entertainment expenses are marked as billable using the Adjust Project Expenditures form.
- Do not return an error message to the user for any expenditure types of Entertainment; simply set the billable status to non-billable for affected transactions.
Required Extension
To implement the business rule of determining the default billable status by expenditure type, use the Transaction Control Extension.
Suggestion: Review the sample PL/SQL code that corresponds to the implementation of this case study, view the file named PAXTTCXB.pls in the Oracle Projects admin/sql directory.
Additional Implementation Data
You need to define a new expenditure type of Entertainment.
Design Considerations
Deriving Additional Information
Since the expenditure type of each transaction being evaluated is passed to the transaction control extension procedure, you do not need to derive any additional data to implement this business rule.
Determining Billable Status
You can simply code your procedure to look at the expenditure_type parameter; if the expenditure type is Entertainment, set the x_billable_flag parameter to N to implement this business rule.