Aa Tutorial
Aa Tutorial
ARRANGEMENT ARCHITECTURE
Amendment History
Table of Contents
1. Introduction
2. Components of AA
2.1 Flow of AA
2.4 Product
3. Defining conditions
3.3 Charge
6. New Arrangement
Arrangement Architecture
8. AA at Subroutine level
9. Updating Fields in AA
1. Introduction
This document helps the user to understand about the functionality of Arrangement
Architecture (AA) and flow of product setup and technical aspects in AA.
2. Components of AA
Product Line
Product Group
Product
Property class
Product conditions
2.1 Flow of AA
From 5 major components, 3 are available under “Products” link and remaining 2 under
“Product Conditions ”.
In the above components, Product Line and Product Group will be created only by Temenos.
In other components, we will be able to
t o define conditions.
Product Line is a high level definition of the business component which was created by
Temenos. We can’t able to create or modify anything in this Product Line.
It is where we select the purpose of what we are going to do. If we wish to get a loan, then we
will go with “Lending”
“Lending” product line. If we wish to deposit, then we select “Deposits” product
line.
Product group provides basic shape to the product. This is where we will select which loan we
are going to take. For example:
example: if we wish to take
t ake personal loan, we will select “Personal
Loan” product group.
2.4 Product
This is where the user links the desired properties to appropriate conditions.
For the product group we selected, we will have different products to use. In this product, we
will define the conditions about how the product should behave.
Class is where will have set of activities to behave. These can be given by Temenos and
cannot be amended.
3. Defining conditions
In the product condition, we will define conditions for classes. For the respective class,
cla ss, there will be
some set of conditions to define the class.
3.1 ACTIVITY.API
In order to define our local routines we have to provide valid Activity Class / Activity ID along
with the Property class/ Property along with Action.
From the above screenshot, our routine will get triggered whenever the user updates the values in
the Interest tab/section for a new a Lending contract.
Record routine
Triggered when record opens
Pre validation routine
Triggered before core validation of the record
Validation routine
Triggered during validation
Pre routine
Triggered before the defined action takes place
Post routine
Triggered after the defined action takes place
Above given screenshot clearly shows, in which stage which routine will get triggered.
The below screenshot shows the attachment of Record, Validation and Post routine i n the
product JAB.LENDING.
JAB.LENDING.
Validation routine:
From the above screenshot our routine will get triggered whenever the user adjust the bill
“RESTRUCTURE-ADJUST-ALL-BALANCE-
then validate the record for a “RESTRUCTURE
Action– “ADJUST -BILL”.
MAINTAINTENANCE” activity and Action– “ADJUST
Pre Routine:
From the above screenshot our routine will get triggered whenever the user opens the
record and updates in the Charge tab/section for a new a Lending contract.
Post Routine:
Post routine is triggered both UNAUTH and AUTH status for a Lending New
Arrangement.
The below screenshot shows the post routine triggered with “UNAUTH”
“UNAUTH” status,
The below screenshot shows the post routine triggered with “AUTH” status,
Note:
Pre and Post routines are called during all stages of template – like
like Input, Delete,
Authorization, and Reversal. Hence the developer should always branch the control using
OFS$OPERATION.
3.2 ACTIVITY.PRESENTATION
3.3 CHARGE
This property is used to define charges. This property class ca n be added to PAYMENT
SCHEDULE
SCHEDULE property class for defining scheduled charges. To define charges related t o an
activity this class can be used in ACTIVITY CHARGE
CHARGE property class.
Charge routine field is used to define calculation as required by user. Usually, we will attach
routine in this field to calculate charge.
3.4 ACTIVITY.CHARGES
3.5 ACTIVITY.MAPPING
In this property class, we will define about which transaction code to be hit during respective
activities.
While setting up the product, we have to consider Property classes and Property conditions
in Product Group and Product respectively.
For example: Please see the below screenshots showing flow of attaching API to product.
Lending -> Personal Loan (View) -> Activity API -> API
Property class is the id of Product classes. Here, we will define the properties which will be
used in Product designer.
From the above screenshot, AA.LENDING.API is the property condition defined in product.
Also, it is the id of Activity.API class.
The above given setup is for one property class. Likewise, we have to setup for other activities
based on the requirement.
To avoid duplicity and maintain data integrity, AA allows definition of Local reference fields to
just one file (the PRD.DES
PRD.DES files) and replicates the same
same across other levels automatically.
automatically.
We have given below the screenshots of local field and it was attached to the
AA.PRD.DES.ACCOUN
AA.PRD.DES.ACCOUNT T table.
Local table:
The above setup will lead to display the LRF in the Account property tab. The screenshot is
given below:
Till now, we have seen the technical functionality of AA. Now, we are going to learn about the
business flow in AA.
AA.
While creating a new Arrangement Architecture, it displays multiple Product groups and Product.
Please find below the product groups and products in the product catalog which is defined in the
products and product conditions.
conditions.
To create New Arrangement Architecture via T24 browser, follow the below steps
Pop up window will be opened, Choose Product Group as Personal Loan & Product as Other Loan
Account Tab:
Mandatory input fields are - Term Amount and Penalty interest (Fixed rate)
Commitment tab:
Account Closure:
In account closure Activity and action fields are defaulted based on the Product & Product condition s
Setup.
Once Commit the AA record and find the loan/ authorize the record.
$INSERT I_F.AA.INTEREST
$INSERT I_F.AA.TERM.AMOUNT
$INSERT I_F.AA.ACTIVITY.HISTORY
$INSERT I_F.AA.ARRANGEMENT.ACTIVITY
$INSERT I_AA.LOCAL.COMMON
$INSERT I_AA.APP.COMMON
$INSERT I_F.AA.PRODUCT
$INSERT I_AA.ACTION.CONTEXT
$INSERT I_F.AA.TERM.AMOUNT
$INSERT I_F.AA.LIMIT
Likewise, above mentioned AA Insert files are having many common variables.
For reading the AA record is different from the normal read command (CALL F.READ()),
F.READ()),
Initially we need to get the Arrangement ID.
CLOSURE
CUSTOMER
INTEREST
LIMIT
TERM.AMOUNT
OFFICERS
PERIODIC.CHARGES
SETTLEMENT
BALANCE.MAINTENANCE
CHARGE.OVERRIDE
CHARGE
8 AA at routine level
Initially get the Arrangement Id to process the Property class find below details of the routine,
AA.GET.ARRANGEMENT.CONDITION
o This routine can be used by any application to retrieve the pro perty
conditions that apply to an arrangement for a particular effective date
(default value is TODAY).
o The specific property or property cl ass required must be supplied
o The records and ids for the property conditions that apply are returned
o No. of arguments passed – 7
AA.GEN.ARRANGEMENT.ACTIVITY.FIELDS
o This method maps the arrangement properties, its field name and its value
to new arrangement activity record
o Values can be supplied to arrangement property conditions from
AA.ARRANGEMENT.ACTIVITY record while triggering an activity
o No. of arguments passed – 4
AA.GEN.NEW.ARRANGEMENT.ACTIVITY
o This method appends the new arrangement activity as the secondary
activity to the parent activity
o No. of arguments passed – 7
AA.GET.ECB.BALANCE.AMOUNT
o This method returns the total balance amount for a given balance type on a
given date for an account arrangement
o No. of arguments passed – 5
Total Arguments - 7
Passed Arguments are – Arrangement
Arrangement ID, Prop class, Property, R.Conditions and Err
message.
RAISE(R.CONDITION) is used to get the values for the defined property class
“TERM.AMOUNT”.
The below routine to get the Amount, tenor, and maturity date of the Term amount
property class values.
Using this we can get the records for the tables or any property class
The below example is used to select the AA Bill record by using the
t he Core API – AA.GET.BILL.ID
AA.GET.BILL.ID
Total Passed
Passed Arguments
Arguments - 8
9 Updating fields in AA
For updating fields, use below logic, instead of using F.WRITE api,
R.AA.ACC.RECORD<AA.AC.LOCAL.REF,Y.RESTRUCT.DATE.POS,Y.CNT+1> = TODAY
R.AA.ACC.RECORD<AA.AC.LOCAL.REF,Y.END.DATE.POS,Y.CNT+1> = Y.DATE
REQD.PROCESS
REQD.PROCESS = c_arrActivityStatus["-",1,1]
Note:
Use AA.ACTION.LIST.MANA
AA.ACTION.LIST.MANAGER
GER api only for updating the fields in AA and for other
applications, use F.WRITE.
F.WRITE.
REQD.PROCESS
REQD.PROCESS = c_arrActivityStatus["-",1,1]
Initially start the browser. Listener in the Eclipse then input the contract in the T24
Browser.
If the routine is attached, then during the respective activity, routine is triggered which is
attached (like POST, PRE and Validation routine) in the products setup.
For Ex:
c_aalocActivityStatus - DELETE
c_aalocCurrAction - DR.MOVEMENT.
DR.MOVEMENT.
c_aalocArrCurrency - JOD
c_aalocPropertyId - PRININTEREST
PRININTEREST
c_aalocArrProductId - JAB.LENDING
JAB.LENDING
Below screenshot shows the common variable values of Arrangement ID, Product ID, Property ID,
Currency and Status of AA contract.