You can use an algorithm to calculate an adjustment amount or to build details related to the adjustment amount. The following are some examples of where this may be used:
Taking a base adjustment amount and applying a rate to add additional charges.
Taking the adjustment amount and capturing or producing additional supporting details in the calculation details collection. For example, if a P&I adjustment should be "disbursed" into detailed buckets as per the disbursement of the related assessment adjustment, a generate algorithm may be used to produce the appropriate P&I calculation details. Refer to the base product algorithm type C1-PIDISTRII for an example.
Receiving calculation details from a calling program and storing them with the adjustment.
Receiving calculation details from a calling program and using them to generate general ledger details for the adjustment's financial transaction.
All generated adjustment types must be set up as follows:
Set the adjustment type's Adjustment Amount Type to Calculated Amount
Plug in an appropriate Generate algorithm on the adjustment type as per the business rules
Configure an appropriate FT creation algorithm on the adjustment type. A typical reason for using generated adjustments is that additional details are required for the general ledger. The base product FT creation algorithms all include an option to use the calculation details as a source for the GL.
Generated adjustments are used to produce details related to the adjustment amount. These details may be provided by a calling program or may be determined using the appropriate business logic.
In general, the adjustment calculation lines are used to capture the details. But there are unusual points related to this logic:
Algorithms that populate the calculation line details must also populate calculation "header" details, including the number of lines and the total amount. However, calculation "header" details are never instantiated in the database. The information populated in the calculation header is used by the adjustment logic to process the calculation lines. Refer to any base product Generate algorithm for an example of populating the calculation "header".
Calculation lines include a switch called "create bill line." (Adjustment calculation lines are reusing bill calculation line functionality). In the adjustment logic, adjustment calculation lines are only instantiated if this switch is set to true. The reason that an algorithm may produce a calculation line that should not be stored is that this information is available in memory for subsequent processes, namely the FT creation algorithm, which produces the GL details.
There are times when the calling program has the detailed information to be stored in the adjustment calculation lines and in the FT GL details. The services provided in the product to add and freeze an adjustment do not include the full adjustment calculation details collection or the FT GL details collection as input. Rather, there is a special field called "custom common area" which may be used to pass information in XML format into the adjustment routines. The base product provides a Generate algorithm that accepts calculation details passed in the custom common area and returns calculation lines. Refer to the base product algorithm type C1-ADJ-GN-CL for more information.
One use of the adjustment generation plug-in is to call rate application. The base product supplies an algorithm type ADJG-RT that enables you to call a rate application, passing in the base adjustment amount and receiving calculated details from the rate.
The adjustment type's generate adjustment algorithm controls which rate is applied to the base amount. A user supplied calculation date controls which version of the rate is used. The user may supply the base amount or it may be defaulted from the adjustment type and possibly overridden by the user prior to calculating the adjustment amount.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.