Вы находитесь на странице: 1из 882

Oracle Financial Services

Technical Reference Manual

Release 4.5

April 2001
Part No. A87511-01
Oracle Financial Services Technical Reference Manual, Release 4.5

Part No. A87511-01

Copyright © 1999, 2001 Oracle Corporation. All rights reserved.

Contributing Authors: Sue Bernstein, Kyle Duckers, Rob Flippo, Kielley Fon-Ndikum, Greg Hall, Greg
Jones, John Lightfoot, Chris Livingston, Geoff Potts, Claudia Roberts-Hawkins, Steven Roepke, and
Steven Wasserman.
The Programs (which include both the software and documentation) contain proprietary information of
Oracle Corporation; they are provided under a license agreement containing restrictions on use and
disclosure and are also protected by copyright, patent, and other intellectual and industrial property
laws. Reverse engineering, disassembly, or decompilation of the Programs is prohibited.

The information contained in this document is subject to change without notice. If you find any problems
in the documentation, please report them to us in writing. Oracle Corporation does not warrant that this
document is error free. Except as may be expressly permitted in your license agreement for these
Programs, no part of these Programs may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of Oracle Corporation.

Program Documentation is licensed for use solely to support the deployment of the Program and not for
any other purpose.

If the Programs are delivered to the U.S. Government or anyone licensing or using the programs on
behalf of the U.S. Government, the following notice is applicable:

Restricted Rights Notice Programs delivered subject to the DOD FAR Supplement are “commercial
computer software” and use, duplication, and disclosure of the Programs, including documentation,
shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement.
Otherwise, Programs delivered subject to the Federal Acquisition Regulations are “restricted computer
software” and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR
52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500
Oracle Parkway, Redwood City, CA 94065.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently
dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup,
redundancy, and other measures to ensure the safe use of such applications if the Programs are used for
such purposes, and Oracle Corporation disclaims liability for any damages caused by such use of the
Programs.

Oracle is a registered trademark, and Oracle Financial Services Balance and Control, Oracle Budgeting
and Planning, Oracle Financial Services Data Dictionary, Oracle Financial Services/Discoverer Integrator,
Oracle Financial Services System Administration, Oracle Market Manager, Oracle Performance Analyzer,
Oracle Portfolio Analyzer, Oracle Risk Manager, and Oracle Transfer Pricing are trademarks or registered
trademarks of Oracle Corporation. All other company or product names mentioned are used for
identification purposes only and may be trademarks of their respective owners.
Notice of Use, Duplication, and Disclosure

The Oracle Financial Services Applications Technical Reference Manual (in any form,
whether software or printed matter) contains proprietary, confidential information
that is the exclusive property of Oracle Corporation. If you do not have a valid
contract with Oracle for the use of the Oracle Financial Services Applications Technical
Reference Manual or have not signed a non-disclosure agreement with Oracle
Corporation covering the Oracle Financial Services Applications Technical Reference
Manual, then you received this document in an unauthorized manner and are not
legally entitled to possess or read it.
Use, duplication, and disclosure are subject to restrictions stated in your contract
with Oracle Corporation.

iii
iv
Contents

Notice of Use, Duplication, and Disclosure ............................................................................. iii

Send Us Your Comments ............................................................................................................... xxix

Preface........................................................................................................................................................ xxxi

1 High-Level Design
Overview of the High-Level Design ............................................................................................... 1-1
Oracle Financial Services Overview .............................................................................................. 1-3
Oracle Budgeting & Planning ..................................................................................................... 1-3
Oracle Financial Data Manager .................................................................................................. 1-4
Financial Data Model............................................................................................................ 1-4
FDM Data Mart...................................................................................................................... 1-4
FDM Standard Reports......................................................................................................... 1-8
Oracle Balance & Control ..................................................................................................... 1-8
Discoverer Integrator ............................................................................................................ 1-8
Oracle Financial Data Manager Administration............................................................... 1-8
Oracle Financial Data Manager Rate Manager ................................................................. 1-9
Oracle Performance Analyzer..................................................................................................... 1-9
Oracle Risk Manager.................................................................................................................... 1-9
Oracle Transfer Pricing ................................................................................................................ 1-9
Database Diagram Conventions .................................................................................................... 1-10
Relationships ............................................................................................................................... 1-10
Objects .......................................................................................................................................... 1-10

v
Types of Relationships ............................................................................................................... 1-11
Summary Database Diagram.......................................................................................................... 1-12
Database Diagrams........................................................................................................................... 1-14
Diagram 1: Accounts .................................................................................................................. 1-18
Diagram 2: Codes and Descriptions......................................................................................... 1-19
Diagram 3a: Collateral (Part One) ............................................................................................ 1-20
Diagram 3b: Collateral (Part Two) ........................................................................................... 1-21
Diagram 4: Customer ................................................................................................................. 1-22
Diagram 5: FDM Security .......................................................................................................... 1-23
Diagram 6: FDM System............................................................................................................ 1-24
Diagram 7: Hierarchies and Leaves ......................................................................................... 1-25
Diagram 8: Messages.................................................................................................................. 1-26
Diagram 9: Performance Analyzer Results ............................................................................. 1-27
Diagram 10: FDM Rate Manager.............................................................................................. 1-28
Diagram 11: Risk Manager Results Scenario Based............................................................... 1-29
Diagram 12: Risk Manager Results Stochastic........................................................................ 1-30
Diagram 13: Transfer Pricing Results ...................................................................................... 1-31
Diagram 14: Transformation Processing ................................................................................. 1-32
Table List............................................................................................................................................. 1-33

2 Detail Design
Table Components .............................................................................................................................. 2-1
Columns .................................................................................................................................. 2-1
Indexes .................................................................................................................................... 2-2
Sequences................................................................................................................................ 2-2
Column Code Values ............................................................................................................ 2-2
FDM Database Tables ........................................................................................................................ 2-2
ACCOUNT_COLLATERAL ....................................................................................................... 2-3
ACCOUNT_GUARANTOR_RELATION................................................................................. 2-8
ACCT ............................................................................................................................................ 2-11
BUS................................................................................................................................................ 2-13
COLLATERAL_BOATS ............................................................................................................. 2-14
COLLATERAL ............................................................................................................................ 2-15
COLLATERAL_ASSESSMENT_HISTORY............................................................................. 2-21
COLLATERAL_AUCTION_DETAILS.................................................................................... 2-23

vi
COLLATERAL_INSURANCE_DETAILS............................................................................... 2-25
COLLATERAL_OTHER_INSTITUTIONS ............................................................................. 2-27
COLLATERAL_OWNERS ........................................................................................................ 2-29
COLLATERAL_REAL_ESTATE .............................................................................................. 2-30
COLLATERAL_SHARES .......................................................................................................... 2-32
COLLATERAL_VEHICLES ...................................................................................................... 2-33
CONS_DTL_XXXXXX................................................................................................................ 2-34
CUST............................................................................................................................................. 2-36
CUST_ADDR............................................................................................................................... 2-38
EAR_LEAF_AVG_XXXXXX...................................................................................................... 2-39
EAR_LEAF_DTL_XXXXXX....................................................................................................... 2-40
EAR_TOTAL_AVG_XXXXXX .................................................................................................. 2-41
EAR_TOTAL_DTL_XXXXXX ................................................................................................... 2-42
HH ................................................................................................................................................ 2-43
IND ............................................................................................................................................... 2-44
Instrument Tables....................................................................................................................... 2-45
LEDGER_STAT........................................................................................................................... 2-47
OFSA_ACTION_ASSIGNMENT ............................................................................................. 2-49
OFSA_ACTIONS ........................................................................................................................ 2-51
OFSA_APP_ASSIGNMENT...................................................................................................... 2-53
OFSA_APPLICATION_CONSTRUCTS.................................................................................. 2-55
OFSA_APPLICATIONS ............................................................................................................ 2-57
OFSA_AUDIT_TRAIL ............................................................................................................... 2-59
OFSA_CATALOG_OF_IDS ...................................................................................................... 2-62
OFSA_CATALOG_OF_LEAVES.............................................................................................. 2-66
OFSA_COL_PROPERTY_REQUIREMENTS ......................................................................... 2-68
OFSA_COLUMN_PROPERTIES.............................................................................................. 2-70
OFSA_COLUMN_PROPERTY_CD ......................................................................................... 2-72
OFSA_COLUMN_REQUIREMENTS ...................................................................................... 2-74
OFSA_COLUMN_REQUIREMENTS_MLS............................................................................ 2-78
OFSA_CONSOLIDATED_MASTER ....................................................................................... 2-80
OFSA_CONSTRUCT_ACTIONS ............................................................................................. 2-84
OFSA_CONSTRUCTS ............................................................................................................... 2-86
OFSA_CURRENCIES................................................................................................................. 2-87
OFSA_CURRENCY_MLS.......................................................................................................... 2-90

vii
OFSA_DATA_IDENTITY.......................................................................................................... 2-91
OFSA_DATA_TYPE_DSC ......................................................................................................... 2-94
OFSA_DB_INFO ......................................................................................................................... 2-98
OFSA_DB_OBJ_PRIV_ASSIGNMENT.................................................................................. 2-100
OFSA_DB_SYS_PRIV_ASSIGNMENT .................................................................................. 2-102
OFSA_DESCRIPTION_TABLES............................................................................................. 2-103
OFSA_DETAIL_ELEM_B ........................................................................................................ 2-105
OFSA_DETAIL_ELEM_MLS .................................................................................................. 2-108
OFSA_DETAIL_GL_ACCOUNT_ID ..................................................................................... 2-109
OFSA_DETAIL_LEAVES ........................................................................................................ 2-110
OFSA_DETAIL_ORG_UNIT................................................................................................... 2-113
OFSA_DETAIL_OTHER_COA............................................................................................... 2-114
Special Use of DETAIL_OTHER_COA for Risk Manager........................................... 2-114
OFSA_DYN_TAB_CLASS_PRIV_ASSIGN........................................................................... 2-116
OFSA_DYN_TABLE_PRIV_ASSIGN .................................................................................... 2-118
OFSA_EAR_LEAF_AVG ......................................................................................................... 2-120
OFSA_EAR_LEAF_DTL .......................................................................................................... 2-121
OFSA_EAR_TOTAL_AVG...................................................................................................... 2-122
OFSA_EAR_TOTAL_DTL....................................................................................................... 2-123
OFSA_EXCHANGE_RATE_HIST.......................................................................................... 2-125
OFSA_EXCHANGE_RATES_AUDIT.................................................................................... 2-128
OFSA_EXCHNG_RATE_CONV_FORMULA...................................................................... 2-130
OFSA_EXCHNG_RATE_DIRECT_ACCESS ........................................................................ 2-132
OFSA_FISCAL_YEAR_INFO.................................................................................................. 2-134
OFSA_FIXED_CURRENCIES ................................................................................................. 2-136
OFSA_ID_FOLDER_ACCESS................................................................................................. 2-139
OFSA_ID_FOLDERS ................................................................................................................ 2-140
OFSA_IDT_CONFIGURE........................................................................................................ 2-142
OFSA_IDT_RESULT_DETAIL................................................................................................ 2-146
OFSA_IDT_RESULT_HEADER ............................................................................................. 2-149
OFSA_IDT_ROLLUP................................................................................................................ 2-154
Balanced Trees ................................................................................................................... 2-154
OFSA_IDT_SUBTOTAL........................................................................................................... 2-160
OFSA_IDT_VIEW_FILTER...................................................................................................... 2-162
OFSA_INDEX_STORAGE_DEFAULTS................................................................................ 2-164

viii
OFSA_INSTRUMENT_ACCOUNT_CUST .......................................................................... 2-165
OFSA_INSTRUMENT_TYPE_CD.......................................................................................... 2-168
OFSA_INSTRUMENT_TYPE_MLS ....................................................................................... 2-169
OFSA_INTEREST_RATES_AUDIT ....................................................................................... 2-170
OFSA_IRC_RATE_HIST.......................................................................................................... 2-173
OFSA_IRC_RATE_TERMS...................................................................................................... 2-175
OFSA_IRC_TS_PARAM_HIST............................................................................................... 2-176
OFSA_IRCS................................................................................................................................ 2-178
OFSA_JOBS_RUN .................................................................................................................... 2-181
OFSA_LEAF_DESC.................................................................................................................. 2-186
OFSA_LEDGER_STAT_INSTRUMENT ............................................................................... 2-188
OFSA_LEDGER_STAT_RECON............................................................................................ 2-189
OFSA_LEVEL_DESC ............................................................................................................... 2-191
OFSA_MESSAGE_LOG........................................................................................................... 2-192
OFSA_MLS ................................................................................................................................ 2-195
OFSA_NODE_DESC ................................................................................................................ 2-196
OFSA_PRIVILEGE_RECIPIENTS .......................................................................................... 2-198
OFSA_PROCESS_CASH_FLOWS ......................................................................................... 2-200
OFSA_PROCESS_ERRORS ..................................................................................................... 2-203
OFSA_PROPERTY_COLUMNS ............................................................................................. 2-206
OFSA_PROPERTY_STP........................................................................................................... 2-209
OFSA_REQUEST_QUEUE...................................................................................................... 2-212
OFSA_RESULT_BUCKET ....................................................................................................... 2-215
OFSA_RESULT_MASTER....................................................................................................... 2-217
OFSA_RESULT_QUEUE ......................................................................................................... 2-221
OFSA_RESULT_SCENARIO .................................................................................................. 2-223
OFSA_ROLE_ASSIGNMENT................................................................................................. 2-224
OFSA_ROLES............................................................................................................................ 2-226
OFSA_SEC_PROFILE_ASSIGNMENT ................................................................................. 2-227
OFSA_SECURITY_PROFILES ................................................................................................ 2-229
OFSA_TAB_COLUMNS.......................................................................................................... 2-230
OFSA_TAB_COLUMNS_MLS ............................................................................................... 2-233
OFSA_TABLE_CLASS_ASSIGNMENT ................................................................................ 2-235
OFSA_TABLE_CLASS_PROPERTIES ................................................................................... 2-237
OFSA_TABLE_CLASSIFICATION........................................................................................ 2-239

ix
OFSA_TABLE_CLASSIFICATION_MLS.............................................................................. 2-241
OFSA_TABLE_PROPERTIES.................................................................................................. 2-243
OFSA_TABLE_STORAGE_DEFAULTS................................................................................ 2-245
OFSA_TABLE_TRACKING .................................................................................................... 2-246
OFSA_TABLES.......................................................................................................................... 2-249
OFSA_TABLES_MLS ............................................................................................................... 2-251
OFSA_TEMP_OBJECTS........................................................................................................... 2-253
OFSA_TM_STOCH_MKT_VAL ............................................................................................. 2-254
OFSA_TM_STOCH_RATES.................................................................................................... 2-255
OFSA_TM_STOCH_TOT_VAR.............................................................................................. 2-256
OFSA_TM_STOCH_VAR ........................................................................................................ 2-257
OFSA_TRANSFORM_LS_TEMPLATE ................................................................................. 2-258
OFSA_TRANSFORM_RMC_TEMPLATE ............................................................................ 2-260
OFSA_TRANSFORM_RMG_TEMPLATE ............................................................................ 2-262
OFSA_TRANSFORM_ROLLUP_TEMPLATE ..................................................................... 2-265
OFSA_USER_GROUP_ASSIGNMENT ................................................................................. 2-267
OFSA_USER_GROUPS ............................................................................................................ 2-268
OFSA_USERS ............................................................................................................................ 2-269
RELATE...................................................................................................................................... 2-270
RES_DTL_XXXXXX .................................................................................................................. 2-272
SERV ........................................................................................................................................... 2-274
Services Tables .......................................................................................................................... 2-277
Transaction Tables .................................................................................................................... 2-279

3 Process Flow
Allocation Processing......................................................................................................................... 3-1
Allocation Processing Diagram–Preparation Phase ................................................................ 3-2
Allocation Processing Diagram–Execution Phase ................................................................... 3-3
Allocation Processing Steps......................................................................................................... 3-4
Additional Allocation Processing Notes ................................................................................... 3-7
Data Correction Processing ............................................................................................................... 3-7
Data Correction Processing Diagram ........................................................................................ 3-8
Data Correction Processing Steps............................................................................................... 3-9
Additional Data Correction Processing Notes ....................................................................... 3-11
Market Manager Processing ........................................................................................................... 3-12

x
Customerization Processing Diagram ..................................................................................... 3-14
Customerization Processing Steps ........................................................................................... 3-15
Merge Customers Processing Diagram ................................................................................... 3-17
Merge Business Customers Diagram ............................................................................... 3-18
Merge Business Customers Processing Steps.................................................................. 3-19
Merge Individual Customers Diagram ............................................................................ 3-20
Merge Individual Customers Processing Steps .............................................................. 3-22
Householding Processing Diagram ......................................................................................... 3-24
Householding Processing Steps ............................................................................................... 3-25
Promotion Tracking by Product Processing Diagram .......................................................... 3-26
Promotion Tracking by Product Processing Steps................................................................. 3-27
Promotion Tracking by Query Processing Diagram ............................................................. 3-29
Promotion Tracking by Query Processing Steps ................................................................... 3-30
Promotion Generation Processing Diagram ........................................................................... 3-31
Promotion Generation Processing Steps ................................................................................. 3-32
Promotion Results (Release 4.0) Processing Diagram........................................................... 3-34
Promotion Results (Release 4.0) Processing Steps ................................................................. 3-35
Promotion Rollup Processing Diagram................................................................................... 3-36
Promotion Rollup Processing Steps......................................................................................... 3-37
Risk Manager Processing ................................................................................................................ 3-38
Risk Manager Processing Diagram .......................................................................................... 3-39
Risk Manager Processing Steps ................................................................................................ 3-40
Additional Risk Manager Processing Notes........................................................................... 3-44
Stochastic-Based Processing .............................................................................................. 3-44
Scenario-Based Processing ................................................................................................. 3-44
Transfer Pricing Processing............................................................................................................. 3-46
Transfer Pricing Processing Diagram ...................................................................................... 3-47
Transfer Pricing Processing Steps ............................................................................................ 3-48
Transformation Processing.............................................................................................................. 3-50
Transformation Processing Diagram....................................................................................... 3-51
Transformation Processing Steps ............................................................................................. 3-52
Additional Transformation Processing Notes........................................................................ 3-56

xi
4 Oracle Budgeting & Planning
Data Transformation
Execution Environment ..................................................................................................................... 4-2
Data Loading Routines ...................................................................................................................... 4-2
Loading Dimensions and Hierarchies ............................................................................................ 4-3
RDBMS Tables............................................................................................................................... 4-3
Dimensions and Hierarchies Data Loading Processing Diagram ......................................... 4-4
Dimensions and Hierarchies Data Loading Processing Steps ............................................... 4-5
Loading Ledger_Stat Data ................................................................................................................. 4-7
RDBMS Tables............................................................................................................................... 4-7
LEDGER_STAT Data Loading Processing Diagram ............................................................... 4-8
LEDGER_STAT Data Loading Processing Steps ..................................................................... 4-9
Loading Risk Manager Data ............................................................................................................. 4-9
RDBMS Tables............................................................................................................................. 4-10
Risk Manager Data Loading Processing Diagram ................................................................. 4-11
Risk Manager Data Loading Processing Steps ....................................................................... 4-12
Summary of Financial Element Processing............................................................................. 4-13
Loading Maturity Mix Data ............................................................................................................ 4-16
RDBMS Tables............................................................................................................................. 4-16
Maturity Mix Data Loading Processing Diagram.................................................................. 4-17
Maturity Mix Data Loading Processing Steps ........................................................................ 4-18
....................................................................................................................................................... 4-18

5 Batch/Scheduling Tool Kit


OFSA Concepts ................................................................................................................................... 5-1
OFSA Client-Server Architecture ............................................................................................... 5-1
Level of Integration ...................................................................................................................... 5-2
OFSA Enabled ........................................................................................................................ 5-2
Shared OFSA Data................................................................................................................. 5-2
Extended OFSA Data Model................................................................................................ 5-2
Code Sharing .......................................................................................................................... 5-2
Automated Processing ................................................................................................................. 5-3
Process Flow .................................................................................................................................. 5-3
OFSA Process Flow Diagram............................................................................................... 5-4
UNIX Signals ................................................................................................................................. 5-5

xii
Adapters................................................................................................................................................ 5-5
Application Request Parameter Interface Adapter Specification.......................................... 5-6
Purpose ............................................................................................................................ 5-6
Function ........................................................................................................................... 5-6
Level of Integration........................................................................................................ 5-6
Requirements ......................................................................................................................... 5-6
Environment Management Requirements ................................................................. 5-6
OFSA Environment Management ............................................................................... 5-7
Output Management ..................................................................................................... 5-7
Process Requirements ........................................................................................................... 5-7
Parameter Management ................................................................................................ 5-7
Parameter Format Management .................................................................................. 5-7
SQL Query Capabilities................................................................................................. 5-7
Spawned Process Control ............................................................................................. 5-8
Security Requirements.......................................................................................................... 5-8
Password Security.......................................................................................................... 5-8
Temporary Secured Files .............................................................................................. 5-8
Secured Directory........................................................................................................... 5-8
System Design........................................................................................................................ 5-8
ARPI Adapter ................................................................................................................. 5-9
Process Spawn Manager ............................................................................................... 5-9
OFSA Knowledge Engine ............................................................................................. 5-9
FDM Database ................................................................................................................ 5-9
Output Manager............................................................................................................. 5-9
System Structure.................................................................................................................. 5-10
Decomposition of ARPI Adapter............................................................................... 5-10
ARPI Interface Subcomponent ................................................................................... 5-11
Data Interface Subcomponent .................................................................................... 5-11
Output Manager Interface Subcomponent............................................................... 5-11
OFSA Environment Subcomponent .......................................................................... 5-11
OFSA Job Number Interface Subcomponent ........................................................... 5-11
Security Subcomponent............................................................................................... 5-12
System Interactions ............................................................................................................. 5-12
ARPI External Interactions ......................................................................................... 5-13
Spawn Manager Interactions...................................................................................... 5-13

xiii
FDM database Interactions ......................................................................................... 5-14
OFSA Knowledge Engine Interactions............................................................................. 5-15
Configuration................................................................................................................ 5-15
Inputs to ARPI...................................................................................................................... 5-15
Application Request Parameter Interface ................................................................. 5-15
Purpose .......................................................................................................................... 5-15
ARPI Command-line Method..................................................................................... 5-15
ARPI Protocol Definition............................................................................................. 5-15
Product-Specific Parameter Interfaces..................................................................................... 5-16
Balance & Control, Risk Manager and Transfer Pricing Parameter Interfaces .......... 5-16
Oracle Balance & Control ARPI Examples ............................................................... 5-17
Example of a Balance & Control ARPI Correctly Ordered and Formatted ......... 5-17
Example of a Balance & Control ARPI Incorrectly Formatted .............................. 5-18
Example of a Balance & Control ARPI Incorrectly Ordered.................................. 5-18
Oracle Performance Analyzer ARPI Example Using the ARPI Command-line ........ 5-19
Example of the Oracle Performance Analyzer Parameter Interface ..................... 5-20
Example of a Performance Analyzer ARPI Correctly Ordered and Formatted.. 5-20
Additional Parameter Information ................................................................................... 5-21
Multiple Type Enabled Parameters ........................................................................... 5-21
System ID Number Value ........................................................................................... 5-21
ID Name Value ............................................................................................................. 5-21
Example of an ID Name .............................................................................................. 5-22
Outputs from ARPI ............................................................................................................. 5-23
Error Conditions........................................................................................................... 5-23
Server Application Return Codes .............................................................................. 5-23
Required Action Return Codes .................................................................................. 5-24
Bad Usage ...................................................................................................................... 5-24
Cancelled ....................................................................................................................... 5-24
Output Manager Interactions ............................................................................................ 5-24
Registered Application Output .................................................................................. 5-24
Internal Interactions ................................................................................................................... 5-25
ARPI Adapter Internal Interactions.................................................................................. 5-25
Data Interface Interactions ................................................................................................. 5-25
Secured Variables ......................................................................................................... 5-26
OFSA Job Number........................................................................................................ 5-26

xiv
Prepared Parameters ................................................................................................... 5-26
Physical Data Models....................................................................................................................... 5-26
Process Data Model .................................................................................................................... 5-26
SYS_ID_NUM ...................................................................................................................... 5-27
ID_DESC_SHORT ............................................................................................................... 5-27
ID_TYPE ............................................................................................................................... 5-27
FOLDER_NAME ................................................................................................................. 5-28
Request Data Model ................................................................................................................... 5-28
JOB_NUM............................................................................................................................. 5-29

6 Boundaries and Limitations


Oracle Balance & Control.................................................................................................................. 6-1
Correction Rules .................................................................................................................... 6-1
Oracle Budgeting & Planning .......................................................................................................... 6-1
Product Tree ........................................................................................................................... 6-1
Organizational Unit Tree...................................................................................................... 6-1
Currency Values .................................................................................................................... 6-2
Consolidation/Elimination Limits ..................................................................................... 6-2
Time Periods .......................................................................................................................... 6-2
Balances and Spreads............................................................................................................ 6-2
Fiscal Year............................................................................................................................... 6-2
Common Dialogs ................................................................................................................................ 6-2
Tree Rollup ............................................................................................................................. 6-2
Transformation ID................................................................................................................. 6-3
SQL Talk ................................................................................................................................. 6-3
Data Filter ID.......................................................................................................................... 6-3
Formula ID ............................................................................................................................. 6-3
Request Queue ....................................................................................................................... 6-3
Database Configuration .................................................................................................................... 6-3
Users and Groups.................................................................................................................. 6-3
OFSA ID Names .................................................................................................................... 6-3
Number of IDs ....................................................................................................................... 6-4
SQL Statements in All Processes ......................................................................................... 6-4
Instrument Table ID Numbers ............................................................................................ 6-4
User Interface Display of Dates........................................................................................... 6-4

xv
Leaf Set Up.............................................................................................................................. 6-4
Balances................................................................................................................................... 6-4
Rates ........................................................................................................................................ 6-4
Terms and Frequencies ......................................................................................................... 6-4
Oracle Performance Analyzer........................................................................................................... 6-5
Allocation ID .......................................................................................................................... 6-5
Table ID................................................................................................................................... 6-5
Reporting .............................................................................................................................................. 6-5
Stratification ID ...................................................................................................................... 6-5
Report ID................................................................................................................................. 6-5
Standard Risk Manager Reports.......................................................................................... 6-6
Oracle Risk Manager.......................................................................................................................... 6-6
Modeling Buckets .................................................................................................................. 6-6
Dynamic Buckets ................................................................................................................... 6-6
Leaf Characteristics ID.......................................................................................................... 6-6
Transaction Strategies ID...................................................................................................... 6-7
Rate Index ID.......................................................................................................................... 6-7
Term Structure ID.................................................................................................................. 6-7
Processing ............................................................................................................................... 6-7
Formula Leaves ID ................................................................................................................ 6-7
Forecast Balance ID ............................................................................................................... 6-7
Forecast Rates ID ................................................................................................................... 6-8
Prepayment Table ID ............................................................................................................ 6-8
Prepayment ID ....................................................................................................................... 6-8
User-defined Patterns ........................................................................................................... 6-8
Cash Flow Calculations ........................................................................................................ 6-8
Monte Carlo Processing........................................................................................................ 6-8
Oracle Transfer Pricing ...................................................................................................................... 6-8
Prepayment ID ....................................................................................................................... 6-8
Prepayment Table ID ............................................................................................................ 6-8
User-defined Patterns ........................................................................................................... 6-8
Cash Flow Generation........................................................................................................... 6-9
Transfer Pricing Calculations............................................................................................... 6-9

xvi
7 Consolidation of Results
Check the Processing IDs.................................................................................................................. 7-2
Create a New Processing ID for Your Consolidated Results ..................................................... 7-2
Pre-Populate the Supporting Result Files ................................................................................. 7-2
Consolidate Results Data............................................................................................................. 7-3
Detail Results Tables (Cash Flow and Gap Results) ........................................................ 7-3
Two Approaches to Consolidating Results.................................................................................... 7-4
Columns in the Result Detail Table ................................................................................................ 7-5
Result_Master Table (Market Value Results)................................................................................ 7-6

8 Detail Cash Flow Audit Options


The Detail Cash Flow Process .......................................................................................................... 8-2
Determining the Value of Result Sys ID ................................................................................... 8-3
Creating a Data Filter ID.............................................................................................................. 8-3
Creating a Data Verification ID .................................................................................................. 8-4
Data Verification ID Results............................................................................................................. 8-6
Financial Elements........................................................................................................................ 8-6
Cash Flow Codes .......................................................................................................................... 8-7
Data Verification ................................................................................................................................. 8-8

9 Cash Flow Calculations


Instrument Level Modeling.............................................................................................................. 9-2
Modeling Flexibility Defined by Instrument Data...................................................................... 9-2
Daily Cash Flows ................................................................................................................................ 9-2
Event Driven Logic ............................................................................................................................. 9-2
Financial Elements.............................................................................................................................. 9-3
Multicurrency Accounting and Consolidation ............................................................................. 9-3
Terminology Used in This Chapter ................................................................................................. 9-3
Non-Currency-Based versus Currency-Based Processing ..................................................... 9-3
Local Currency versus Reporting Currency ............................................................................. 9-4
Default Currency (Code 000) ............................................................................................... 9-4
[m] Forecast (in memory) versus [r] Actual (on record).................................................. 9-4
Cash Flow Calculation Process ........................................................................................................ 9-5
Initialization of Data..................................................................................................................... 9-5

xvii
Determine Account Type of Instrument ................................................................................... 9-6
Initialize Interface Data................................................................................................................ 9-7
Model with Gross Rates........................................................................................................ 9-7
Interest Credited .................................................................................................................... 9-7
Percent Taxable ...................................................................................................................... 9-8
Currency Gain/Loss Basis ................................................................................................... 9-8
Pay-Equivalent Compounding Convention ...................................................................... 9-8
User-Defined Payment Patterns .......................................................................................... 9-8
User-Defined Repricing Patterns ........................................................................................ 9-8
Initialize Cash Flow Data............................................................................................................. 9-9
Static Characteristics ............................................................................................................. 9-9
Dynamic Characteristics..................................................................................................... 9-10
Triggers ................................................................................................................................. 9-11
Translation (Non-Currency-Based Processes)................................................................. 9-11
Initializing Schedule Records.................................................................................................... 9-12
Amortization Code 800....................................................................................................... 9-12
Amortization Code 801....................................................................................................... 9-12
Amortization Code 802....................................................................................................... 9-12
Initializing Pattern Records....................................................................................................... 9-13
Single Timeline Patterns ..................................................................................................... 9-13
Example................................................................................................................................. 9-13
Multiple Timeline Patterns (Payment Patterns Only).................................................... 9-14
Modeling Start and End Dates.................................................................................................. 9-15
Additionally Derived Data........................................................................................................ 9-15
Initialization of Adjustable Rate Instruments for Transfer Pricing.............................. 9-15
Percent Sold Adjustment .................................................................................................... 9-16
Forecast Balance assumptions ........................................................................................... 9-16
Process Modeling Events........................................................................................................... 9-17
Payment Calculation Event ....................................................................................................... 9-17
Static Information - Conventional Adjustable and Payment Patterns......................... 9-17
Additional Information - Adjustable Neg-Am:............................................................... 9-18
Event Trigger - Transfer Pricing ....................................................................................... 9-18
Event Triggers - Conventional Adjustable and Conventional Payment Patterns.. 9-18
Event Triggers - Adjustable Neg Am .............................................................................. 9-18
Payment Calculation Steps........................................................................................................ 9-18

xviii
Payment Event ............................................................................................................................ 9-21
Static Information ................................................................................................................ 9-21
Dynamic Information ......................................................................................................... 9-22
Event Triggers...................................................................................................................... 9-22
Additional Assumption Information ............................................................................... 9-22
Payment Event Steps.................................................................................................................. 9-22
Rate per Payment -- Accrual Adjustment ........................................................................ 9-23
Accrual Factor Codes .......................................................................................................... 9-23
Rate per Payment -- Compounding Adjustment............................................................ 9-23
Rate per Payment - Stub and Extended Payment Adjustment..................................... 9-24
Percent of Original Payment.............................................................................................. 9-24
Percent of Current Payment .............................................................................................. 9-25
Percent of Current Balance................................................................................................. 9-25
Percent of Original Balance................................................................................................ 9-26
Absolute Value .................................................................................................................... 9-26
Interest in Advance Calculations ............................................................................................. 9-28
Prepayment Event ...................................................................................................................... 9-30
Static Information ................................................................................................................ 9-30
Dynamic Information ......................................................................................................... 9-30
Additional Assumption Information ............................................................................... 9-30
Event Trigger ....................................................................................................................... 9-30
Prepayment Event Steps............................................................................................................ 9-30
Reprice Event .............................................................................................................................. 9-37
Notes About Reprice Event....................................................................................................... 9-38
Reprice Steps ............................................................................................................................... 9-38
Additional Processing Events......................................................................................................... 9-43
Deferred Amortization Calculation Steps............................................................................... 9-43
Accounting for Exchange Rate Fluctuations................................................................................ 9-46
Definition of Currency Methods .............................................................................................. 9-46
Examples of Exchange Rate Fluctuations ........................................................................ 9-47
Effect of Exchange Rate Forecasts on Cash Flows................................................... 9-49
Market Value Calculation ............................................................................................................... 9-50
Market Value Calculation Steps ............................................................................................... 9-51
Consolidation of Results ................................................................................................................. 9-53
Currency-Based Gap Modeling ..................................................................................................... 9-54

xix
Detail Cash Flow Data ..................................................................................................................... 9-55
Event Use Code Values....................................................................................................... 9-59
Rule of 78’s Example......................................................................................................................... 9-59

10 Cash Flow Dictionary


Cash Flow Columns.......................................................................................................................... 10-2
Cash Flow Columns Listed ....................................................................................................... 10-2
Field Definitions.......................................................................................................................... 10-5
Accrual Basis Code (ACCRUAL_BASIS_CD) ........................................................................ 10-5
Adjustable Type Code (ADJUSTABLE_TYPE_CD) .............................................................. 10-8
Amortization Type Code (AMRT_TYPE_CD) ....................................................................... 10-9
Amortization Term (AMRT_TERM) ...................................................................................... 10-15
Amortization Term Multiplier (AMRT_TERM_MULT) ..................................................... 10-16
As of Date (AS_OF_DATE) ..................................................................................................... 10-17
Compounding Basis Code (COMPOUND_BASIS_CD) ..................................................... 10-19
Current Book Balance (CUR_BOOK_BAL)........................................................................... 10-20
Current Gross Rate (CUR_GROSS_RATE) ........................................................................... 10-21
Current Net Rate (CUR_NET_RATE).................................................................................... 10-23
Current Option-Adjusted Spread (CUR_OAS) .................................................................... 10-24
Current Par Balance (CUR_PAR_BAL) ................................................................................. 10-25
Current Payment (CUR_PAYMENT) .................................................................................... 10-27
Current Static Spread (CUR_STATIC_SPREAD)................................................................. 10-31
Current Transfer Pricing Period Average Daily Balance (CUR_TP_PER_ADB) ............ 10-31
Deferred Current Balance (DEFERRED_CUR_BAL)........................................................... 10-33
Deferred Original Balance (DEFERRED_ORG_BAL) ......................................................... 10-35
Gross Margin (MARGIN_GROSS) ......................................................................................... 10-35
Historic Option-Adjusted Spread (HISTORIC_OAS) ......................................................... 10-36
Historic Static Spread (HISTORIC_STATIC_SPREAD) ...................................................... 10-37
ID Number (ID_NUMBER) ..................................................................................................... 10-38
Identity Code (IDENTITY_CODE)......................................................................................... 10-38
Instrument Type Code (INSTRUMENT_TYPE_CD)........................................................... 10-39
Interest Type Code (INT_TYPE)............................................................................................. 10-40
Interest Rate Code (INTEREST_RATE_CD) ......................................................................... 10-42
Issue Date (ISSUE_DATE) ....................................................................................................... 10-43
Last Payment Date (LAST_PAYMENT_DATE)................................................................... 10-44

xx
Last Repricing Date (LAST_REPRICE_DATE) .................................................................... 10-45
Last Reprice Date Balance (LRD_BALANCE)...................................................................... 10-47
Margin (MARGIN) ................................................................................................................... 10-48
Market Value (MARKET_VALUE_C) ................................................................................... 10-49
Matched Spread (MATCHED_SPREAD_C)......................................................................... 10-50
Maturity Date (MATURITY_DATE)...................................................................................... 10-52
Negative Amortization Amount (NEG_AMRT_AMT) ...................................................... 10-54
Negative Amortization Equalization Date (NEG_AMRT_EQ_DATE) ............................ 10-56
Negative Amortization Equalization Frequency (NEG_AMRT_EQ_FREQ)................... 10-57
Negative Amortization Equalization Frequency Multiplier (NEG_AMRT_EQ_MULT) ...........
10-58
Negative Amortization Limit (NEG_AMRT_LIMIT).......................................................... 10-58
Net Margin Code (NET_MARGIN_CD) ............................................................................... 10-59
Next Payment Date (NEXT_PAYMENT_DATE)................................................................. 10-61
Next Repricing Date (NEXT_REPRICE_DATE) .................................................................. 10-64
Original Market Value (ORG_MARKET_VALUE) ............................................................. 10-66
Original Payment Amount (ORG_PAYMENT_AMT)........................................................ 10-66
Original Par Balance (ORG_PAR_BAL) ................................................................................ 10-69
Original Term (ORG_TERM) .................................................................................................. 10-70
Original Term Multiplier (ORG_TERM_MULT) ................................................................. 10-71
Origination Date (ORIGINATION_DATE) .......................................................................... 10-72
Payment Adjustment Date (PMT_ADJUST_DATE) ........................................................... 10-74
Payment Change Frequency (PMT_CHG_FREQ) ............................................................... 10-75
Payment Change Frequency Multiplier (PMT_CHG_FREQ_MULT) .............................. 10-76
Payment Decrease Limit - Cycle (PMT_DECR_CYCLE) .................................................... 10-77
Payment Decrease Limit - Life (PMT_DECR_LIFE)............................................................ 10-78
Payment Frequency (PMT_FREQ) ......................................................................................... 10-79
Payment Frequency Multiplier (PMT_FREQ_MULT) ........................................................ 10-83
Payment Increase Limit - Cycle (PMT_INCR_CYCLE) ...................................................... 10-83
Payment Increase Limit - Life (PMT_INCR_LIFE) .............................................................. 10-84
Percent Sold (PERCENT_SOLD) ............................................................................................ 10-86
Prior Transfer Pricing Period Average Daily Balance (PRIOR_TP_PER_ADB).............. 10-87
Rate Cap Life (RATE_CAP_LIFE) .......................................................................................... 10-88
Rate Change Minimum (RATE_CHG_MIN)........................................................................ 10-89
Rate Change Rounding Code (RATE_CHG_RND_CD)..................................................... 10-91
Rate Change Rounding Factor (RATE_CHG_RND_FAC) ................................................. 10-92

xxi
Rate Decrease Limit - Cycle (RATE_DECR_CYCLE) .......................................................... 10-94
Rate Floor Life (RATE_FLOOR_LIFE)................................................................................... 10-95
Rate Increase Limit - Cycle (RATE_INCR_CYCLE) ............................................................ 10-96
Rate Set Lag (RATE_SET_LAG) ............................................................................................. 10-98
Rate Set Lag Multiplier (RATE_SET_LAG_MULT)........................................................... 10-100
Remaining Number of Payments (REMAIN_NO_PMTS_C)........................................... 10-100
Repricing Frequency (REPRICE_FREQ) ............................................................................. 10-102
Repricing Frequency Multiplier (REPRICE_FREQ_MULT)............................................. 10-104
Teaser-rate End Date (TEASER_END_DATE) ................................................................... 10-104
Transfer Rate Interest Rate Code (T_RATE_INT_RATE_CD) ......................................... 10-105
Transfer Rate Margin (MARGIN_T_RATE) ....................................................................... 10-106
Transfer Rate (TRANSFER_RATE) ...................................................................................... 10-107
Transfer Rate Remaining Term (TRAN_RATE_REM_TERM)......................................... 10-108

11 Distributed Originations
New Business from Rollover .......................................................................................................... 11-2
New Originations ............................................................................................................................. 11-2
Rollover Accounts............................................................................................................................. 11-5
Current Target Average Approach ................................................................................................. 11-7
Rolling between Accounts .............................................................................................................. 11-9
Procedures for Implementation ..................................................................................................... 11-9

12 Transfer Pricing Option Cost


Architecture of the Calculations .................................................................................................... 12-2
Definitions.................................................................................................................................... 12-2
Example........................................................................................................................................ 12-3
Process Flow ................................................................................................................................ 12-6
Calculate Forward Rates............................................................................................................ 12-7
Calculate Static Spread............................................................................................................... 12-7
Calculate OAS ............................................................................................................................. 12-8
Theory ................................................................................................................................................. 12-9
Equivalence of the OAS and Risk-Adjusted Margin ........................................................... 12-10
Equivalence of the Static Spread and Margin....................................................................... 12-15
Model Usage Hints ......................................................................................................................... 12-17
Non-Unicity of the Static Spread............................................................................................ 12-17

xxii
Accuracy .................................................................................................................................... 12-17

13 Rate Conversion
Definitions ......................................................................................................................................... 13-1
Rate Format Usage ............................................................................................................................ 13-5
Scenario-based Forecast Rates .................................................................................................. 13-5
Structured Change .............................................................................................................. 13-5
User Input............................................................................................................................. 13-5
Change From Base............................................................................................................... 13-5
Implied Forward.................................................................................................................. 13-6
Derivation of Exchange Rate Forecasts ................................................................................... 13-6
Scenario-based Market Value Calculations ............................................................................ 13-6
Monte Carlo Rate Path Generation .......................................................................................... 13-6
Rate Index Calculation from Monte Carlo Rate Paths .......................................................... 13-7
Transfer Pricing........................................................................................................................... 13-7
Non Cash Flow Methods.................................................................................................... 13-7
Cash Flow Methods ............................................................................................................ 13-7
Weighted Average Term ............................................................................................. 13-7
Duration......................................................................................................................... 13-7
Zero Coupon ................................................................................................................. 13-8
Rate Conversion Algorithms .......................................................................................................... 13-8
Conversion From Yield-to-Maturity to Zero-Coupon Yield ................................................ 13-8
Conversion From Zero-Coupon Yield to Yield-to-Maturity ................................................ 13-8

14 Forecast Rate Calculations


Currency Forecasting........................................................................................................................ 14-1
Structured Change...................................................................................................................... 14-2
Parity ............................................................................................................................................ 14-4
Forward........................................................................................................................................ 14-7
Interest Rate Forecasting ................................................................................................................. 14-8
Structured Change...................................................................................................................... 14-9
Implied Forward......................................................................................................................... 14-9
Change From Base.................................................................................................................... 14-10

xxiii
15 Monte Carlo Analytics
Overview ............................................................................................................................................ 15-3
Architecture of the Rate Generator................................................................................................ 15-4
Computation of Rates and Stochastic Discount Factors ....................................................... 15-5
Arbitrage Term Structure Model.................................................................................................... 15-5
No-Arbitrage Term Structure Models ........................................................................................... 15-6
Yield Curve Smoothing.................................................................................................................... 15-7
Calibration.......................................................................................................................................... 15-8
Random Number Generation ......................................................................................................... 15-8
Low Discrepancy Sequences ..................................................................................................... 15-9
Rate Conversion ................................................................................................................................ 15-9
Timescale Conversion ................................................................................................................ 15-9
Compounding Basis Conversion............................................................................................ 15-10
Output from Monte Carlo ............................................................................................................. 15-11
VaR Output Including Liabilities ........................................................................................... 15-14
An Example: Product Versus Balance Sheet Level Results ......................................... 15-14
Validating Interpretation.................................................................................................. 15-18
Value-at-Risk.................................................................................................................................... 15-20
Present Value-at-Risk ............................................................................................................... 15-20
Varying the At-Risk Period ........................................................................................................... 15-22
Earnings-At-Risk............................................................................................................................. 15-23
Recommended Configuration ...................................................................................................... 15-24
Term Structure Models .................................................................................................................. 15-25
Merton Model............................................................................................................................ 15-25
Ho and Lee Model .................................................................................................................... 15-26
Vasicek Model ........................................................................................................................... 15-26
Extended Vasicek (Hull and White) Model .......................................................................... 15-28
Term Structure Parameters Format .............................................................................................. 15-29
Estimating Term Structure Parameters ................................................................................. 15-31
Traditional Academic Approach..................................................................................... 15-31
Volatility Curve Approach............................................................................................... 15-32
Advanced Historical Volatility Approach ..................................................................... 15-33
Single-Day Yield Curve Fitting ....................................................................................... 15-34
The Best Approach ............................................................................................................ 15-35
Choosing a Smoothing Method ................................................................................................... 15-36

xxiv
Cubic Spline of Yields .............................................................................................................. 15-37
Linear Interpolation ................................................................................................................. 15-38
Defining a Rate Index Formula.................................................................................................... 15-38
General Case.............................................................................................................................. 15-39
Formula for a Coupon Rate..................................................................................................... 15-39
Computation of Duration and Convexity............................................................................. 15-42
References ........................................................................................................................................ 15-43

16 Oracle Risk Manager Financial Elements


Accumulation Methods ................................................................................................................... 16-2
Average Method.................................................................................................................. 16-2
Accrual Method ................................................................................................................... 16-2
Sum Method......................................................................................................................... 16-3
At First Method.................................................................................................................... 16-3
At Last Method .................................................................................................................... 16-3
Financial Element Listed by Description..................................................................................... 16-4
Financial Elements Listed by Number ......................................................................................... 16-8
Element Type - Cash Flow Financial Elements: Non-Maturity Accounts ........................... 16-12
Element Type - Cash Flow: Income Statement Accounts........................................................ 16-13
Element Type - Cash Flow: Simple Accounts............................................................................ 16-13
Element Type - Gap ........................................................................................................................ 16-14
Element Type - Market Value ....................................................................................................... 16-15
Financial Element Output by Account Type ............................................................................. 16-16
Financial Element Calculations ................................................................................................... 16-21
Translation Methods for Financial Elements ............................................................................ 16-24

A Insurance Data Model


Property Casualty Insurance............................................................................................................. A-3
Home Policies................................................................................................................................ A-3
Table: HOMES_DETAIL ...................................................................................................... A-4
Table: HOME_CLAIMS........................................................................................................ A-8
Table: HOME_COVERAGES_ENDORSEMENTS ........................................................... A-9
Table: HOME_CVRG_ENDRSMNT_CLAIMS ............................................................... A-11
Table: HOME_CVRG_ENDRSMNT_DED ...................................................................... A-12
Table: HOME_CVRG_ENDRSMNT_DISC ..................................................................... A-13

xxv
Table: HOME_CVRG_ENDRSMNT_SURCH ................................................................. A-13
Table: HOME_POLICIES.................................................................................................... A-13
Table: HOME_POLICY_DEDUCTIBLES ......................................................................... A-16
Table: HOME_POLICY_DISCOUNTS ............................................................................. A-16
Table: HOME_POLICY_SURCHARGES ......................................................................... A-16
Vehicle Policies............................................................................................................................ A-17
Table: PL_VEHICLE_CLAIMS .......................................................................................... A-18
Table: PL_VEHICLE_COVERAGES ................................................................................. A-19
Table: PL_VEHICLE_DISCOUNTS .................................................................................. A-21
Table: PL_VEHICLE_OPERATORS_POLICIES.............................................................. A-21
Table: PL_VEHICLE_POLICIES........................................................................................ A-21
Table: PL_VEHICLE_SURCHARGES .............................................................................. A-24
Table: VEHICLES_DETAIL................................................................................................ A-24
Table: VEHICLE_OPERATORS ........................................................................................ A-26
Table: VEHICLE_OWNERS ............................................................................................... A-28
Table: VEH_OPERATOR_ACCIDENT_HIST ................................................................. A-28
Table: VEH_OPERATOR_CITATION_HIST .................................................................. A-29
Floater and Umbrella Policies ................................................................................................... A-30
Table: PL_FLOATER_ARTICLES...................................................................................... A-31
Table: PL_FLOATER_CLAIMS ......................................................................................... A-33
Table: PL_FLOATER_DISCOUNTS ................................................................................. A-34
Table: PL_FLOATER_POLICIES ....................................................................................... A-34
Table: UMBRELLA_CLAIMS ............................................................................................ A-37
Table: UMBRELLA_POLICIES.......................................................................................... A-38
Table: UMBRELLA_UNDERLYING_POLICIES ............................................................ A-41
Life Insurance .................................................................................................................................... A-42
Term Life Policies ....................................................................................................................... A-42
Table: GROUP_TERM_LIFE_POLICIES .......................................................................... A-43
Table: TERM_LIFE_COVERAGES.................................................................................... A-45
Table: TERM_LIFE_COVERAGE_OPTIONS .................................................................. A-48
Table: TERM_LIFE_OPTIONS_SUMMARY ................................................................... A-51
Table: TERM_LIFE_POLICIES .......................................................................................... A-52
Whole/Universal Life Policies.................................................................................................. A-56
Table: GROUP_WHOLE_UL_POLICIES ......................................................................... A-57
Table: WHOLE_UL_COVERAGES................................................................................... A-60

xxvi
Table: WHOLE_UL_COVERAGE_OPTIONS................................................................. A-65
Table: WHOLE_UL_INVESTMENTS............................................................................... A-68
Table: WHOLE_UL_INVEST_SUB_ACCOUNTS .......................................................... A-68
Table: WHOLE_UL_LIFE_POLICIES............................................................................... A-69
Table: WHOLE_UL_LOANS ............................................................................................. A-76
Table: WHOLE_UL_OPTIONS_SUMMARY .................................................................. A-77
Life Insurance Participants........................................................................................................ A-79
Table: CRIMINAL_CONVICTIONS................................................................................. A-80
Table: DRIVER_VIOLATIONS.......................................................................................... A-80
Table: FAMILY_ILLNESSES.............................................................................................. A-80
Table: LIFESTYLE_ACTIVITIES ....................................................................................... A-81
Table: LIFE_PARTICIPANTS ............................................................................................ A-81
Table: LIFE_PARTICIPANTS_POLICIES ........................................................................ A-84
Table: MEDICAL_CONDITIONS ..................................................................................... A-85
Table: MEDICAL_PREVENTIONS................................................................................... A-85
Table: MEDICAL_TREATMENTS.................................................................................... A-85
Table: RACING_COMPETITIONS ................................................................................... A-86
Table: SUBSTANCE_USAGES .......................................................................................... A-86

Glossary

Index

xxvii
xxviii
Send Us Your Comments
Oracle Financial Services Technical Reference Manual, Release 4.5
Part No. A87511-01

Oracle Corporation welcomes your comments and suggestions on the quality and usefulness of this
publication. Your input is an important part of the information used for revision.
■ Did you find any errors?
■ Is the information clearly presented?
■ Do you need more information? If so, where?
■ Are the examples correct? Do you need more examples?
■ What features did you like most about this manual?

If you find any errors or have any other suggestions for improvement, please indicate the chapter,
section, and page number (if available). You can send comments to us in the following ways:
■ Electronic mail - fsdocmail@us.oracle.com
■ FAX -
■ Postal service:
If you would like a reply, please give your name, address, and telephone number below.

If you have problems with the software, please contact your local Oracle Support Services.

xxix
xxx
Preface

The Oracle Financial Services Applications Technical Reference Manual provides


information needed to understand the underlying structure, processing, and use of
Oracle Financial Services Applications (OFSA).
This manual is divided into two volumes:
■ Volume 1 emphasizes the OFSA system and individual products and provides
information on database design, product processing, and technical integration
with other tools.
■ Volume 2 emphasizes business analysis and provides information on analytical
concepts, processes, and calculations.
This manual also contains an appendix and a glossary.
This preface describes the following information about the manual:
■ Intended Audience
■ Prerequisites
■ Organization
■ Related Documents
■ Conventions
■ How to Use This Manuall
■ How Not to Use This Manual
■ Customer Support Information

xxxi
Intended Audience
The Oracle Financial Services Applications Technical Reference Manual provides useful
guidance and assistance to:
■ Technical end users
■ Consultants
■ DBAs
■ Systems Analysts
■ System Administrators
■ Other MIS professionals

Prerequisites
Volume 1 assumes that the user has a basic understanding of:
■ The OFSA suite of products
■ Structured analysis and design of relational databases
Volume 2 assumes that the user has a basic understanding of:
■ The Oracle Financial Services Applications suite of products, particularly Oracle
Risk Manager and Oracle Transfer Pricing
■ Associated analytic theory and concepts

xxxii
Organization
The Oracle Financial Services Applications Technical Reference Manual contains the
following volumes, chapters, appendix, and glossary:

Volume 1 OFSA System and Products


Volume 1 of the Oracle Financial Services Applications Technical Reference Manual
emphasizes the Oracle Financial Services Applications (OFSA) system and
individual products. This part provides information on database design, product
processing, and technical integration with other tools.

Chapter 1, High-Level Design This chapter presents a high-level design for OFSA.
The chapter contains a description of each product within the OFSA suite, database
diagrams for each OFSA functional area and lists of database tables and views.

Chapter 2, Detail Design This chapter presents detailed information about the
underlying database structure and processes of the OFSA suite of products. This
chapter provides a thorough explanation of how the tables included in this chapter
function, what they contain and how the OFSA products use these tables to hold
and access information.

Chapter 3, Process Flow This chapter presents a process flow description for
each of the OFSA Knowledge Engines, including Allocation, Data Correction,
Market Manager, Risk Manager, Transfer Pricing and Transformation.

Chapter 4, Oracle Budgeting & Planning Data Transformation This chapter


describes the data transformation routines for Budgeting & Planning. It shows how
they automate the task of moving information from the Oracle Financial Data
Manager (FDM) relational environment (RDBMS) into the multidimensional
Budgeting & Planning/Oracle Financial Analyzer (Budgeting & Planning/OFA)
environment.

Chapter 5, Batch/Scheduling Tool Kit This chapter provides detailed, technical


information about the interaction between the database and the OFSA Knowledge
Engines.

Chapter 6, Boundaries and Limitations This chapter lists boundaries and


limitations imposed on the database, interface and processing routines of the OFSA
suite. This list includes specific OFSA products, where limitations are applicable, as
well as report, common dialog and configuration considerations for the database.

xxxiii
Volume 2 OFSA Analytics
Volume 2 of the Oracle Financial Services Technical Reference Manual emphasizes
business analysis and provides definitions, analytical concepts, processes, and
calculations used in the processing of the Oracle Risk Manager and Oracle Transfer
Pricing products.

Chapter 7 Consolidation of Results This chapter describes the Consolidation of


Results feature, which is designed to combine the results set from multiple
processing runs.

Chapter 8 Detail Cash Flow Audit Options This chapter describes the Detail Cash
Flow Audit Options, which enable you to view daily cash flow results.

Chapter 9 Cash Flow Calculations This chapter describes the OFSA cash flow
engine, which ensures modeling consistency across OFSA products, and the
calculations it performs.

Chapter 10 Cash Flow Dictionary This chapter includes a list of columns required
for cash flow processing and a list of columns required to run OFSA cash flow edits.

Chapter 11 Distributed Originations This chapter describes how new business


instruments are generated as part of an Oracle Risk Manager or Budgeting &
Planning forecast to replace balances that have run off for a particular product.

Chapter 12 Transfer Pricing Option Cost This chapter describes the option cost
calculations implemented in Oracle Transfer Pricing, including theoretical overview,
the mathematical details of the calculations, and examples.

Chapter 13 Rate Conversion This chapter: defines interest rate formats used
within Risk Manager and Transfer Pricing; describes which format is used in a
particular process and what type or types of conversion are used; and outlines the
algorithms used for such conversions.

Chapter 14 Forecast Rate Calculations This chapter defines forecast assumptions


for currency exchange rates and interest rates within the Risk Manager Forecast
Rates ID.

xxxiv
Chapter 15 Monte Carlo Analytical This chapter describes the details of stochastic
processing used within Risk Manager and Transfer Pricing. This includes the
detailed architecture of the Monte Carlo rate generator that is used for stochastic
forecasts of interest rates and calculation of market value, Value_at- Risk, and
Earnings-at-Risk.

Chapter 16 Oracle Risk Manager Financial Elements This chapter contains the
descriptions and calculation details of Financial Elements used in Risk Manager
processing.

Appendix A, Insurance Data Model This appendix chapter describes the


Property/Casualty and Life Insurance Data models for insurance profitability and
reporting solutions.

Glossary The glossary defines technical names used in the Oracle Financial Services
Technical Reference Manual.

Related Documents
For more information about using OFSA, see the following related documents:
■ Oracle Financial Data Manager Administration Guide
■ Oracle Financial Data Manager Data Dictionary
■ Oracle Financial Services Installation and Configuration Guide

xxxv
Conventions
The Oracle Financial Services Applications Technical Reference Manual uses the
following text and font characteristics:

Upper case text Used to denote table names. For example, OFSA_TABLES
connected by table or OFSA_PROCESS_ERRORS table.
underscores
Lower case text This convention is used to designate column names within a
connected by table. Examples of this convention include tp_hrates_sys_id
underscores and transfer_rate.

Symbols
■ Bullets indicate a list of items or topics.
1. Numbered lists are used for sequential steps in completing a procedure.

Notes, Cautions, and Warnings


Certain information may be set off in boxes for purposes of emphasis:
■ Note refers to interesting but incidental information about the product or
information that may be important but of lesser degree than a Caution or
Warning.
■ Caution indicates the possibility of damage to a product, system, or data.
■ Warning refers to a situation that is potentially hazardous to people.

How to Use This Manual


The Oracle Financial Services Applications Technical Reference Manual is a single,
centralized source of information about the underlying structure and processing of
OFSA. The information provided in this manual can assist you in the understanding
and implementation of OFSA features and functions, as well as the integration of
OFSA with other tools.

xxxvi
For example, the Oracle Financial Services Applications Technical Reference Manual can
help you:
■ Incorporate additional account instrument data
■ Create custom reports and queries
■ Integrate OFSA with other product systems
■ Integrate additional tools for use with OFSA
Here are several examples of how the this manual can be used:

Example #1
Suppose your institution has merged with a separate financial institution and you
need to incorporate new instrument account data into your FDM database. The
database diagrams and table/column detail provided in this manual can be used to
help define the data requirements and any database objects needed for the new
accounts. If the instrument requires cash flow processing, appropriate defaults for
the OFSA cash flow columns can be researched using the Cash Flow Column
Definitions in Chapter 2, "Detail Design". Also, additional OFSA metadata
requirements can be evaluated using the information provided about OFSA System
tables in Chapter 2, "Detail Design".

Example #2
Suppose you want to automate the input of interest rate and yield curve data into
the FDM database. By referencing the Rates database diagram, you can identify the
tables required to load rate data. You can then use the individual table descriptions
provided in Chapter 2, "Detail Design" to define the formatting and data
requirements for loading the rate data outside of the OFSA interface.

Example #3
Suppose you are troubleshooting an OFSA Allocation process. By referencing the
Allocation Process Flow diagram in Chapter 3, "Process Flow", you can identify the
major steps in the process. The Process Description section then provides further
information about each processing step. Any of the tables included in Chapter 2,
"Detail Design" can then be referenced for more detailed information about how
OFSA stores the data.

xxxvii
How Not to Use This Manual
Do not use this manual to plan modifications to OFSA tables.
Except for instrument tables and tables that you create for your database
(user-defined tables), the structure of the tables in the FDM database should not be
altered in any way. Modifying FDM Reserved Objects limits your ability to upgrade
to future releases of OFSA. In addition, altering such tables could interfere with
problem resolution and assistance from Oracle Support Services.
The OFSA suite of products has been constructed to provide for user customization
without altering any of the FDM Reserved Objects. To satisfy your business needs,
Oracle Financial Data Manager (FDM) Administration provides the functionality
needed to register customized instrument tables and other user-defined objects for
use with the OFSA suite.

Do not rely on upward compatibility of the data model.


Oracle reserves the right to change the structure of the FDM tables and to change
the meaning of, add, or delete codes and other data in future releases. Upward
compatibility of the data model is not guaranteed. For example, if you create a
report to display metadata information about the FDM database by querying the
FDM Metadata tables, you are not guaranteed that the report will work properly
after an upgrade.

Customer Support Information


Product support is available through Oracle Support Services. Contact your project
manager for information about using the support options offered in your
geographic region. These options may include the following:
■ MetaLink (which provides online access to information about Technical
Libraries, Patches, TARs, and Bugs and is available at metalink.oracle.com)
■ Telephone support

xxxviii
1
High-Level Design

This chapter presents a high-level design for Oracle Financial Services Applications
(OFSA). It contains a description of each product within the OFSA suite, database
diagrams for each OFSA functional area and lists of database tables and views.

Overview of the High-Level Design


This chapter provides summary information about the Oracle Financial Data
Manager (FDM) database. Use this chapter to quickly acquaint yourself with the
tables and functional areas that compose the OFSA product suite and database. You
can find additional information about each of these components in Chapter 2,
"Detail Design".

OFSA Data Mart


The OFSA Data Mart Overview describes the architecture of the OFSA Data Mart.
Included in this section is a diagram illustrating the key components comprising the
OFSA Data Mart and their relationships.

OFSA Product
The OFSA Product Overview section provides a brief description of each of the
individual products of the OFSA suite.

Summary Database Diagram


The Summary Database Diagram section graphically represents the most important
application tables and the relationships between them. It omits tables and
relationships that contribute little to the understanding of the application data
model. Typically, a summary database diagram shows tables that contain key
reference and transaction data.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-1


Overview of the High-Level Design

Database Diagrams
This section graphically represents all OFSA tables and the relationships between
them, organized by functional area. Use this section to quickly learn what tables
each OFSA functional area uses and how these tables interrelate. The table section
of Chapter 2, "Detail Design" contains detailed information about each of these
tables.
A database diagram for each application has been included in this section. These
diagrams contain tables that are specific to the designated application. In addition,
database diagrams have also been included for OFSA common functional areas.
These are functions that are used commonly within several of the individual
applications. In both cases tables may overlap.
The functional areas are identified in the following table as either Common or
Application:

OFSA Product Functional Area Type


Budgeting & Planning Application
Collateral Common
FDM Metadata Common
FDM Security Common
Hierarchies and Leaves Common
Instruments Common
Performance Analyzer Application
FDM Rate Manager Application
Risk Manager Application
Transfer Pricing Application
Transformation Processing Common

Table List
The Table List section briefly describes each of the OFSA tables. Refer to Chapter 2,
"Detail Design" for more detailed information about these tables.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-2 Oracle Financial Services Technical Reference Manual


Oracle Financial Services Overview

Oracle Financial Services Overview


The Oracle Financial Data Manager is the foundation of the Oracle Financial
Services Applications (OFSA) suite of products. Each of the components of the
OFSA suite of products is described below:

Oracle Financial Oracle Financial


Oracle Financial Oracle Financial
Data Manager Data Manager/
Data Manager Data Manager
Balance & Discoverer
Administration Rate Manager
Control Integrator

Oracle
BP Data
Oracle Movement Routines
Budgeting &
BP Express
Financial Data Planning
Database
Manager

Oracle
Oracle Transfer Oracle Risk
Performance
Pricing Manager
Analyzer

Oracle Budgeting & Planning


Oracle Budgeting & Planning is a comprehensive budgeting and planning tool that
is simple to use yet offers the modeling complexity required for accurate
forecasting. It uses detailed account-level information to enable sophisticated
cash-flow based planning. Data from the Financial Data Manager is transferred to
the Budgeting & Planning Express database by way of the BP Data Movement
Routines. Cash flow data produced from Oracle Risk Manager can be loaded into

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-3


Oracle Financial Services Overview

the budgeting model and used for forecasting. Actual data, including cost and other
allocations developed by Oracle Performance Analyzer, is integrated with forecast
data to support comparisons of plans versus actual data.

Oracle Financial Data Manager


The Oracle Financial Data Manager consists of the following components:
■ Financial Data Model
■ FDM Data Mart
■ FDM Standard Reports
■ Oracle Balance & Control
■ Oracle Discoverer Integrator
■ Oracle Financial Data Manager Administration
■ FDM Rate Manager

Financial Data Model


The Financial Data Model contains an extensive set of data elements, including
account, processing results, transaction and statistical, relationship, ledger and
historical data. While the data model is designed to support Oracle’s analytical
applications, it also supports free-form access by SQL-based reporting and analysis
tools from other software vendors.

FDM Data Mart


The FDM Data Mart is a centrally located and centrally administered store of an
institution’s data from many different data sources. The FDM Data Mart comprises
a Processing Data Mart and a Reporting Data Mart.
While information from the Processing Data Mart can be directly queried and
accessed, the efficiency of such access can be improved by transforming the data

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-4 Oracle Financial Services Technical Reference Manual


Oracle Financial Services Overview

into the Reporting Data Mart structure. The diagram below graphically illustrates
this architecture:

FDM Data Mart

Operational Extracts FDM Transformations FDM


Systems Process Mart Report Mart

Loading and Query


Saving Data Generation

Information
OFSA Processing
Access Tools

The following sections describe the components of the FDM Data Mart in the order
that they appear in the diagram.

Operational Systems
These systems run the institution’s actual core business. Generally an institution has
a specific operational system for each of its main areas of business such as
Mortgages, Deposits, Credit Cards and so forth. Each of these operational systems
uses a data store containing information specific to its function.

Extracts
The data for the FDM database is obtained from the operational systems. It is the
purpose of the extract process to generate extracted files from the various
operational systems and to load these files into the FDM database.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-5


Oracle Financial Services Overview

FDM Processing Data Mart


The FDM Processing Data Mart is a centrally located and centrally administered
store of an institution’s data from many different data sources. It is designed to
support a wide range of analysis from a single, unified source. It contains an
extensive set of data elements, including account data, transaction and statistical
data, customer and household data, ledger data, processing results and historical
data. The data model is extendible, including a flexible schema for the management
of historical and aggregated data. While the database is designed to support the
analytical modules of the OFSA suite, it also supports free-form access by other
SQL-compatible software tools.

Loading and Saving Data


This is the process of loading data into the OFSA Knowledge Engines for processing
and then saving the data back to the database after the processing is complete.

OFSA Processing
Based on assumptions set by the user, the Knowledge Engines use data in the FDM
Processing Data Mart to create additional, value-added information. This group of
engines is the core of the OFSA solution. See Chapter 3, "Process Flow" for detailed
information on the OFSA Knowledge Engines.

Transformations
The structure of the FDM Processing Data Mart is optimized for the processing that
the suite performs. However, because most information access tools require a
different data structure from that used by the FDM Processing Data Mart, the data
can be transformed to a structure that is compatible with a variety of information
access tools.
This process creates a logically separate data store for reporting. Although in most
cases, the same physical database contains both the new data store and the original
FDM Processing Data Mart, they could conceptually be stored in separate physical
databases.

Query Generation
The process of generating reports or performing analysis on data requires the data
to be “pulled” out of the database into whatever tool is performing the query.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-6 Oracle Financial Services Technical Reference Manual


Oracle Financial Services Overview

FDM Reporting Data Mart


The FDM Reporting Data Mart is a collection of tables that store the FDM data in
structures that are optimized for Information Access tools. This is logically a
separate collection of structures from the FDM Processing Data Mart, although both
typically reside in the same physical database. The Reporting Data Mart enables
end users to access and report on the data in the FDM database in a manner
consistent with their business needs.
The FDM Report Data Mart functionality is provided by the following Oracle
products:
■ Oracle Discoverer
■ Oracle Express
■ Oracle Portfolio Analyzer
■ Oracle Reports
These products provide the ability to transform data from the FDM Process Mart
structure to a format optimized for end-user access utilizing various Information
Access tools. Because each of the Reporting Data Mart products approach data
access from a different perspective, they are generally combined to provide a
complete information access solution
Each of these reporting products are described below.

Oracle Discoverer
Oracle Discoverer is part of Oracle’s suite of decision support tools. It is an intuitive
ad hoc query, reporting, exploration and web publishing tool that enables business
users at all levels of the organization to gain immediate access to information from
relational database warehouses, data marts or online transaction processing
systems. Discoverer is a ROLAP (Relational Online Analytical Processing) tool,
operating directly against a relational database.

Oracle Express
Oracle Express delivers online analytical processing with advanced
decision-support capabilities that include forecasting, what-if scenarios and
financial modeling. In addition to analysis, the server supports graphics,
communications, database management and data acquisition, especially the
acquisition of relational data.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-7


Oracle Financial Services Overview

Oracle Portfolio Analyzer


Oracle Portfolio Analyzer is a product in the OFSA product suite. It is a powerful ad
hoc query and analysis tool for complex reporting needs. This product brings the
user close to the data and facilitates an easy-to-use view of the database, without
requiring knowledge of structured query language (SQL). The product is designed
to leverage the Oracle data and business process structures, such as dimensional
hierarchies and query structures and meets the needs of sophisticated analysts
managing the Oracle core analytical applications.

Oracle Reports
Oracle Reports provides a multi-tiered deployment environment with the ability to
centralize report execution in a manageable, scalable architecture. Report data is
dynamically displayed in the user’s web browser, providing the availability of
up-to-the-minute reports from anywhere on your intranet, extranet or even the
internet. For global enterprise reporting, Oracle Reports includes Translation
Builder, which enables reports to be translated into one of 40 supported languages
from any other.

FDM Standard Reports


Standard Reports for the OFSA applications are available for both Oracle Discoverer
and Oracle Reports. These reports represent a wide range of capabilities of either
product, and provide typical reporting needs of financial organizations. You can
customize these reports or use them as starting points for your reporting needs.

Oracle Balance & Control


Balance & Control validates, corrects, and aggregates data from the FDM.

Discoverer Integrator
Discoverer Integrator integrates the FDM database with Oracle Discoverer, which
provides ad hoc reporting, analysis, and Web publishing capabilities.

Oracle Financial Data Manager Administration


Financial Data Manager Administration manages the FDM database, providing
both security and object management capabilities.
FDM Administration provides a comprehensive security framework for
administering all aspects of security for the FDM environment. This includes
management of both database and application privileges for all of the individual

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-8 Oracle Financial Services Technical Reference Manual


Oracle Financial Services Overview

OFSA applications that attach to the FDM database, as well as privileges for
reporting and ad-hoc query access.
FDM Administration also provides functionality for managing the FDM Metadata.
The object management functionality in FDM Administration enables you to
customize and extend the FDM database for your specific business needs.

Oracle Financial Data Manager Rate Manager


Oracle Financial Data Manager (FDM) Rate Manager manages interest rate,
exchange rate, and currency information for the FDM.

Oracle Performance Analyzer


Oracle Performance Analyzer links ledger, statistical and account-level data to
develop comprehensive profitability information at the customer, product and
business unit levels. This product supports multiple approaches to the development
of costing and other allocations, risk-adjusted capital allocation, risk-adjusted
performance and the production of measures such as RAROC (Risk Adjusted
Return on Capital), EVA (Economic Value Added) and activity-based costing.
Allocations can be applied to ledger and summary results tables, as well as
individually to accounts, customers and transactions.

Oracle Risk Manager


Oracle Risk Manager is an asset liability management model that employs
account-level data to support structured interest rate risk analysis, balance sheet
forecasting and market valuation. Every loan, deposit, investment and portfolio
security can be measured and modeled individually, using both deterministic and
stochastic methods. Oracle Risk Manager makes use of the results delivered by
Oracle Transfer Pricing.

Oracle Transfer Pricing


Based on the same powerful cash flow modeling engine as Oracle Risk Manager,
Oracle Transfer Pricing supports the industry’s most comprehensive range of
transfer pricing methodologies, including the ability to handle components of
transfer rates, such as liquidity and basis risk. It helps managers determine the
account-level spread earned on assets and liabilities and the spread earned as a
result of interest rate risk exposure. Results and methodologies are also integrated
with Oracle Risk Manager and Oracle Budgeting & Planning.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-9


Database Diagram Conventions

Database Diagram Conventions


The following notational conventions are used for the FDM database diagrams.

Relationships

Non-identifying relationship

Identifying relationship (primary key of parent table


is contained in the child table)

Objects

LEAF_DESC

Table

INSTRUMENTS Group of tables related by function

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-10 Oracle Financial Services Technical Reference Manual


Database Diagram Conventions

Types of Relationships

A B
For each row in Table A there are 0 or 1
matching rows in Table B. For each row in
Table B there is exactly 1matching row in Table
A.

A B
For each row in Table A there are 0, 1 or many
matching rows in Table B. For each row in
Table B there is exactly 1 matching row in
Table A.

A B For each row in Table A there are 0, 1 or many


matching rows in Table B. For each row in
Table B there are 0, 1 or many matching rows
in Table A..

A
For each row in Table A there are 0, 1 or many
matching rows in one or more tables within
Group B. For one or more tables in Group B,
INSTRUMENTS
there are many matching rows for a single row
in Table A.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-11


Summary Database Diagram

Summary Database Diagram


The Summary database diagram graphically represents the most important FDM
tables and groups of tables, and the relationships between them. It describes, at a
conceptual level, the key information on which the OFSA suite depends.

PERFORMANCE
RATE MANAGER FDM SYSTEM
ANALYZER

TRANSFORMATION
PROCESSING FDM SECURITY

TRANSFER PRICING

LEAVES AND
HIERARCHIES

Reporting Data Mart LEDGER_STAT

RISK MANAGER
RESULTS

Accounts

Services Instruments
CODES AND
CUSTOMER
DESCRIPTIONS

Transactions Reconciliation

COLLATERAL

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-12 Oracle Financial Services Technical Reference Manual


Summary Database Diagram

The Summary database diagram is meant to convey logical connections between the
major functional areas within the FDM database. This diagram does not represent
the complete database implementation of FDM tables. Rather, it shows groups of
tables that contain key reference and transaction data and omits tables and
relationships that contribute little to the understanding of the FDM data model. For
example, a foreign key relationship shown between two groups of tables may exist
only between a single table in each group.
For a complete graphical representation of FDM tables and relationships between
them, see the Database Diagrams section in this chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-13


Database Diagrams

Database Diagrams
This section graphically represents OFSA tables, and the relationships between
them, organized by functional area. Use this section to learn which tables each
OFSA functional area uses and how these tables interrelate. Chapter 2, "Detail
Design" provides detailed information about each of these tables.

Note: Many tables are not displayed on these diagrams because


they are classified as Reserved.

Note: Code Base tables (’_CD’) and MLS Tables (’_MLS’) shown
on the diagrams are not always described in Chapter 2, "Detail
Design". Any such objects that are used only to provide code
descriptions, and have no attributes other than a short name and
long description, are not documented individually in this manual.
To obtain a list of valid codes and descriptions for these objects,
refer either to the Oracle Financial Services Data Dictionary, or
query the objects in the FDM database directly.

This section contains a database diagram for each of the following OFSA functional
areas:

Diagram Number Description


Diagram 1 Accounts
Diagram 2 Codes and Descriptions
Diagram 3a Collateral (Part One)
Diagram 3b Collateral (Part Two)
Diagram 4 Customer
Diagram 5 FDM Security
Diagram 6 FDM System
Diagram 7 Hierarchies and Leaves
Diagram 8 Messages

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-14 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram Number Description


Diagram 9 Performance Analyzer Results
Diagram 10 FDM Rate Manager
Diagram 11 Risk Manager Results
Diagram 12 Transfer Pricing Results
Diagram 13 Transformation Processing

Accounts
This diagram shows the tables and relationships for storing information about
financial accounts. Financial account information includes detailed account data
stored in the Instrument tables as well as that stored in any of the Services tables.
Transaction information for financial accounts is displayed on the diagram.
Multiple connections to the OFSA_LEAF_DESC table because each Instrument,
Service or Transaction table has multiple Leaf Columns.

Codes and Descriptions


This diagram shows examples of how the various Code and Description objects
relate to Instrument and Services tables. Because FDM provides for any number of
customized Code and Description objects, the entities on the diagram are
named’Code1’, ’Code2’ and ’CodeX’.
The diagram presents two examples of MLS enabled Code objects as well as a
non-MLS enabled Code object. The ’Code1’ and Code2’ objects are MLS enabled.
They are constructed according to the guidelines described in the Oracle Financial
Services Installation and Configuration Guide. The Language Compatible Views that
are part of the MLS implementation are not shown on the diagram.
The ’CodeX’ object is a non-MLS enabled Description table.

Collateral (Part One and Part Two)


The Collateral data model describes the tables that store information about
collateral used to secure financial accounts. FDM creates these tables during the
database upgrade and database creation processes. The collateral tables are
customizable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-15


Database Diagrams

Customer
This diagram shows the tables that provide Customer information. The CUST table
is the primary Customer table for the FDM Data Model. This table links to account
information in the FDM database either through the OFSA_INSTRUMENT_
ACCOUNT_CUST table or by way of the ACCT table.

FDM Security
This diagram shows the tables used to store data relating to Financial Data Manager
security. Data for these tables is maintained using the FDM Administration
application. All of the OFSA applications, except for Budgeting & Planning, access
the FDM Security tables in order to authenticate login and application privileges.
This information is separate from any information stored by the Oracle RDBMS in
the metadata catalogs.

FDM System
The FDM System tables are the tables that store metadata about the FDM database.
These objects store information about tables and views registered for the FDM
database.This information is separate from any information stored by the Oracle
RDBMS in the metadata catalogs.

Hierarchies and Leaves


This diagram shows the tables and relationships that store information for user
constructs defining the hierarchical relationship of leaf nodes. Hierarchies are
referred to as tree rollups in the OFSA suite. Organizational, Product, Ledger and
other user-defined hierarchies can be defined using tree rollups.

Messages
This diagram shows the tables used to store message and log information from
OFSA Knowledge Engine processing.

Performance Analyzer
This diagram shows the tables and relationships for results of Oracle Performance
Analyzer processing.

FDM Rate Manager


This diagram shows the tables and relationships for key tables used by the Oracle
Financial Data Manager (FDM) Rate Manager product. These tables store

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-16 Oracle Financial Services Technical Reference Manual


Database Diagrams

information about rates in the FDM database, including Interest Rates and
Exchange Rates.

Risk Manager Results Scenario Based


This diagram shows the tables and relationships used to store and generate the
results of scenario based Risk Manager processes.

Risk Manager Results Stochastic


This diagram shows the tables and relationships used to store and generate the
results of stochastic (Earnings at Risk and Value at Risk) Risk Manager processes.

Transfer Pricing Results


This diagram shows the tables and relationships for the results of Transfer Pricing
processing.

Transformation Processing
This diagram shows the tables and relationships used by the Oracle Transformation
processes. Because the Transformation functionality is used to create output tables,
this diagram includes the tables that govern how the output tables are created.

FDM Reserved Objects


The remaining tables and database objects provided in the initial installation of the
FDM database are categorized as FDM Reserved. Detailed information about these
tables and objects is not provided because these tables and objects are a collection of
pre-built application components and are used by OFSA to provide application
functionality.

Caution: Oracle does not support any customization of OFSA


Reserved tables and objects, not even by Oracle consultants. In
addition, the data in FDM Reserved tables should be manipulated
using the OFSA interfaces only.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-17


Database Diagrams

Diagram 1: Accounts

Transaction Table

one relationship per Leaf Column

one relationship per Leaf Column one relationship per Leaf Column
OFSA_LEAF_DESC

one relationship per Leaf Column

Reconciliation Tables

OFSA_LEDGER_STAT_RECON

Instrument Table OFSA_LEDGER_STAT_INSTRUMENT Services Table

OFSA_DETAIL_GL_ACCOUNT_ID

ACCT

ACCOUNT_COLLATERAL

OFSA_INSTRUMENT_ACCOUNT_CUST

CUSTOMER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-18 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 2: Codes and Descriptions

Code1 'Base' Table Code1 'MLS' Table

Code2 'Base' Table Code2 'MLS' Table OFSA_MLS

Instrument or
Services Table
CodeX 'Base' Table CodeX 'MLS' Table

User Def. Code DSC Table

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-19


Database Diagrams

Diagram 3a: Collateral (Part One)

CUST

ACCOUNT_GUARANTOR_RELATION OFSA_GUARANTOR_RELATION_CD OFSA_GUARANTOR_RELATION_MLS

OFSA_INSTRUMENT_TYPE_CD OFSA_COLLATERAL_STATUS_MLS

OFSA_COLLATERAL_STATUS

OFSA_INSTRUMENT_TYPE_MLS
ACCOUNT_COLLATERAL

OFSA_COLLATRL_DISCHRG_TYPE_CD
ACCT

OFSA_COLLATRL_DISCHRG_TYPE_MLS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-20 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 3b: Collateral (Part Two)

ACCOUNT_COLLATERAL CUST COLLATERAL_OWNERS

COLLATERAL_ASSESSMENT_HISTORY
COLLATERAL_VEHICLES

COLLATERAL_REAL_ESTATE

COLLATERAL_INSURANCE_DETAILS COLLATERAL

COLLATERAL_SHARES

COLLATERAL_AUCTION_DETAILS

COLLATERAL_BOATS

OFSA_INSURANCE_TYPE_CD COLATERAL_OTHER_INSTITUTIONS

OFSA_COLLATERAL_CD

OFSA_INSURANCE_TYPE_MLS OFSA_COLLATERAL_SUB_TYPE_CD
OFSA_COLLATERAL_MLS

OFSA_COLLATERAL_SUB_TYPE_MLS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-21


Database Diagrams

Diagram 4: Customer

CUST_ADDR BUS

IND

CUST
OFSA_INSTRUMENT_ACCOUNT_CUST

RELATE
HH

Accounts
ACCT
Instruments Services

Transactions

LEAVES AND
HIERARCHIES

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-22 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 5: FDM Security

OFSA_TABLE_CLASSIFICATION OFSA_DYN_TAB_CLASS_PRIV_ASSIGN OFSA_ID_FOLDERS

OFSA_CATALOG_OF_IDS

OFSA_DYN_TABLE_PRIV_ASSIGN

OFSA_ID_FOLDER_ACCESS
OFSA_ROLE_ASSIGNMENT

OFSA_SECURITY_PROFILES OFSA_DB_OBJ_PRIV_ASSIGNMENT

OFSA_DB_SYS_PRIV_ASSIGNMENT
OFSA_SEC_PROFILE_ASSIGNMENT

OFSA_ROLES

OFSA_PRIVILEGE_RECIPIENTS
OFSA_RECIPIENT_TYPE_DSC

OFSA_USERS

OFSA_APP_ASSIGNMENT OFSA_APPLICATIONS

OFSA_USER_GROUP_ASSIGNMENT

OFSA_ACTION_ASSIGNMENT OFSA_APPLICATION_CONSTRUCTS

OFSA_USER_GROUPS

OFSA_ACTIONS OFSA_CONSTRUCT_ACTIONS OFSA_CONSTRUCTS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-23


Database Diagrams

Diagram 6: FDM System

OFSA_DB_INFO OFSA_FISCAL_YEAR_INFO

OFSA_TABLE_CLASSIFICATION_MLS OFSA_TABLE_CLASSIFICATION OFSA_TABLE_CLASS_PROPERTIES

OFSA_TABLES_MLS OFSA_TABLES OFSA_TABLE_CLASS_ASSIGNMENT OFSA_TABLE_PROPERTIES

OFSA_TAB_COLUMNS_MLS OFSA_TAB_COLUMNS OFSA_PROPERTY_STP OFSA_PROPERTY_COLUMNS

OFSA_DESCRIPTION_TABLES OFSA_DATA_TYPE_DSC OFSA_COLUMN_REQUIREMENTS

OFSA_COLUMN_PROPERTIES
OFSA_COL_PROPERTY_REQUIREMENTS

OFSA_COLUMN_PROPERTY_CD

OFSA_COLUMN_REQUIREMENTS_MLS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-24 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 7: Hierarchies and Leaves

OFSA_DETAIL_ELEM_MLS OFSA_CATALOG_OF_LEAVES

OFSA_DETAIL_OTHER_COA

OFSA_DETAIL_ELEM_B

OFSA_DETAIL_ORG_UNIT
ACCOUNTS

OFSA_DETAIL_LEAVES OFSA_LEAF_DESC

RISK MANAGER
RESULTS

LEDGER_STAT

<-Leaves

OFSA_IDT_ROLLUP OFSA_IDT_SUBTOTAL
Nodes->
Leaves->

OFSA_IDT_VIEW_FILTER OFSA_NODE_DESC

Nodes->

OFSA_LEVEL_DESC

OFSA_CATALOG_OF_IDS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-25


Database Diagrams

Diagram 8: Messages

OFSA_MESSAGES_MLS OFSA_MSG_SEVERITY_MLS

OFSA_MESSAGES_B OFSA_MESSAGE_LOG OFSA_MSG_SEVERITY_CD

OFSA_PROCESSES OFSA_JOBS_RUN OFSA_APPLICATIONS

OFSA_CATALOG_OF_IDS OFSA_PROCESS_ERRORS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-26 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 9: Performance Analyzer Results

OFSA_CATALOG_OF_IDS OFSA_IDT_CONFIGURE

Accounts

OFSA_DATA_IDENTITY
Instruments Services

Transactions

LEDGER_STAT OFSA_AUDIT_TRAIL

RATE MANAGER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-27


Database Diagrams

Diagram 10: FDM Rate Manager

OFSA_CURRENCY_STATUS_MLS OFSA_CURRENCY_MLS OFSA_EXCHNG_RATE_DIRECT_ACCESS

OFSA_CURRENCY_STATUS_CD OFSA_EXCHNG_RATE_CONV_TYPE_CD

OFSA_CURRENCIES

OFSA_EXCHNG_RATE_CONV_TYPE_MLS
OFSA_EXCHANGE_RATE_HIST

OFSA_EXCHNG_RATE_CONV_FORMULA

OFSA_EXCHANGE_RATE_STATUS_CD

REFERENCE_IRC OFSA_ACCRUAL_BASIS_MLS

OFSA_FIXED_CURRENCIES

OFSA_ACCRUAL_BASIS_CD
OFSA_EXCHANGE_RATE_STATUS_MLS
ISO_CURRENCY_CD

OFSA_IRCS
OFSA_RATE_DATA_SOURCE_CD

OFSA_IRC_RATE_TERMS
OFSA_IRC_TS_PARAM_HIST

OFSA_ESTIMATION_SMOOTHING_CD

OFSA_ESTIMATION_SMOOTHING_MLS

OFSA_IRC_RATE_HIST

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-28 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 11: Risk Manager Results Scenario Based

OFSA_CATALOG_OF_IDS Template Tables

OFSA_IDT_RESULT_MASTER OFSA_IDT_RESULT_DETAIL

OFSA_PROCESS_ERRORS

OFSA_PROCESS_CASH_FLOWS

OFSA_EXCHANGE_RATES_AUDIT OFSA_IDT_RESULT_HEADER

OFSA_INTEREST_RATES_AUDIT OFSA_RESULT_MASTER

OFSA_CONSOLIDATED_MASTER
OFSA_RESULT_BUCKET

RATE MANAGER

OFSA_RESULT_TYPE_DSC

LEAVES AND
HIERARCHIES

OFSA_RESULT_SCENARIO
RES_DTL_xxxxxxx

CONS_DTL_xxxxxx

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-29


Database Diagrams

Diagram 12: Risk Manager Results Stochastic

OFSA_PROCESS_ERRORS
OFSA_CATALOG_OF_IDS

Template Tables
OFSA_PROCESS_CASH_FLOWS

OFSA_EAR_TOTAL_AVG OFSA_EAR_TOTAL_DTL

OFSA_EAR_LEAF_AVG OFSA_EAR_LEAF_DTL
RATE MANAGER

OFSA_IDT_RESULT_HEADER

EAR_TOTAL_AVG_xxxxxxx

OFSA_TM_STOCH_MKT_VAL

EAR_TOTAL_DTL_xxxxxx
OFSA_TM_STOCH_VAR

OFSA_TM_STOCH_TOT_VAR
EAR_LEAF_DTL_xxxxxx

EAR_LEAF_AVG_xxxxxxx
OFSA_INTEREST_RATES_AUDIT

LEAVES AND
HIERARCHIES

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-30 Oracle Financial Services Technical Reference Manual


Database Diagrams

Diagram 13: Transfer Pricing Results

OFSA_IDT_CONFIGURE

OFSA_CATALOG_OF_IDS

OFSA_PROCESS_CASH_FLOWS

OFSA_INTEREST_RATES_AUDIT

OFSA_PROCESS_ERRORS

Accounts

OFSA_DATA_IDENTITY
Instruments Services

LEDGER_STAT

RATE MANAGER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-31


Database Diagrams

Diagram 14: Transformation Processing

OFSA_TABLE_TRACKING

Storage Defaults Tables

OFSA_TABLE_STORAGE_DEFAULTS OFSA_INDEX_STORAGE_DEFAULTS

Transformation Template Tables

OFSA_TRANSFORM_LS_TEMPLATE OFSA_TRANSFORM_ROLLUP_TEMPLATE

OFSA_TRANSFORM_RMC_TEMPLATE OFSA_TRANSFORM_RMG_TEMPLATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-32 Oracle Financial Services Technical Reference Manual


Table List

Table List
This section lists the database table names and descriptions of the objects included
in the individual database diagrams. A detailed description for these tables is also
provided in Chapter 2, "Detail Design" of this manual.
The following tables do not have a detailed description in this manual:
■ CD and MLS tables
■ Instrument Tables
■ Services Tables
■ Transaction Tables
The Oracle Financial Services Data Dictionary provides detailed information on the
columns associated with each of the Instrument and Services tables. Detailed
descriptions are not needed for the CD and MLS tables because such tables are used
only for storing codes and descriptions. Detail descriptions in Chapter 2, "Detail
Design" of this manual are provided for tables with a value of ’Y’ in the “Table
Detail” column below.

Note: the tables in Chapter 2, "Detail Design" are listed


alphabetically.

Tables not appearing in this list are FDM Reserved tables. Detailed information for
these tables is not provided.

Table Name Description Table Detail


ACCOUNT_ Relates financial accounts to collateral. Y
COLLATERAL
ACCOUNT_ Relates guarantors to accounts Y
GUARANTOR_
RELATION
ACCT Stores information common to all Services Y
tables.
BUS Stores information on business customers and Y
prospects.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-33


Table List

Table Name Description Table Detail


COLLARTERAL_BOATS Provides detail information for water vehicles Y
used as account collateral.
COLLATERAL Identifies items used for securing financial Y
accounts.
COLLATERAL_ Stores the market value and assessment date for Y
ASSESSMENT_HISTORY collateral.
COLLATERAL_ Provides detail information for insurance Y
AUCTION_DETAILS
COLLATERAL_ Stores information on insurance of the Y
INSURANCE_DETAILS collateral.
COLLATERAL_OTHER_ Identifies the institutions that have a lien or a Y
INSTITUTIONS position in the collateral.
COLLATERAL_OWNERS Identifies the individual owners that hold a Y
position in the collateral
COLLATERAL_REAL_ Provides detail information about real estate Y
ESTATE used as collateral.
COLLATERAL_SHARES Provides detail information about stock used as Y
collateral.
COLLATERAL_ Provides detail information about vehicles used Y
VEHICLES as collateral.
CONS_DTL_XXXXXX Stores RM Results consolidated to the reporting Y
currency.
CUST Stores information on all customers and Y
prospects.
CUST_ADDR Stores address information for all customers Y
and prospects.
EAR_LEAF_AVG_ Risk Manager Earnings at Risk result table, for Y
XXXXXX Product Leaf results averaged across all rate
paths.
EAR_LEAF_DTL_ Risk Manager Earnings at Risk result table, for Y
XXXXXX Product Leaf results for all rate paths.
EAR_TOTAL_AVG_ Risk Manager Earnings at Risk result table, for Y
XXXXXX summary results by date bucket, averaged
across all rate paths.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-34 Oracle Financial Services Technical Reference Manual


Table List

Table Name Description Table Detail


EAR_TOTAL_DTL_ Risk Manager Earnings at Risk result table, for Y
XXXXXX summary results by date bucket, for all rate
paths.
HH Stores information on households. Y
IND Stores information on non-business customers. Y
Instrument Tables Client data tables storing information on Y
financial accounts.
LEDGER_STAT The LEDGER_STAT table is the data source for Y
summary financial and statistical data.
OFSA_ACCRUAL_BASIS_ Stores the list of valid Accrual Basis Codes. N
CD
OFSA_ACCRUAL_BASIS_ Stores the translatable names and descriptions N
MLS for Accrual Basis Codes.
OFSA_ACTION_ Stores OFSA application task privilege Y
ASSIGNMENT assignments for users, User Groups and
Security Profiles.
OFSA_ACTIONS Stores the list of assignable actions for OFSA Y
applications.
OFSA_APP_ Stores OFSA application login privileges for Y
ASSIGNMENT users, Users Groups and Security Profiles.
OFSA_APPLICATION_ Provides the list of valid OFSA application Y
CONSTRUCTS objects, such as OFSA Ids, for each OFSA
application.
OFSA_APPLICATIONS Provides the list of OFSA Applications. Y
OFSA_AUDIT_TRAIL Records the operational elements used by an Y
Allocation ID that has been executed.
OFSA_CATALOG_OF_IDS Identifies each OFSA ID, including Rate IDs Y
and Tree Rollup IDs.
OFSA_CATALOG_OF_ Identifies each Leaf Column, including Y
LEAVES user-defined leaves, for the database.
OFSA_COL_PROPERTY_ Designates the required Column Property Y
REQUIREMENTS assignments for Portfolio and FDM Reserved
column names.
OFSA_COLLATERAL_CD Provides the list of codes identifying types of N
items used for collateral.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-35


Table List

Table Name Description Table Detail


OFSA_COLLATERAL_ Provides the translatable names and N
MLS descriptions for Collateral Code values.
OFSA_COLLATERAL_ Provides the list of status codes for Collateral. N
STATUS Status codes identify the current state of the
collateral, such as ’Active’, or ’Auctioned’.
OFSA_COLLATERAL_ Provides the translatable names and N
STATUS_MLS descriptions for Collateral Status Code values.
OFSA_COLLATERAL_ Provides the list of codes used to further N
SUB_TYPE_CD categorize a collateral object beyond the initial
Collateral Code identification.
OFSA_COLLATERAL_ Provides the translatable names and N
SUB_TYPE_MLS descriptions for Collateral Sub Type Code
values.
OFSA_COLLATRL_ Provides the list of codes for identifying how a N
DISCHRG_TYPE_CD collateral object was disposed.
OFSA_COLLATRL_ Provides the translatable names and N
DISCHRG_TYPE_MLS descriptions for Collateral Discharge Type Code
values.
OFSA_COLUMN_ Stores column characteristic assignment for Y
PROPERTIES columns registered for the FDM database.
OFSA_COLUMN_ Provides the list of properties that can be Y
PROPERTY_CD assigned to columns.
OFSA_COLUMN_ Provides the required field and data type values Y
REQUIREMENTS for column names reserved for FDM.
OFSA_COLUMN_ Provides translatable names and descriptions Y
REQUIREMENTS_MLS for Portfolio and FDM Reserved columns.
OFSA_CONSOLIDATED_ Holds current position summary and market Y
RESULT_MASTER values for Oracle Risk Manager processing
results consolidated to a single currency.
OFSA_CONSTRUCT_ Provides the list of valid combinations of OFSA Y
ACTIONS Constructs (such as OFSA IDs) and Actions.
These combinations are termed ’functions’ as
they represent OFSA Application operational
tasks.
OFSA_CONSTRUCTS Provides the list of valid OFSA application Y
objects, such as OFSA IDs.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-36 Oracle Financial Services Technical Reference Manual


Table List

Table Name Description Table Detail


OFSA_CURRENCIES Stores currency codes and information about Y
their usage within the FDM database.
OFSA_CURRENCY_MLS Stores translatable display names for Currency Y
Codes.
OFSA_CURRENCY_ Stores the list of codes that identify a Currency N
STATUS_CD state.
OFSA_CURRENCY_ Stores translatable names for Currency Status N
STATUS_MLS Codes.
OFSA_DATA_IDENTITY Records information about processes that have Y
performed data manipulation functions on the
database.
OFSA_DATA_TYPE_DSC List of valid FDM Data Types. Y
OFSA_DB_INFO “Identifies the FDM Schema Owner for the Y
database, as well as additional global
parameters.”
OFSA_DB_OBJ_PRIV_ Stores database object privileges assigned from Y
ASSIGNMENT FDM Administration.
OFSA_DB_SYS_PRIV_ Stores database system privileges assigned from Y
ASSIGNMENT FDM Administration.
OFSA_DESCRIPTION_ Stores the mapping of Code columns to the Y
TABLES objects that provide translatable names and
descriptions.
OFSA_DETAIL_ELEM_B Stores detail information for financial elements. Y
OFSA_DETAIL_ELEM_ Stores the translatable display names for Y
MLS financial elements.
OFSA_DETAIL_GL_ Specifies the GL_ACCOUNT_ID to Instrument Y
ACCOUNT_ID table name relationship. Used for running
reconciliation reports between LEDGER_STAT
and Instrument detail account data.
OFSA_DETAIL_LEAVES Stores detail information for Common Chart of Y
Accounts (common_coa_ids).
OFSA_DETAIL_ORG_ Stores detail information for organizational Y
UNIT units.
OFSA_DETAIL_OTHER_ Stores detail information for the General Ledger Y
COA Account leaf (gl_account_id) and user-defined
leaves.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-37


Table List

Table Name Description Table Detail


OFSA_DYN_TAB_CLASS_ Stores dynamic table classification privileges Y
PRIV_ASSIGN assigned from FDM Administration.
OFSA_DYN_TABLE_ Stores dynamic object privileges (table or view) Y
PRIV_ASSIGN assign from FDM Administration.
OFSA_EAR_LEAF_AVG Template table for Risk Manager Earnings at Y
Risk Product Leaf results averaged across all
rate paths.
OFSA_EAR_LEAF_DTL Template table for Risk Manager Earnings at Y
Risk Product Leaf results for each rate path.
OFSA_EAR_TOTAL_AVG Template table for Risk Manager Earnings at Y
Risk summary results by date bucket, averaged
across all rate paths.
OFSA_EAR_TOTAL_DTL Template table for Risk Manager Earnings at Y
Risk summary results by date bucket, for all
rate paths.
OFSA_ESTIMATION_ Not currently used. Provides a list of Estimation N
SMOOTHING_CD Smoothing Codes for term structure parameters
estimation.
OFSA_ESTIMATION_ Not currently used. Provides translatable names N
SMOOTHING_MLS and descriptions for Estimation Smoothing
Code values.
OFSA_EXCHANGE_ Stores standard (floating) exchange rates Y
RATE_HIST history.
OFSA_EXCHANGE_ Provides codes for identifying the validity of an N
RATE_STATUS_CD Exchange Rate.
OFSA_EXCHANGE_ Provides translatable names and descriptions N
RATE_STATUS_MLS for Exchange Rate Status code values.
OFSA_EXCHANGE_ Exchange rate audit table for Risk Manager Y
RATES_AUDIT Scenario Based IDs.
OFSA_EXCHNG_RATE_ Contains the list of currencies that make up the Y
CONV_FORMULA conversion for triangulation, as well as a flag
indicating if a direct or inverse rate is used.
OFSA_EXCHNG_RATE_ Provides a list of Exchange Rate Conversion N
CONV_TYPE_CD Type Codes.
OFSA_EXCHNG_RATE_ Provides translatable names and descriptions N
CONV_TYPE_MLS for Exchange Rate Conversion Type Code
values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-38 Oracle Financial Services Technical Reference Manual


Table List

Table Name Description Table Detail


OFSA_EXCHNG_RATE_ Stores exchange from rates of all active Y
DIRECT_ACCESS currencies to reporting currencies at the time of
the exchange rate validation.
OFSA_FISCAL_YEAR_ Stores settings designating how the fiscal year is Y
INFO determined for the database.
OFSA_FIXED_ Stores exchange rates for currencies that are in Y
CURRENCIES fixed relationships with each other for a given
period of time.
OFSA_GUARANTOR_ Provides a list of codes for identifying the N
RELATION_CD relationship between the account holder and the
account guarantor.
OFSA_GUARANTOR_ Provides translatable names and descriptions N
RELATION_MLS for Guarantor Relation Code values.
OFSA_ID_FOLDER_ Designates the ID Folders assigned to recipients Y
ACCESS (Users or User Groups). This relationship
controls user access to IDs.
OFSA_ID_FOLDERS Identifies Folders used to group OFSA IDs. Y
OFSA_IDT_CONFIGURE Stores configuration information. Y
OFSA_IDT_RESULT_ Reference table that stores the basic set of Y
HEADER assumptions that make up an Oracle Risk
Manager Process ID, as read from the definition
of the ID during processing.
OFSA_IDT_ROLLUP Stores information about the structure of Y
user-defined leaf hierarchies (Tree Rollups).
OFSA_IDT_SUBTOTAL Stores data for Subtotal IDs. Y
OFSA_IDT_VIEW_FILTER Stores data for Tree Filter IDs. Y
OFSA_INDEX_ Enables the DBA to specify physical storage Y
STORAGE_DEFAULTS default values for indexes created by the
Transformation ID on transformation output
tables.
OFSA_INSTRUMENT_ Stores the relationships of accounts in the Y
ACCOUNT_CUST Instrument tables to Customers in the CUST
table.
OFSA_INSTRUMENT_ Provides codes to identify financial instrument N
TYPE_CD categories.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-39


Table List

Table Name Description Table Detail


OFSA_INSTRUMENT_ Provides translatable names and descriptions N
TYPE_MLS for Instrument Type Code values.
OFSA_INSURANCE_ Provides codes to identify the types of N
TYPE_CD insurance of collateral.
OFSA_INSURANCE_ Provides translatable names and descriptions N
TYPE_MLS for Insurance Type Code values.
OFSA_INTEREST_ Interest rate audit information for Risk Manager Y
RATES_AUDIT Scenario based IDs and Transfer Pricing
processes. Also stores Risk Manager audit
information for Monte Carlo rate paths
generated when the ’Write One Month Rates’
flag is checked.
OFSA_IRC_RATE_HIST Stores historical interest rates for each Interest Y
Rate Code.
OFSA_IRC_RATE_TERMS Stores term structures for each Interest Rate Y
Code.
OFSA_IRC_TS_PARAM_ Stores historical term structure parameters for Y
HIST each Interest Rate Code.
OFSA_IRCS Stores Interest Rate Code definition and Y
attributes.
OFSA_JOBS_RUN Provides a record of OFSA processes run in the Y
database. Identifies OFSA process for the
purposes of logging messages to OFSA_
MESSAGE_LOG.
OFSA_LEAF_DESC Designates individual entities as leaf values Y
(Organizational, Product, General Ledger and
so forth) and provides a description for each.
OFSA_LEDGER_STAT_ Pseudo Instrument table for storing Off Balance Y
INSTRUMENT Sheet and other LEDGER_STAT entries for
which there is no equivalent Instrument detail
account data. The OFSA_LEDGER_STAT_
INSTRUMENT table provides a mechanism for
Transfer Pricing such data.
OFSA_LEDGER_STAT_ Table for storing plug records required to Y
RECON reconcile LEDGER_STAT data with Instrument
account detail data.
OFSA_LEVEL_DESC Stores information about hierarchy levels used Y
in Tree Rollup IDs.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-40 Oracle Financial Services Technical Reference Manual


Table List

Table Name Description Table Detail


OFSA_MESSAGE_LOG Stores messages generated during the execution Y
of OFSA processing.
OFSA_MESSAGES_B Provides the list of messages available for OFSA N
processing.
OFSA_MESSAGES_MLS Provides translatable names and descriptions N
for Message Code values.
OFSA_MLS Identifies languages available for use with Y
FDM.
OFSA_MSG_SEVERITY_ Provides list of severity codes for OFSA N
CD processing messages.
OFSA_MSG_SEVERITY_ Provides translatable names and descriptions N
MLS from Message Severity Code values.
OFSA_NODE_DESC Stores information about nodes created in Tree Y
Rollup IDs.
OFSA_PRIVILEGE_ Contains a record for each User, User Group, Y
RECIPIENTS Security Profile or Role registered for FDM.
OFSA_PROCESS_CASH_ Stores audit information of individual cash Y
FLOWS flows processed by either Oracle Risk Manager
or Oracle Transfer Pricing.
OFSA_PROCESS_ERRORS Stores the errors generated during the execution Y
of OFSA processes.
OFSA_PROCESSES Identifies types of OFSA processes for the Y
purpose of logging error messages.
OFSA_PROPERTY_ Identifies the column names required for Table Y
COLUMNS Classifications.
OFSA_PROPERTY_STP Identifies stored procedures that FDM Y
Administration executes to validate that a table
may be assigned to a Table Classification.
OFSA_RATE_DATA_ Provides a list of codes describing the source for N
SOURCE_CD exchange rates, interest rates and term structure
parameters.
OFSA_RECIPIENT_TYPE_ Identifies and describes each of the recipient N
DSC categories - User, User Group, Security Profile
or Role.”
OFSA_REQUEST_QUEUE Stores server processing job requests. Y

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-41


Table List

Table Name Description Table Detail


OFSA_RESULT_BUCKET Stores bucket start and end dates for each of the Y
cash flow and dynamic modeling buckets used
in a Risk Manager process.
OFSA_RESULT_MASTER Holds current position summary and market Y
values for Oracle Risk Manager processing
results.
OFSA_RESULT_QUEUE Stores process messages for OFSA server Y
processing jobs. These messages are posted by
OFSA Request Query during processing.
OFSA_RESULT_ Stores information on the scenarios used by an Y
SCENARIO Oracle Risk Manager Process ID during
processing.
OFSA_RESULT_TYPE_ Code table that provides descriptions of the N
DSC types of results that can be stored in Oracle Risk
Manager Results tables.
OFSA_ROLE_ Stores assignments of roles to Users and User Y
ASSIGNMENT Groups.
OFSA_ROLES Identifies roles registered for the FDM database. Y
OFSA_SEC_PROFILE_ Stores the member assignments of Users and Y
ASSIGNMENT User Groups to Security Profiles.
OFSA_SECURITY_ Security Profiles are collections of application Y
PROFILES and function privileges for the OFSA
applications.
OFSA_TAB_COLUMNS Analogous to the Oracle RDBMS view ALL_ Y
TAB_COLUMNS. Each entry designates a
column in a table or view that has been
registered for use with the FDM metadata
schema.
OFSA_TAB_COLUMNS_ Stores translatable names and descriptions for Y
MLS registered columns.
OFSA_TABLE_CLASS_ Stores assignments of Table Classifications to Y
ASSIGNMENT FDM registered tables.
OFSA_TABLE_CLASS_ Table Classifications are consist of one or more Y
PROPERTIES Table Properties. OFSA_TABLE_CLASS_
PROPERTIES stores the Table Properties that
are associated together to build each Table
Classification.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-42 Oracle Financial Services Technical Reference Manual


Table List

Table Name Description Table Detail


OFSA_TABLE_ Identifies how tables can be used within the Y
CLASSIFICATION OFSA applications. Each Table Classification
represents a purpose or use.
OFSA_TABLE_ Stores translatable names and descriptions for Y
CLASSIFICATION_MLS Table Classifications.
OFSA_TABLE_ Table Properties define groups of characteristics Y
PROPERTIES or requirements of OFSA tables. These groups
of characteristics are combined to build Table
Classifications.
OFSA_TABLE_ Enables the DBA to specify physical storage Y
STORAGE_DEFAULTS default values for output tables created by the
Transformation ID.
OFSA_TABLE_ Correlates a Transformation output table with Y
TRACKING its source table and stores other information
about the transformation. This table is also used
to prevent concurrent transformations from
attempting to create or write to the output table.
OFSA_TABLES FDM Metadata catalog identifying all tables Y
and views registered for FDM.
OFSA_TABLES_MLS FDM Metadata catalog storing translatable Y
names and descriptions for tables and views
registered for FDM
OFSA_TEMP_OBJECTS Stores information about temporary objects Y
created by OFSA processing.
OFSA_TM_STOCH_MKT_ Stores market value data per product leaf Y
VAL generated in a Oracle Risk Manager stochastic
process.
OFSA_TM_STOCH_ Stores audit trail information of Oracle Risk Y
RATES Manager Monte Carlo rate paths.
OFSA_TM_STOCH_TOT_ Stores the rolled up value at risk (value at risk Y
VAR at bank level) generated by an Oracle Risk
Manager stochastic process.
OFSA_TM_STOCH_VAR Stores the probability distribution for value at Y
risk (VAR) for each leaf_node/VAR term
generated by the Oracle Risk Manager
stochastic process.
OFSA_TRANSFORM_LS_ Template table for Ledger Stat transformation Y
TEMPLATE processing.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

High-Level Design 1-43


Table List

Table Name Description Table Detail


OFSA_TRANSFORM_ Template table for Risk Manager Cash flow Y
RMC_TEMPLATE transformation processing.
OFSA_TRANSFORM_ Template table for Risk Manager GAP Y
RMG_TEMPLATE transformation processing.
OFSA_TRANSFORM_ Template table for Tree Rollup (Hierarchy) Y
ROLLUP_TEMPLATE transformation processing.
OFSA_USER_GROUP_ Stores the member assignments for User Y
ASSIGNMENT Groups.
OFSA_USER_GROUPS Identifies groups of users for FDM security Y
management.
OFSA_USERS Identifies users registered for the FDM Y
database.
RELATE Defines the relationship between customers and Y
Services accounts.
RES_DTL_XXXXXX Store detail cash flow and GAP results Y
generated from Risk Manager processing.
SERV Identifies the Services tables available in the Y
FDM database.
Services Tables Client data tables storing detail information on Y
financial accounts, such as credit cards,
consumer loan, and so on.
Transaction Tables Client data tables storing transaction Y
information for financial accounts.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

1-44 Oracle Financial Services Technical Reference Manual


2
Detail Design

This chapter presents detailed information about the underlying database structure
of the Financial Data Manager (FDM) database. The FDM database serves as the
foundation for the Oracle Financial Services Applications (OFSA) product suite.
This chapter provides a thorough explanation of how the tables included in this
chapter function, what they contain and how they are used within the FDM
database.
Organizationally, the chapter presents the FDM database tables in alphabetical
order and includes key field and column definitions and system codes.
For each table the following information is provided, in this order:
■ Brief description of the table, including special uses and functions
■ Columns
■ Indexes
■ Sequences
■ Column code values

Table Components
This section discusses each of the four components of the tables presented in this
chapter.

Columns
This sub-section provides important characteristics for each column in a table or
view. These characteristics include whether or not FDM requires a value for this
column and the data type of the column. A brief description of how the column is
used is also provided.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-1


FDM Database Tables

Any unused columns are also identified using the following legend:
Not currently used FDM does not use this column, although the column
could be used in a future release.
No longer used FDM no longer uses this column. In subsequent versions
of FDM, this column will be removed.

Indexes
Indexes that are provided for the table by the database ’Upgrade’ process or
installation routine are listed in this section.

Sequences
If any column of the table uses a sequence to generate unique integer values, the
name of the corresponding sequence generator and the name of the column storing
the unique integer is listed.

Column Code Values


Column code values and descriptions are listed in this section for all columns
defined as ’Code’.

FDM Database Tables


The tables included in this chapter consist of tables that can help you understand
the FDM database structure. These tables include customizable instrument and
account tables, as well as tables for OFSA process and ID tables that cannot be
customized.

Note: The inclusion of a table in this chapter does not mean that
the table can be customized. Rather, such tables have been included
because understanding how the information is stored in these
tables can be useful for understanding an OFSA implementation.

Note: The inclusion of a table within the Detail Design chapter


does not mean that it can be customized. Only Instrument or
Account tables can be customized.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-2 Oracle Financial Services Technical Reference Manual


FDM Database Tables

ACCOUNT_COLLATERAL
The ACCOUNT_COLLATERAL table links collateral objects to individual financial
accounts. The table provides for linking of collateral to accounts through any of the
following objects:
■ ACCOUNT (via the acct_no and serv fields)
■ Services Tables (via the acct_no and serv fields)
■ Instrument Tables (via the id_number and instrument_type_cd fields)
For each collateral/account link, other information about the relationship is also
provided in the ACCOUNT_COLLATERAL table, such as the amount secured by
the relationship and the collateral status.
The FDM database installation does not provide a default unique index for the
ACCOUNT_COLLATERAL table. Rather, it provides 2 default, non-unique indexes.
Modify one of these indexes to be unique to match your implementation of the
collateral relationship with financial accounts. If you use Instrument Tables to store
account information, modify the ACCOUNT_COLLATERAL_01 index on (ID_
NUMBER, COLLATERAL_NUMBER and INSTRUMENT_TYPE_CD) to be unique.
If you use the Services Tables to store account information, modify the ACCOUNT_
COLLATERAL_02 index (ACCT_NO, COLLATERAL_NUMBER and SERV) to be
unique.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object
NUMBER NULL by which the designated account is secured. Links
to the COLLATERAL table.
ID_NUMBER NUMBER(25) In conjunction with the INSTRUMENT_TYPE_CD
field, identifies the account being secured by the
collateral. If this is null, then the account
relationship is provided by the ACCT_NO and
SERV fields described below.
INSTRUMENT_TYPE_ NUMBER(5) Identifies the type of instrument for the secured
CD account. Instrument Types are retrievable from
OFSA_INSTRUMENT_TYPE_DSC. If this is null,
then the account relationship is provided by the
ACCT_NO and SERV fields described below.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-3


FDM Database Tables

Column Name Null? Type Description


ACCT_NO VARCHAR2(30) In conjunction with the SERV field, identifies the
account being secured by the collateral. If this is
null, then the account relationship is provided by
the ID_NUMBER and INSTRUMENT_TYPE_CD
fields described below.
SERV VARCHAR2(4) Assigned code that uniquely identifies each of the
18 Services tables. Refer to the SERV table for
information about acceptable values for this
column. If this is null, then the account
relationship is provided by the ID_NUMBER and
INSTRUMENT_TYPE_CD fields described below.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the ISO Currency Code in which the
NULL secured collateral amount is held. Refer to the
OFSA_CURRENCIES_V view for a list of
acceptable currency codes.
CONTRACT_DATE NOT DATE Identifies the date upon which the collateral
NULL amount was secured for the designated account.
ACCT_COLLATERAL_ NOT NUMBER(10) Identifies the order in which the collateral is used
PMT_PRIORITY NULL to satisfy a default account.
COLLATERAL_ NOT NUMBER(5) Designates the current status of the Collateral
STATUS_CD NULL amount. Refer to OFSA_COLLATERAL_DSC for a
list of Collateral Status values.
COLLATERAL_ NOT DATE Designates the date for which the Collateral Status
STATUS_DATE NULL is applicable.
AMOUNT_SECURED NOT NUMBER(14,2) Specifies a monetary amount secured by the
NULL collateral. Because a single collateral object can be
used to secure multiple accounts, the amount
secured is not always equal to the market value of
the collateral.
DISCHARGE_TYPE_CD NUMBER(5) Designates how the collateral was discharged. If
this column is null, then the collateral relationship
has not yet been discharged. Refer to OFSA_
COLLATRL_DISCHRG_TYPE_DSC for a list of
valid Discharge Type Codes.
DISCHARGE_DATE DATE Designates the date that the collateral was
discharged.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-4 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
ACCOUNT_COLLATERAL_01 Non-unique 1 ID_NUMBER
ACCOUNT_COLLATERAL_01 Non-unique 2 COLLATERAL_
NUMBER
ACCOUNT_COLLATERAL_01 Non-unique 3 INSTRUMENT_TYPE_
CD
ACCOUNT_COLLATERAL_02 Non-unique 1 ACCT_NO
ACCOUNT_COLLATERAL_02 Non-unique 2 COLLATERAL_
NUMBER
ACCOUNT_COLLATERAL_02 Non-unique 3 SERV

Sequences
Not applicable.

Column Code Values

Collateral_Status_Cd
COLLATERAL_STATUS_CD values are defined in OFSA_COLLATERAL_STATUS_
CD and OFSA_COLLATERAL_STATUS_MLS. Use the OFSA_COLLETERAL_
STATUS_DSC view to retrieve valid codes and descriptions for this column.

Code Description
0 Active
1 Discharge
2 Auctioned

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-5


FDM Database Tables

Discharge_Type_Cd
DISCHARGE_TYPE_CD values are defined in OFSA_COLLATRL_DISCHRG_
TYPE_CD and OFSA_COLLATRL_DISCHRG_TYPE_MLS. Use the OFSA_
COLLATRL_DISCHRG_TYPE_DSC view to retrieve valid codes and descriptions
for this column.
Code Description
0 Redeemed
1 Freed
2 Released
3 Returned

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Instrument_Type_Cd
INSTRUMENT_TYPE_CD values are defined in OFSA_INSTRUMENT_TYPE_CD
and OFSA_INSTRUMENT_TYPE_MLS. Use the OFSA_INSTRUMENT_TYPE_DSC
view to retrieve valid codes and descriptions for this column.
Code Description
110 Commercial Loan
120 Consumer Loan
130 Mortgages
140 Investments
141 MBS
150 Credit Card
210 Deposits
220 Wholesale Funding

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-6 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Serv
The codes for the SERV column of the ACCOUNT_COLLATERAL table are defined
in the SERV table. For the definitions of these codes, refer to the entry for the SERV
table in this chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-7


FDM Database Tables

ACCOUNT_GUARANTOR_RELATION
The ACCOUNT_GUARANTOR_RELATION identifies the individual customers
acting as the sponsors for financial accounts. Each financial account can have one or
more individuals acting as guarantors. The relationship of the guarantor to the
account is maintained identically to the ACCOUNT_COLLATERAL table. It is
maintained either through the ID_NUMBER and INSTRUMENT_TYPE_CD fields
to Instrument tables, or through the ACCT_NO and SERV fields to the Services
tables.

Columns

Column Name Null? Type Description


GUARANTOR_ NOT NUMBER(25) Number uniquely identifying the guarantor of the
NUMBER NULL account. Links to the CUST table.
ID_NUMBER NUMBER(25) In conjunction with the INSTRUMENT_TYPE_CD
field, identifies the account sponsored by the
guarantor. If this is null, then the account
relationship is provided by the ACCT_NO and
SERV fields described below.
INSTRUMENT_TYPE_ NUMBER(5) Identifies the type of instrument for the account
CD sponsored by the guarantor. Instrument Types are
retrievable from OFSA_INSTRUMENT_TYPE_
DSC. If this is null, then the account relationship is
provided by the ACCT_NO and SERV fields
described below.
ACCT_NO VARCHAR2(30) In conjunction with the SERV field, identifies the
account sponsored by the guarantor. If this is null,
then the account relationship is provided by the
ID_NUMBER and INSTRUMENT_TYPE_CD
fields described below.
SERV VARCHAR2(4) Assigned code that uniquely identifies each of the
18 Services tables. Refer to the SERV table for
information about acceptable values for this
column. If this is null, then the account sponsored
by the guarantor is provided by the ID_NUMBER
and INSTRUMENT_TYPE_CD fields described
below.
RELATIONSHIP_CD NOT NUMBER(5) Designates the relationship of the guarantor to the
NULL account holder. Valid Relationship Codes are
located in OFSA_GUARANTOR_RELATION_
DSC.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-8 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes
Index
Column
Index_Name Index Type Sequence Column_Name
ACCOUNT_GUARANTOR_01 Non-unique 1 ID_NUMBER
ACCOUNT_GUARANTOR_01 Non-unique 2 COLLATERAL_
NUMBER
ACCOUNT_GUARANTOR_01 Non-unique 3 INSTRUMENT_TYPE_
CD
ACCOUNT_GUARANTOR_02 Non-unique 1 ACCT_NO
ACCOUNT_GUARANTOR_02 Non-unique 2 COLLATERAL_
NUMBER
ACCOUNT_GUARANTOR_02 Non-unique 3 SERV

Sequences
Not applicable.

Column Code Values

Instrument_Type_Cd
INSTRUMENT_TYPE_CD values are defined in OFSA_INSTRUMENT_TYPE_CD
and OFSA_INSTRUMENT_TYPE_MLS. Use the OFSA_INSTRUMENT_TYPE_DSC
view to retrieve valid codes and descriptions for this column.
Code Description
110 Commercial Loan
120 Consumer Loan
130 Mortgages
140 Investments
141 MBS
150 Credit Card
210 Deposits
220 Wholesale Funding

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-9


FDM Database Tables

Relationship_Cd
RELATIONSHIP_CD values are defined in OFSA_GUARANTOR_RELATION_CD
and OFSA_GUARANTOR_RELATION_MLS. Use the OFSA_GUARANTOR_
RELATION_DSC view to retrieve valid codes and descriptions for this column.

Code Description
0 Relation
1 Non-Relation

Serv
The codes for the SERV column of the ACCOUNT_COLLATERAL table are defined
in the SERV table. For the definitions of these codes, refer to the entry for the SERV
table in this chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-10 Oracle Financial Services Technical Reference Manual


FDM Database Tables

ACCT
The ACCT table contains information common to accounts of all service types.
Account attributes specific to the particular service for each account are held in the
corresponding service table.
Accounts are linked to Collateral by way of the ACCOUNT_COLLATERAL table.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-11


FDM Database Tables

Indexes
Index
Column
Index_Name Index Type Sequence Column_Name
ACCT Unique 1 IDENTITY_CODE
ACCT Unique 2 ID_NUMBER
ACCT_KEY Unique 1 ACCT_ID
ACCT_2 Non-unique 1 ID_NUMBER
ACCT_4 Non-unique 1 COMMON_COA_ID
ACCT_5 Non-unique 1 ORG_UNIT_ID
ACCT_6 Non-unique 1 GL_ACCOUNT_ID
ACCT_ACCT_NO Non-unique 1 ACCT_NO
ACCT_BAL_AVE Non-unique 1 BAL_AVE
ACCT_BAL_CURR Non-unique 1 BAL_CURR
ACCT_CENSUS Non-unique 1 CENSUS_BLOCK
ACCT_CLOSE_DT Non-unique 1 CLOSE_DT
ACCT_CUS_NO Non-unique 1 CUS_NO
ACCT_OPEN_DT Non-unique 1 OPEN_DT
ACCT_SERV_PROD_SUBPROD Non-unique 1 SERV
ACCT_SERV_PROD_SUBPROD Non-unique 2 PROD
ACCT_SERV_PROD_SUBPROD Non-unique 3 SUBPROD

Sequences
Not applicable.

Column Code Values

Serv_type
The codes for the serv_type column of the ACCT table are defined in the SERV
table. For the definitions of these codes, refer to the entry for the SERV table in this
chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-12 Oracle Financial Services Technical Reference Manual


FDM Database Tables

BUS
The BUS table contains information specific to business customers and prospects.
Attributes common to all customers are held in the CUST table.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
BUS Unique 1 IDENTITY_CODE
BUS Unique 2 ID_NUMBER
BUS_2 Unique 1 ID_NUMBER
BUS_KEY Unique 1 CUS_NO
BUS_4 Non-Unique 1 COMMON_COA_ID
BUS_5 Non-Unique 1 ORG_UNIT_ID
BUS_6 Non-Unique 1 GL_ACCOUNT_ID

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-13


FDM Database Tables

COLLATERAL_BOATS
The COLLATERAL_BOATS table provides detail information about water craft
used as collateral for a financial account. Such objects are identified in the
COLLATERAL table with an appropriate COLLATERAL_TYPE_CD, such as
’Vehicles - Boats’.

Columns
Column Name Null? Type Description
COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object
NUMBER NULL by which the designated account is secured. Links
to the COLLATERAL table.
REGISTRATION_ NOT VARCHAR2(30) Vehicle Registration number for the boat.
NUMBER NULL
BOAT_NAME NOT VARCHAR2(50) Name of the boat.
NULL
BOAT_HORSE_POWER NUMBER(10) Horsepower for the boat.
BOAT_LENGTH NUMBER(10) Length of the boat.
BOAT_TONNAGE NOT NUMBER(10) Tonnage of the boat.
NULL

Indexes
Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_BOATS_PK Unique 1 COLLATERAL_
NUMBER

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-14 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL
The COLLATERAL table identifies items used as collateral to secure loans or other
financial accounts. This table links to financial accounts through the ACCOUNT_
COLLATERAL table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-15


FDM Database Tables

Columns
Column Name Null? Type Description
COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object
NUMBER NULL by which the designated account is secured. Links
to the COLLATERAL table.
COLLATERAL_TYPE_ NOT NUMBER(5) Identifies the type of item or thing used as
CD NULL collateral. Collateral Types are listed in OFSA_
COLLATERAL_DSC.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the ISO Currency Code in which the
NULL secured collateral amount is held. Refer to the
OFSA_CURRENCIES_V view for a list of
acceptable currency codes.
COLLATERAL_ NOT NUMBER(14,2) Identifies the monetary amount of the collateral
AMOUNT_PLEDGED NULL used to secure the designated account.
COLLATERAL_SUB_ NUMBER(5) Identifies the order in which the collateral is used
TYPE_CD to satisfy a default account.
COLLATERAL_ VARCHAR2(30) Identifies the assessor which estimated the value
ASSESSOR_NUMBER of the collateral.
DATE_ASSESSED DATE Designates the date that the collateral was
assessed.
REMARKS VARCHAR2(255) This column is for free form comments regarding
the collateral.
MARKET_VALUE NUMBER(14,2) Designates the Market Value of the collateral for
the specified ISO Currency Code.
FORCED_SALE_VALUE NUMBER(14,2) In the event that the collateral is sold, this column
designates the sale value.
NUMBER_OF_ NUMBER(4) Designates the number of institutions with a
INSTITUTIONS position or interest in the collateral.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_PK Unique 1 COLLATERAL_
NUMBER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-16 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Sequences
Not applicable.

Column Code Values

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Collateral_Sub_Type_Cd
COLLATERAL_SUB_TYPE_CD values are defined in OFSA_COLLATERAL_SUB_
TYPE_CD and OFSA_COLLATERAL_SUB_TYPE_MLS. Use the OFSA_
COLLETERAL_SUB_TYPE_DSC view to retrieve valid codes and descriptions for
this column.

Code Description
0 None
1 One Title Deed
2 Collective Title Deed

Collateral_Type_Cd
COLLATERAL_TYPE_CD values are defined in OFSA_COLLATERAL_CD and
OFSA_COLLATERAL_MLS. Use the OFSA_COLLETERAL_DSC view to retrieve
valid codes and descriptions for this column.

Code Description
1 FHA/VA
2 Residential Fixed
3 Residential ARM
4 Multifamily
5 Commercial

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-17


FDM Database Tables

Code Description
6 Second TDs
10 Unsecured
20 Endorsed
30 Guaranteed
31 Guaranteed - Student
32 Guaranteed - Other
40 Agency
50 Letters Of Credit
60 SBA
70 Assignments
100 Deed Residential
110 Deed Single Family
120 Deed Multifamily FHA
130 Deed Multifamily Conventional
140 Deed 1-4 Unit FHA
150 Deed 1-4 Unit VA
160 Deed 1-4 Unit Conventional
200 Deed Commercial (> 5 Unit)
210 Deed Commercial (> 5 Unit) Retail
220 Deed Commercial (> 5 Unit) Office
230 Deed Commercial (> 5 Unit) Radio/TV
240 Deed Commercial (> 5 Unit) Industry
250 Deed Commercial (> 5 Unit) Land Developm
260 Deed Commercial (> 5 Unit) Agriculture
300 Securities
310 Securities - Stock - Public
320 Securities - Stock - Private
330 Securities - Bonds - Treasury

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-18 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Code Description
340 Securities - Bonds - Municipal
350 Securities - Bonds - Corporate
370 GNMA Securities (Formerly 07)
380 FNMA Securities (Formerly 08)
390 FHLMC Securities (Formerly 09)
400 Deposit
410 Deposit - Savings/Demand - This Institut
430 Deposit - Savings/Demand - Other Institu
440 Deposit - Certificate - This Institution
450 Deposit - Certificate - Other Institutio
500 Business Assets
510 Business Assets - Accounts Receivable
520 Business Assets - Inventory
530 Business Assets - Accounts Receivable &
540 Business Assets - Equipment
600 Vehicles
610 Vehicles - Auto/Pickups
620 Vehicles - Aircraft
630 Vehicles - Boats
640 Vehicles - RVs/Campers
650 Vehicles - Trucks/Trailers
660 Vehicles - Other
700 Agriculture
710 Agriculture - Crops
720 Agriculture - Livestock
730 Agriculture - Equipment
800 State/Municipal Collateral
810 State/Municipal Collateral - Federal Gra

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-19


FDM Database Tables

Code Description
820 State/Municipal Collateral - Home Admini
830 State/Municipal Collateral - Leases
840 State/Municipal Collateral - Tax
850 State/Municipal Collateral - Other
999 Other

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-20 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_ASSESSMENT_HISTORY
The COLLATERAL_ASSESSMENT_HISTORY table stores a record of how collateral
value was assessed over time. While the current assessed value of a collateral object
is stored in the COLLATERAL table, the COLLATERAL_ASSESSMENT_HISTORY
table is a historical account of collateral valuation.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral being
NUMBER NULL assessed. Links to the COLLATERAL table.
COLLATERAL_ NOT VARCHAR2(30) Identifies the assessor that estimated the value of
ASSESSOR_NUMBER NULL the collateral.
DATE_ASSESSED NOT DATE Designates the date that the collateral was
NULL assessed.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the ISO Currency Code in which the
NULL secured collateral amount is held. Refer to the
OFSA_CURRENCIES_V view for a list of
acceptable currency codes.
MARKET_VALUE NUMBER(14,2) Designates the Market Value of the collateral for
the specified ISO Currency Code.
REMARKS VARCHAR2(255) This column is for free form comments regarding
the collateral assessment.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_ASSESSMENT_ Unique 1 COLLATERAL_
HISTORY_PK NUMBER
COLLATERAL_ASSESSMENT_ Unique 2 COLLATERAL_
HISTORY_PK ASSESSOR_NUMBER
COLLATERAL_ASSESSMENT_ Unique 3 DATE_ASSESSED
HISTORY_PK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-21


FDM Database Tables

Sequences
Not applicable.

Column Code Values

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-22 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_AUCTION_DETAILS
The COLLATERAL_AUCTION_DETAILS table stores information about collateral
auctions.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral being
NUMBER NULL auctioned. Links to the COLLATERAL table.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the ISO Currency Code in which the
NULL auction bids are reported. Refer to the OFSA_
CURRENCIES_V view for a list of acceptable
currency codes.
FIRST_SALE_PRICE NUMBER(14,2) Designates the first sale monetary value of the
collateral.
MIN_SALE_PRICE VARCHAR2(255) Designates the monetary value of the minimum
sale price for the collateral.
LAST_BID_PRICE NUMBER(14,2) Designates the monetary value for the last bid
price of the collateral.
LAST_BID_DATE DATE Designates the date of the last bid.
NEXT_AUCTION_ DATE Designates the date of the next auction for the
DATE collateral.
SOLD_PRICE NUMBER(14,2) Designates the price that the collateral was sold.
SOLD_DATE DATE Designates the date on which the collateral was
sold.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_AUCTION_ Unique 1 COLLATERAL_
DETAILS_PK NUMBER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-23


FDM Database Tables

Sequences
Not applicable.

Column Code Values

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-24 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_INSURANCE_DETAILS
The COLLATERAL_INSURANCE_DETAILS table stores insurance information for
the collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object
NUMBER NULL insured by the designated insurance policy. Links
to the COLLATERAL table.
INSURANCE_TYPE_CD NUMBER(5) Identifies the type of insurance. Refer to OFSA_
INSURANCE_TYPE_DSC for a list of Insurance
Type Codes.
INSURANCE_ VARCHAR2(30) Identifies the name of the company that issued the
COMPANY_NAME insurance policy for the collateral.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the ISO Currency Code in which the
NULL auction bids are reported. Refer to the OFSA_
CURRENCIES_V view for a list of acceptable
currency codes.
INSURANCE_POLICY_ VARCHAR2(30) Designates the Policy number for the insurance.
NUMBER
INSURED_AMOUNT NUMBER(14,2) Designates the monetary value insured.
INSURED_EXPIRY_ DATE Designates the date on which the insurance policy
DATE expires.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_INSURANCE_ Unique 1 COLLATERAL_
DTL_PK NUMBER
COLLATERAL_INSURANCE_ Unique 2 INSURANCE_TYPE_CD
DTL_PK
COLLATERAL_INSURANCE_ Unique 3 INSURANCE_
DTL_PK COMPANY_NAME

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-25


FDM Database Tables

Sequences
Not applicable.

Column Code Values

Insurance_Type_Cd
INSURANCE_TYPE_CD values are defined in OFSA_INSURANCE_TYPE_CD and
OFSA_INSURANCE_TYPE_MLS. Use the OFSA_INSURANCE_TYPE_DSC view to
retrieve valid codes and descriptions for this column.

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-26 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_OTHER_INSTITUTIONS
The COLLATERAL_OTHER_INSTITUTIONS table identifies the institutions that
have a lien or a position in the collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object.
NUMBER NULL Links to the COLLATERAL table.
INSTITUTION_NAME NOT VARCHAR2(30) Identifies the name of the company that holds the
NULL position in the collateral.
POSITION_PRIORITY NOT NUMBER(4) Designates the priority of the institution’s position
NULL in the collateral.
ISO_CURRENCY_CD VARCHAR2(3) Identifies the ISO Currency Code in position is
reported. Refer to the OFSA_CURRENCIES_V
view for a list of acceptable currency codes.
COLLATERAL_ NUMBER(14,2) Designates the monetary value of the position.
AMOUNT

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_OTHER_ Unique 1 COLLATERAL_
INSTITUTIONS_PK NUMBER
COLLATERAL_OTHER_ Unique 3 INSTITUTION_NAME
INSTITUTIONS_PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-27


FDM Database Tables

Column Code Values

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-28 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_OWNERS
The COLLATERAL_OWNERS table identifies the individual owners for each
distinct collateral item. Detail information about the collateral owner is then stored
in the CUST table, as each collateral owner is also a customer.
The collateral owner is not the same as the owner of the account secured by the
collateral. The collateral owner is the individual who owns the actual collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the collateral object.
NUMBER NULL Links to the COLLATERAL table.
OWNER_NUMBER NOT NUMBER(25) Identifies the individual who owns the collateral.
NULL Links with the CUS_NO column in the CUST
table.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_OWNERS_PK Unique 1 COLLATERAL_
NUMBER
COLLATERAL_OWNERS_PK Unique 3 OWNER_NUMBER

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-29


FDM Database Tables

COLLATERAL_REAL_ESTATE
The COLLATERAL_OWNERS table identifies the individual owners for each
distinct collateral item. Detail information about the collateral owner is then stored
in the CUST table, as each collateral owner is also a customer.
The collateral owner is not the same as the owner of the account secured by the
collateral. The collateral owner is the individual who owns the actual collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the real estate
NUMBER NULL collateral. Links to the COLLATERAL table.
REAL_ESTATE_ NOT VARCHAR2(30) Legal or contract number identifying the real
LEGAL_NUMBER NULL estate.
ADRESS_LINE_1 VARCHAR2(50) First address line for the real estate.
ADDRESS_LINE_2 VARCHAR2(50) Second address line for the real estate.
TOWN VARCHAR2(50) City or Town.
POST_CODE VARCHAR2(10) Postal Code.
PROVINCE VARCHAR2(50) Province.
DISTRICT VARCHAR2(50) District.
STATE VARCHAR2(50) State.
COUNTRY VARCHAR2(50) Country.
UNIT_NO VARCHAR2(10) Unit number.
FLOOR_NO VARCHAR2(10) Floor number.
AREA NUMBER(6) Area.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-30 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_REAL_ Unique 1 COLLATERAL_
ESTATE_PK NUMBER

Sequences
Not applicable.

Column Code Values

Iso_Currency_Cd
ISO_CURRENCY_CD values are defined in OFSA_CURRENCIES and OFSA_
CURRENCY_MLS. Use the OFSA_CURRENCIES_V view to retrieve valid codes
and descriptions for this column.
Refer to the OFSA_CURRENCIES table in this reference manual for more
information on valid ISO_CURRENCY_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-31


FDM Database Tables

COLLATERAL_SHARES
The COLLATERAL_SHARES table stores detail information regarding stock
collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the stock collateral.
NUMBER NULL Links to the COLLATERAL table.
CERTIFICATE_ NOT VARCHAR2(30) Stock certificate number of the collateral.
NUMBER NULL
ISO_CURRENCY_CD VARCHAR2(3) Identifies the ISO Currency Code in position is
reported. Refer to the OFSA_CURRENCIES_V
view for a list of acceptable currency codes.
NUMBER_OF_SHARES NUMBER(4) The number of stock shares.
LISTED_FLG NUMBER(1) Designates whether the stock is listed in an index.
STOCK_SYMBOL VARCHAR2(30) Stock symbol.
COMPANY_NAME VARCHAR2(50) Name of the company.
PAR_VALUE NUMBER(14,2) Monetary value of the shares.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_SHARES_PK Unique 1 COLLATERAL_
NUMBER

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-32 Oracle Financial Services Technical Reference Manual


FDM Database Tables

COLLATERAL_VEHICLES
The COLLATERAL_SHARES table stores detail information regarding automobile
collateral.

Columns

Column Name Null? Type Description


COLLATERAL_ NOT NUMBER(25) Number uniquely identifying the automobile
NUMBER NULL collateral. Links to the COLLATERAL table.
REGISTRATION_ NOT VARCHAR2(30) Vehicle registration number.
NUMBER NULL
MAKE NOT VARCHAR2(30) Identifies the car manufacturer.
NULL
MODEL NOT VARCHAR2(30) Identifies the car model.
NULL
YEAR NOT VARCHAR2(4) Designates the year that the car was
NULL manufactured.

Indexes

Index
Column
Index_Name Index Type Sequence Column_Name
COLLATERAL_VEHICLES_PK Unique 1 COLLATERAL_
NUMBER

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-33


FDM Database Tables

CONS_DTL_XXXXXX
These tables store detail cash flow and GAP results consolidated to the Reporting
currency. These tables are created during the execution of Risk Manager Process
IDs. A different table is created for each specific Risk Manager Process ID. However,
if the table already exists with the correct structure, meaning that the structure is the
same as that of IDT_RESULT_DETAIL, Risk Manager repopulates or appends to
existing data. The XXXXXX portion of the table name is the same as the system
identifier for the Process ID that generated the table. The number of CONS_DTL_
XXXXXX tables that exist in an FDM database is dependent on the number of
processing IDs that have been executed in a database.
These tables are referred to as Risk Manager Consolidated Result Detail tables. Uses
of Risk Manager Consolidated Result Detail tables in OFSA include:
■ Storing Risk Manager process results consolidated to the Reporting Currency.
■ Access by the Budgeting & Planning Data Movement routines to load Risk
Manager data.
■ Access by Transformation ID during transformation of Risk Manager results
data for FDM Reporting Data Mart
■ Access by reporting operations.
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding CONS_DTL_XXXXXXX tables can be dropped. Always unregister
such tables from the FDM Administration application prior to manually dropping
them from the FDM database.
These tables are created based on the table definition of IDT_RESULT_DETAIL.

Columns
The columns for the CONS_DTL_XXXXXX tables are created using the IDT_
RESULT_DETAIL as a model. To see what columns are created for new CONS_
DTL_XXXXXX tables, see the column definitions for IDT_RESULT_DETAIL.

Indexes
The indexes for the CONS_DTL_XXXXXX tables are created using the IDT_
RESULT_TABLE as a model. To see what indexes are created for new CONS_DTL_
XXXXXX tables, see the index definitions for IDT_RESULT_DETAIL.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-34 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-35


FDM Database Tables

CUST
The CUST table contains information common to all types of customers and
prospects. Additional information is held in the BUS table for business customers
and in the IND table for non-business customers.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
CUST Unique 1 IDENTITY_CODE
CUST Unique 2 ID_NUMBER
CUST_2 Unique 1 ID_NUMBER
CUST_CUS_KEY Unique 1 CUS_KEY
CUST_KEY Unique 1 CUS_NO
ADDR_NO Non-unique 1 ADDR_NO
CUST_4 Non-unique 1 COMMON_COA_ID
CUST_5 Non-unique 1 ORG_UNIT_ID
CUST_6 Non-unique 1 GL_ACCOUNT_ID
CUST_CVI Non-unique 1 CVI
CUST_FRST_CONT_DT Non-unique 1 FRST_CONT_DT
CUST_HH_NO Non-unique 1 HH_NO
CUST_PROF_PCT Non-unique 1 CUS_PROF_PCT
CUST_YEARS Non-unique 1 YEARS
NAME Non-unique 1 NAME
TAXIDNO Non-unique 1 TAXIDNO

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-36 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Cus_Type
The cus_type column has the following values:

Code Description
B Business customer. See the BUS table entry in this chapter for
additional information.
I Non-business (individual) customer. See the IND table entry
in this chapter for additional information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-37


FDM Database Tables

CUST_ADDR
The CUST_ADDR table contains address information for all customers and
prospects.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
CUST_ADDR_2 Unique 1 ID_NUMBER
CUST_ADDR_KEY Unique 1 ADDR_NO
CUST_ADDR_4 Non-unique 1 COMMON_COA_ID
CUST_ADDR_5 Non-unique 1 ORG_UNIT_ID
CUST_ADDR_6 Non-unique 1 GL_ACCOUNT_ID
CUST_ADDR_CENSUS Non-unique 1 CENSUS_ST
CUST_ADDR_CENSUS Non-unique 2 CENSUS_CNTY
CUST_ADDR_CENSUS Non-unique 3 CENSUS_TRACT
CUST_ADDR_CENSUS Non-unique 4 CENSUS_BLOCK
CUST_ADDR_CITY Non-unique 1 CITY
CUST_ADDR_ZIP Non-unique 1 ZIP

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-38 Oracle Financial Services Technical Reference Manual


FDM Database Tables

EAR_LEAF_AVG_XXXXXX
These tables store Product Leaf detail Earnings at Risk processing results averaged
across all rate paths. These tables are created during the execution of Risk Manager
“Stochastic” Process IDs. A different table is created for each specific Risk Manager
Process ID with the table structure based upon the OFSA_EAR_LEAF_AVG
template table. However, if the table already exists with the correct structure,
meaning that the structure is the same as that of OFSA_EAR_LEAF_AVG, it
repopulates or appends to existing data. The XXXXXX portion of the table name is
the same as the system identifier for the Process ID that generated the table. The
number of EAR_LEAF_AVG_ XXXXXX tables that exist in an FDM database is
dependent on the number of Risk Manager “Stochastic” processing IDs that have
been executed in a database.
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding EAR_LEAF_AVG_XXXXXXX tables can be dropped. Always
unregister such tables from the FDM Administration application prior to manually
dropping them from the FDM database.

Columns
Risk Manager processing creates the columns for the EAR_LEAF_AVG_XXXXXX
tables using the OFSA_EAR_LEAF_AVG table as a model. To see what columns are
created for new EAR_LEAF_AVG_XXXXXX tables, see the column definitions for
OFSA_EAR_LEAF_AVG.

Indexes
Risk Manager processing creates the indexes for the EAR_LEAF_AVG_XXXXXX
tables using the OFSA_EAR_LEAF_AVG table as a model. To see what indexes are
created for new EAR_LEAF_AVG_XXXXXXX tables, see the index definitions for
OFSA_EAR_LEAF_AVG.

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-39


FDM Database Tables

EAR_LEAF_DTL_XXXXXX
These tables store Product Leaf detail Earnings at Risk processing results for each
rate path. These tables are created during the execution of Risk Manager
“Stochastic” Process IDs run with the “Leaf Earnings” Detail Earnings Options
selected (results for these tables are optional and are output only when the Leaf
Earnings options is selected). A different table is created for each specific Risk
Manager Process ID with the table structure based upon the OFSA_EAR_LEAF_
DTL template table. However, if the table already exists with the correct structure,
meaning that the structure is the same as that of OFSA_EAR_LEAF_DTL, Risk
Manager repopulates or appends to existing data. The XXXXXX portion of the table
name is the same as the system identifier for the Process ID that generated the table.
The number of EAR_LEAF_DTL_ XXXXXX tables that exist in an FDM database is
dependent on the number of Risk Manager “Stochastic” processing IDs that have
been executed in a database.
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding EAR_LEAF_DTL_XXXXXXX tables can be dropped. Always
unregister such tables from the FDM Administration application prior to manually
dropping them from the FDM database.

Columns
Risk Manager creates the columns for the EAR_LEAF_DTL_XXXXXX tables using
the OFSA_EAR_LEAF_DTL table as a model. To see what columns are created for
new EAR_LEAF_DTL_XXXXXX tables, see the column definitions for OFSA_EAR_
LEAF_DTL.

Indexes
Risk Manager creates the indexes for the EAR_LEAF_DTL_XXXXXX tables using
the OFSA_EAR_LEAF_DTL table as a model. To see what indexes are created for
new EAR_LEAF_DTL_XXXXXXX tables, see the index definitions for OFSA_EAR_
LEAF_DTL.

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-40 Oracle Financial Services Technical Reference Manual


FDM Database Tables

EAR_TOTAL_AVG_XXXXXX
These tables store total Earnings at Risk processing results, summed by date bucket,
averaged across all rate paths. These tables are created during the execution of Risk
Manager “Stochastic” Process IDs. A different table is created for each specific Risk
Manager Process ID with the table structure based upon the OFSA_EAR_TOTAL_
AVG template table. However, if the table already exists with the correct structure,
meaning that the structure is the same as that of OFSA_EAR_TOTAL_AVG, Risk
Manager repopulates or appends to existing data. The XXXXXX portion of the table
name is the same as the system identifier for the Process ID that generated the table.
The number of EAR_TOTAL_ AVG_XXXXXX tables that exist in an FDM database
is dependent on the number of Risk Manager processing IDs that have been
executed in a database.
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding EAR_TOTAL_AVG_XXXXXXX tables can be dropped. Always
unregister such tables from the FDM Administration application prior to manually
dropping them from the FDM database.

Columns
Risk Manager creates the columns for the EAR_LEAF_TOTAL_XXXXXX tables
using the OFSA_EAR_TOTAL_AVG table as a model. To see what columns are
created for new EAR_TOTAL_AVG_XXXXXX tables, see the column definitions for
OFSA_EAR_TOTAL_AVG.

Indexes
Risk Manager creates the indexes for the EAR_TOTAL_AVG_XXXXXX tables using
the OFSA_EAR_TOTAL_AVG table as a model. To see what indexes are created for
new EAR_TOTAL_AVG_XXXXXXX tables, see the index definitions for OFSA_
EAR_TOTAL_AVG.

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-41


FDM Database Tables

EAR_TOTAL_DTL_XXXXXX
These tables store total Earnings at Risk processing results, summed by date bucket,
for each rate path. These tables are created during the execution of Risk Manager
“Stochastic” Process IDs run with the “Portfolio Earnings” Detail Earnings Options
selected (results for these tables are optional and are output only when the Portfolio
Earnings options is selected). A different table is created for each specific Risk
Manager Process ID with the table structure based upon the OFSA_EAR_TOTAL_
DTL template table. However, if the table already exists with the correct structure,
meaning that the structure is the same as that of OFSA_EAR_TOTAL_DTL, Risk
Manager repopulates or appends to existing data. The XXXXXX portion of the table
name is the same as the system identifier for the Process ID that generated the table.
The number of EAR_TOTAL_DTL_ XXXXXX tables that exist in an FDM database is
dependent on the number of Risk Manager “Stochastic” processing IDs that have
been executed in a database.
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding EAR_TOTAL_DTL_XXXXXXX tables can be dropped. Always
unregister such tables from the FDM Administration application prior to manually
dropping them from the FDM database.

Columns
Risk Manager creates the columns for the EAR_TOTAL_DTL_XXXXXX tables using
the OFSA_EAR_TOTAL_DTL table as a model. To see what columns are created for
new EAR_TOTAL_DTL_XXXXXX tables, see the column definitions for OFSA_
EAR_TOTAL_DTL.

Indexes
Risk Manager creates the indexes for the EAR_TOTAL_DTL_XXXXXX tables using
the OFSA_EAR_TOTAL_DTL as a model. To see what indexes are created for new
EAR_TOTAL_DTL_XXXXXXX tables, see the index definitions for OFSA_EAR_
TOTAL_DTL.

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-42 Oracle Financial Services Technical Reference Manual


FDM Database Tables

HH
The HH table groups non-business customers into households and contains
attributes specific to each household.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Indexes
Index Columns
Index_Name Index Type Sequence Column_Name
HH Unique 1 IDENTITY_CODE
HH Unique 2 ID_NUMBER
HH_2 Unique 1 ID_NUMBER
HH_HH_CUS_KEY Unique 1 HH_CUS_KEY
HH_KEY Unique 1 HH_NO
HH_4 Non-unique 1 COMMON_COA_ID
HH_5 Non-unique 1 ORG_UNIT_ID
HH_6 Non-unique 1 GL_ACCOUNT_ID
HH_HH_FRST_CONT_DT Non-unique 1 HH_FRST_CONT_DT
HH_HH_NAME Non-unique 1 HH_NAME
HH_HH_PROF_PCT Non-unique 1 HH_PROF_PCT
HH_HH_YEARS Non-unique 1 HH_YEARS
HH_HVI Non-unique 1 HVI
HH_MAX_AGE Non-unique 1 MAX_AGE
HH_MIN_AGE Non-unique 1 MIN_AGE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-43


FDM Database Tables

IND
The IND table contains information specific to non-business customers and
prospects. Attributes common to all customers are stored in the CUST table.

Columns
For a detailed description of the columns in this table, refer to the Oracle Financial
Services Data Dictionary.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
IND Unique 1 IDENTITY_CODE
IND Unique 2 ID_NUMBER
IND_2 Unique 1 ID_NUMBER
IND_KEY Unique 1 CUS_NO
IND_4 Non-unique 1 COMMON_COA_ID
IND_5 Non-unique 1 ORG_UNIT_ID
IND_6 Non-unique 1 GL_ACCOUNT_ID
IND_AGE Non-unique 1 AGE
IND_BTH_DT Non-unique 1 BTH_DT
IND_HH_NO Non-unique 1 HH_NO

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-44 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Instrument Tables
FDM provides default tables for storing financial instrument information. These
tables are each tailored for a specific type of financial account information, such as
“Deposits’ or ’Credit Cards’ accounts. The FDM Database Creation Process creates
these tables during the initial installation of the FDM database.
The default Instrument tables are listed below. For a detailed description of the
columns in these tables, refer to the Oracle Financial Services Data Dictionary.

COMMERCIAL_LOAN Commercial Loan accounts


CONSUMER_LOAN Consumer Loan accounts
CREDIT_CARDS Credit Card Accounts
DEPOSITS Deposits accounts
FORWARD_CONTRACTS Forward Contracts accounts
INTERST_RATE_OPTIONS Interest Rate Options accounts
INTEREST_RATE_SWAPS Interest Rate Swaps accounts
INVESTMENTS Investment accounts
MORTGAGES Mortgages accounts
MORTGAGE_BACK_SEC Mortgage Backed Securities
accounts
TERM_DEPOSITS Term Deposit accounts
WHOLESALE_FUNDING Wholesale Funding accounts

Columns
Refer to the Oracle Financial Services Data Dictionary for detailed column information
on each of the default Instrument tables.

Indexes
The default indexes for the Instrument tables created by the FDM Database Creation
Process are as follows:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-45


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
INSTRUMENT_TABLE Unique 1 IDENTITY_CODE
INSTRUMENT_TABLE Unique 2 ID_NUMBER
INSTRUMENT_TABLE_2 Non-unique 1 ID_NUMBER
INSTRUMENT_TABLE_3 Non-unique 1 AS_OF_DATE
INSTRUMENT_TABLE_3 Non-unique 2 ID_NUMBER
INSTRUMENT_TABLE_4 Non-unique 1 COMMON_COA_ID
INSTRUMENT_TABLE_4 Non-unique 2 AS_OF_DATE
INSTRUMENT_TABLE_5 Non-unique 1 ORG_UNIT_ID
INSTRUMENT_TABLE_5 Non-unique 2 AS_OF_DATE
INSTRUMENT_TABLE_6 Non-unique 1 GL_ACCOUNT_ID
INSTRUMENT_TABLE_6 Non-unique 2 AS_OF_DATE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-46 Oracle Financial Services Technical Reference Manual


FDM Database Tables

LEDGER_STAT
The LEDGER_STAT table is the data source for summary financial and statistical
data used by OFSA.
LEDGER_STAT is not structured like the Instrument and Services tables provided
with the FDM database. Each record in LEDGER_STAT stores information for an
entire year for a given account by utilizing 12 monthly and 12 year-to-date columns
(one for each month in the year). In addition, LEDGER_STAT is used only for
summary data. Individual account characteristics are not stored in this table.
Data can be loaded into LEDGER_STAT using the FDM ’Ledger Load’ function.

Columns
Refer to the Oracle Financial Services Data Dictionary for detailed information on
columns in the LEDGER_STAT table.

Indexes
The LEDGER_STAT default indexes created by the FDM Database Creation Process
are listed below:

Index Column
Index_Name Index Type Sequence Column_Name
LEDGER_STAT Unique 1 IDENTITY_CODE
LEDGER_STAT Unique 2 YEAR_S
LEDGER_STAT Unique 3 ACCUM_TYPE_CD
LEDGER_STAT Unique 4 CONSOLIDATION_CD
LEDGER_STAT Unique 5 FINANCIAL_ELEM_ID
LEDGER_STAT Unique 6 ORG_UNIT_ID
LEDGER_STAT Unique 7 GL_ACCOUNT_ID
LEDGER_STAT Unique 8 COMMON_COA_ID
LEDGER_STAT_3 Non-unique 1 COMMON_COA_ID
LEDGER_STAT_4 Non-unique 1 ORG_UNIT_ID
LEDGER_STAT_5 Non-unique 1 GL_ACCOUNT_ID
LEDGER_STAT_6 Non-unique 1 FINANCIAL_ELEM_ID
LEDGER_STAT_7 Non-unique 1 YEAR_S

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-47


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-48 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_ACTION_ASSIGNMENT
This table stores privilege assignments for OFSA functions. OFSA functions are
operational tasks available within the OFSA applications. For example, the ability to
run an Allocation ID is such an operational task. OFSA functions consist of a
Construct (such as Allocation ID) and an Action (such as Run).
OFSA functions may consist of multiple distinct menu items. For example, the
ability to create a new Allocation ID involves the “New” menu item, as well as
“Save”. Both of these items are part of the “Create” Action in combination with the
“Allocation ID” Construct.
The FDM Administration application provides functionality for inserting and
maintaining function privilege assignments in OFSA_ACTION_ASSIGNMENT.

Columns

Column Name Null? Type Description


RECIPIENT_NAME NOT VARCHAR2(30) Identifies the user, User Group or Security Profile
NULL receiving the privilege. Links to the OFSA_
PRIVILEGE_RECIPIENTS table.
ACTION_CD NOT NUMBER(5) Identifies the Action, such as Run, New. Links to
NULL the OFSA_ACTIONS table.
CONSTRUCT_CD NOT NUMBER(5) Identifies the Construct, such as Allocation ID or
NULL Tree Rollup ID. Links to the OFSA_CONSTRUCTS
table.
PROTECTED_FLG NOT NUMBER(1) Indicates whether the row is a protected seeded
NULL row. Protected seeded rows may not be deleted or
updated.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
ACTION_ Unique 1 RECIPIENT_NAME
ASSIGNMENT_
PK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-49


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
ACTION_ Unique 2 ACTION_CD
ASSIGNMENT_
PK
ACTION_ Unique 3 CONSTRUCT_CD
ASSIGNMENT_
PK

Sequences
Not applicable.

Column Code Values


This section defines codes referenced for the OFSA_ACTION_ASSIGNMENT table.

Action_Cd
Refer to the OFSA_ACTIONS table in this reference manual for more information
on valid ACTION_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-50 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_ACTIONS
This table provides the list of Actions available for OFSA operational tasks. When
combined with OFSA Constructs, these provide the “function” assignments for
FDM Administration.
The list of entries for the OFSA_ACTIONS table are seeded by the FDM Database
Upgrade and Database Creation Processes and are protected from modification.
The following is a list of valid actions:

Action Code Action Name Action Description


10 Create Create a new Construct
20 Delete Delete an existing Construct
30 Run Run or Execute
40 Update Update an existing Construct
50 View View Only
60 Data Update Update user data in the
database (not updating the
Construct)
70 Manage Administer a Construct
80 Activate Identify Construct as Active
90 Run Transform Run a transformation on ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-51


FDM Database Tables

Columns
Column Name Null? Type Description
ACTION_CD NOT VARCHAR2(30) The code value for identifying the action.
NULL
ACTION_NAME NOT NUMBER(5) The name of the action
NULL
DESCRIPTION NOT NUMBER(5) Description of the action.
NULL

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
ACTION_PK Unique 1 ACTION_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-52 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_APP_ASSIGNMENT
This table stores OFSA application privilege assignments. These assignments enable
users to log in to OFSA applications. Application assignments are assignable to
users, User Groups or Security Profiles.
The FDM Administration application provides functionality for inserting and
maintaining application privilege assignments in OFSA_APP_ASSIGNMENT.

Columns
Column Name Null? Type Description
APPLICATION_CD NOT NUMBER(5) Identifies the application privilege assigned to the
NULL recipient. Links with the OFSA_APPLICATIONS
table.
RECIPIENT_NAME NOT VARCHAR2(30) Identifies the user, User Group or Security Profile
NULL receiving the privilege. Links to the OFSA_
PRIVILEGE_RECIPIENTS table.
PROTECTED_FLG NOT NUMBER(1) Indicates whether the row is a protected seeded
NULL row. Protected seeded rows may not be deleted or
updated.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
APP_ Unique 1 RECIPIENT_NAME
ASSIGNMENT_
PK
APP_ Unique 2 APPLICATION_CD
ASSIGNMENT_
PK

Sequences
Not applicable.

Column Code Values


This section defines codes referenced for the OFSA_APP_ASSIGNMENT table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-53


FDM Database Tables

Application_Cd
Refer to the OFSA_APPLICATIONS table in this reference manual for more
information on valid APPLICATION_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-54 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_APPLICATION_CONSTRUCTS
This table identifies the Constructs available for each OFSA application. Data in this
table is seeded by the FDM Database Upgrade and Database Creation Processes and
is protected from modification.

Columns
Column Name Null? Type Description
CONSTRUCT_CD NOT NUMBER(5) Identifies the Construct available for the specified
NULL OFSA Application. Links with the OFSA_
CONSTRUCTS table.
APPLICATION_CD NOT NUMBER(5) Identifies the application for which the Construct
NULL is available. Links with the OFSA_
APPLICATIONS table.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
APPLICATION_ Unique 1 CONSTRUCT_CD
CONSTRUCTS_
PK
APPLICATION_ Unique 2 APPLICATION_CD
CONSTRUCTS_
PK

Sequences
Not applicable.

Column Code Values


This section defines codes referenced for the OFSA_APPLICATION_CONSTRUCTS
table.

Application_Cd
Refer to the OFSA_APPLICATIONS table in this reference manual for more
information on valid APPLICATION_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-55


FDM Database Tables

Construct_Cd
Refer to the OFSA_CONSTRUCTS table in this reference manual for more
information on valid CONSTRUCT_CD values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-56 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_APPLICATIONS
This table identifies the applications of the Oracle Financial Services Applications
suite. Data in this table is populated by the FDM Database Creation and Database
Upgrade processes. and is protected from modification.

Application Code Application Name


1 FDM Administration
2 Risk Manager
3 Transfer Pricing
4 Balance & Control
5 Portfolio Analyzer
6 Customer Householding
7 Market Manager
8 Discoverer Integrator
9 FDM Rate Manager
0 Performance Analyzer

Note: Market Manager is not part of OFSA Release 4.5.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-57


FDM Database Tables

Columns

Column Name Null? Type Description


APPLICATION_CD NOT NUMBER(5) Code identifying the OFSA application.
NULL
APPLICATION_ NOT VARCHAR2(10) Abbreviation for the application.
ACRONYM NULL
APPLICATION_NAME NOT VARCHAR2(30) Name of the application.
NULL
INSTALLED_FLG NOT NUMBER(1) A ’1’ indicates that the application is installed in
NULL the FDM database. A ’0’ indicates that the
application is not installed.
DESCRIPTION VARCHAR2(80) A description of the application.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
APPLICATIONS Unique 1 APPLICATION_CD
_PK
APPLICATIONS Unique 1 APPLICATION_ACRONYM
_UK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-58 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_AUDIT_TRAIL
The OFSA_AUDIT_TRAIL table records the operational elements used by an
Allocation ID that has been executed with ’Audit Trail’ set. Information in this table
tracks the values generated by the Allocation process.
Data is inserted into this table by Allocation IDs that have been designated to use
the ’Audit Trail’ function.

Columns

Column Name Null? Type Description


IDENTITY_CODE NOT NUMBER(10) Specifies the sequence number generated to
NULL identify the process that performed the allocation.
This same value is also inserted into an identifying
row in the OFSA_DATA_IDENTITY table.
Multiple rows with the same identity_code value
can be inserted.
AS_OF_DATE NOT DATE Identifies the time period of the source data. If the
NULL source data is in an Instrument table, then rows
with matching as_of_date values in that table are
selected. If the source data is in the LEDGER_
STAT table, then rows in that table with year_s
and month_nn values that match the MON and
YYYY substrings of the as_of_date are selected.
TO_FROM_FLAG NOT CHAR(1) Indicates whether the value in the amount column
NULL was debited or credited.
LINK_KEY NOT NUMBER(5) Specifies the identifier shared by entries that are
NULL part of the same transaction.
SEQUENCES NOT NUMBER(5) Specifies a new sequence number each time the
NULL same process is run for the same as_of_date.
FINANCIAL_ELEM_ID NOT NUMBER(14) Identifies the type of financial element, such as
NULL ending balance, affected by the allocation.
ORG_UNIT_ID NOT NUMBER(14) Identifies the organizational unit, such as Trust
NULL Department, affected by the allocation.
GL_ACCOUNT_ID NOT NUMBER(14) Identifies the general ledger account, such as
NULL liability insurance, affected by the allocation.
COMMON_COA_ID NOT NUMBER(14) Identifies the common chart_of_account, such as
NULL demand deposit retail, affected by the allocation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-59


FDM Database Tables

Column Name Null? Type Description


ALLOC_SYS_ID NOT NUMBER(10) Identifies the Allocation ID that performed the
NULL allocation.
VOLUME_RATE NUMBER(17,6) Specifies a constant value; otherwise 0.
AMOUNT NUMBER(17,6) Specifies the amount that was debited or credited.
DESCRIPTION VARCHAR2(80) Stores a description of the allocation

Indexes
FDM requires that you incorporate any user-defined leaf columns into the unique
index for the OFSA_AUDIT_TRAIL table. Therefore, when you register a new Leaf
Column for your FDM database, modify the unique index for the OFSA_AUDIT_
TRAIL table to include the new column as a component.
The list of indexes below contains only those indexes provided with the initial
installation of the FDM database.

Index Column
Index_Name Index Type Sequence Column_Name
AUDIT_TRAIL Unique 1 IDENTITY_CODE
AUDIT_TRAIL Unique 2 AS_OF_DATE
AUDIT_TRAIL Unique 3 TO_FROM_FLAG
AUDIT_TRAIL Unique 4 LINK_KEY
AUDIT_TRAIL Unique 5 SEQUENCES
AUDIT_TRAIL Unique 6 FINANCIAL_ELEM_ID
AUDIT_TRAIL Unique 7 ORG_UNIT_ID
AUDIT_TRAIL Unique 8 GL_ACCOUNT_ID
AUDIT_TRAIL Unique 9 COMMON_COA_ID
AUDIT_TRAIL_1 Non-unique 1 AS_OF_DATE
AUDIT_TRAIL_1 Non-unique 2 ALLOC_SYS_ID
AUDIT_TRAIL_1 Non-unique 3 LINK_KEY
AUDIT_TRAIL_2 Non-unique 1 FINANCIAL_ELEM_ID
AUDIT_TRAIL_3 Non-unique 1 ORG_UNIT_ID
AUDIT_TRAIL_4 Non-unique 1 GL_ACCOUNT_ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-60 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
AUDIT_TRAIL_5 Non-unique 1 COMMON_COA_ID
AUDIT_TRAIL_6 Non-unique 1 SEQUENCES

Sequences
Not applicable.

Column Code Values


This section defines reserved codes referenced for the OFSA_AUDIT_TRAIL table.

To_From_Flag
The to_from_flag column of OFSA_AUDIT_TRAIL has the following reserved
codes:

Code Description
T Credit
F Debit

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-61


FDM Database Tables

OFSA_CATALOG_OF_IDS
The OFSA_CATALOG_OF_IDS table stores information about all of the OFSA IDs
that exist in the database. Each OFSA ID references one record in OFSA_
CATALOG_OF_IDS. The record in OFSA_CATALOG_OF_IDS for the OFSA ID is
an identification record containing information such as the ID Name, what type of
ID it is, in what group the ID is stored, who created the ID and so forth. The OFSA_
CATALOG_OF_IDS record is linked to the detail data for the ID by the sys_id_num
assigned to the ID.

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) Identifies the system number that has been attached
to the OFSA ID. The sys_id_num is generated by the
SYS_ID_NUM_SEQ sequence in the database.
ID_DESC_SHORT VARCHAR2(15) The id_desc_short is the name of the OFSA ID
identified by the sys_id_num. For id_type = 504
records, the id_desc_short column is used to store
either the organizational leaf or node value.
ID_DESC_LONG VARCHAR2(60) The id_desc_long is the long name (or description) of
the OFSA ID identified by the sys_id_num.
LEAF_NUM_ID NOT NULL NUMBER(5) Designates the type of leaf column to which the ID
applies. OFSA IDs that are general (in other words,
not referenced by a leaf column) are assigned a value
of ’0’ or ’-1’ for leaf_num_id. Only OFSA IDs that are
specific to a single leaf column (such as a Tree Rollup
ID created for the org_unit_id column) are assigned a
valid leaf_num_id from the OFSA_CATALOG_OF_
LEAVES table.
ID_TYPE NOT NULL NUMBER(5) Identifies the purpose for the OFSA_CATALOG_OF_
IDS record. A complete list of id_type codes and
descriptions is contained in the Column Code Values
sub-section below.
TABLE_NAME NOT NULL VARCHAR2(25) Identifies the detail table to which the ID applies. For
example, the table_name for a Data Filter ID would
be set to idt_data_filter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-62 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


ACCESS_CODE CHAR(1) Indicates whether the ID can be edited by a user
other than the user identified in the access_name
column described below. If the access_code is set to
’Y’, then only the user identified in access_name can
edit the ID. If set to ’N’, then any user with access to
the group_name of the ID is allowed to edit the ID
and save any changes.
ACCESS_NAME VARCHAR2(15) Identifies the user with full access to the ID. If the
access_code (above) is set to ’Y’, then only the user
identified in access_name may edit the ID. If the
access_code is set to ’N’, then any user with access to
the group_name of the ID is allowed to edit the ID
and save any changes.
CHG_APP NUMBER(5) Identifies the OFSA product in which the ID was last
updated. OFSA products are identified in the chg_
app column by a program number. A complete list of
program codes and descriptions is listed in for the
chg_app column in the Column Code Values
sub-section below.
CHG_LOGIN VARCHAR2(15) Identifies the user ID that last changed the ID.
CHG_DATE DATE Specifies the date when the ID was last changed.
CHG_TIME VARCHAR2(8) Specifies the time when the ID was last changed.
FOLDER_NAME NOT NULL VARCHAR2(15) Identifies the ID Folder to which the ID is assigned.
Each OFSA ID is assigned to a single ID Folder. Only
users with privileges for the designated ID Folder can
access the ID.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
CATALOG_OF_IDS_PK Unique 1 SYS_ID_NUM
CATALOG_OF_IDS_FK1 Non-unique 1 FOLDER_NAME

Sequences
The SYS_ID_NUM_SEQ sequence generates values for the sys_id_num column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-63


FDM Database Tables

Column Code Values

Chg_app
The chg_app column of OFSA_CATALOG_OF_IDS has the following codes:

Code Description
0 Oracle Performance Analyzer
2 Oracle Risk Manager
3 Oracle Transfer Pricing
4 Oracle Balance & Control
5 Oracle Portfolio Analyzer
6 Oracle Budgeting & Planning*
8 Oracle System Administration**
9 Oracle Budgeting & Planning Manager**

*Oracle Budgeting & Planning no longer creates records in the OFSA_CATALOG_OF_IDS table as of Release 4.5. Any records
with a CHG_APP value of ’6’ are legacy entries created by a previous release of Budgeting & Planning.
**The Oracle System Administration and Oracle Budgeting & Planning Manager applications are not part of OFSA Release 4.5.
Any records with a CHG_APP value of ’8’ or ’9’ are legacy entries created a previous releases of these applications.

ID_Type
The ID_type column of OFSA_CATALOG_OF_IDS has the following codes:

ID Type Code ID Type Name


0 Allocation ID
3 Batch ID
4 Data Filter ID
5 Tree Rollup ID
6 Subtotal ID
7 Report ID
8 Tree Filter ID
9 Report ID; Column Definition
14 Formula ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-64 Oracle Financial Services Technical Reference Manual


FDM Database Tables

ID Type Code ID Type Name


17 Table ID
21 Group Filter ID
26 Transformation ID
100 Data Verification ID
101 Correction Rule ID
102 Report ID; Table to Table
104 Correction Processing ID
105 SQL ID
106 Stratification ID
108 Assignment ID
200 Transfer Price ID
201 Configuration ID
204 TP Process ID
205 RM Process ID
300 Prepayment ID
301 Discount Rates ID
302 Maturity Strategy ID
303 Pricing Margin ID
305 Forecast Rates ID
306 Transaction Strategy ID
307 Forecast Balance ID
309 Leaf Characteristics ID
312 Prepayment Table ID
313 Formula Leaves ID
315 Rate Index ID
405 Server Status
601 Exchange Rate Validation
602 Parameter Estimation

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-65


FDM Database Tables

OFSA_CATALOG_OF_LEAVES
The OFSA_CATALOG_OF_LEAVES table is used to store information on each of
the Leaf Columns registered for the FDM database. Leaf columns provide users
with specialized functionality within the OFSA applications.
The Common Chart of Accounts (common_coa_id), Financial Element (financial_
elem_id), General Ledger Account (gl_account_id) and Organizational Unit (org_
unit_id) Leaf Columns are provided with the initial installation of the FDM
database. Administrators can register and un-register additional user-defined Leaf
Columns by following the steps and procedures outlined in the “FDM Leaf
Management” chapter of the Oracle Financial Services Installation and Configuration
Guide, Release 4.5.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-66 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
LEAF_NUM_ID NOT NULL NUMBER(5) The leaf_num_id is a number that uniquely
identifies the Leaf Column.
LEAF_FIELD VARCHAR2(18) Identifies the name of the Leaf Column.
DETAIL_NUM_TABLE VARCHAR2(18) Identifies the name of the table that is used for
detail information for the Leaf Column. Each
distinct type of Leaf Column uses a different
detail table.
DESCRIPTION VARCHAR2(80) The description is the long name associated
with the Leaf Column. This is the name that
appears in list boxes within the OFSA
applications.
TABLE_TYPE CHAR(1) A ’B’designates that the Leaf Column is present
on the LEDGER_STAT and OFSA_AUDIT_
TRAIL tables as well as all of the Instrument
tables. An ’L’ designates that the Leaf Column
is present only on the LEDGER_STAT and
OFSA_AUDIT_TRAIL tables. A ’V’ indicates
that the Leaf Column is a ’Helper Leaf’ (Virtual
Leaf Column).
KEY_LEAF_CD NUMBER(5) A ’1’ designates that the Leaf Column is part of
the unique key for the LEDGER_STAT and
OFSA_AUDIT_TRAIL tables. Any other value
designates that the Leaf Column is not part of
the unique key for these tables.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
CATALOG_OF_LEAVES Unique 1 LEAF_NUM_ID

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-67


FDM Database Tables

OFSA_COL_PROPERTY_REQUIREMENTS
The OFSA_COL_PROPERTY_REQUIREMENTS table stores required Column
Property assignments for FDM Reserved column names.
FDM Reserved column names are those column names retained by the Financial
Data Manager database for OFSA application specific purposes. The OFSA
applications require certain characteristics and attributes for these Reserved
columns whenever they are registered for a table or view within the FDM database.
The OFSA_COL_PROPERTY_REQUIREMENTS table stores the Column Property
assignments that the OFSA applications require for these Reserved column names.
When you register a table or view within the FDM Administration application, the
Object Registration Wizard automatically propagates any Column Property
assignments from the OFSA_COL_PROPERTY_REQUIREMENTS table for FDM
Reserved Column Names on the object. This ensures that the FDM Reserved
column names on the registered object possess the Column Property assignments
required by the OFSA applications. This also ensures that the Reserved column
name possesses the same Column Property assignments for any objects on which
that column name is registered within the FDM database. The Column Property
requirements from OFSA_COL_PROPERTY_REQUIREMENTS are inserted into
OFSA_COLUMN_PROPERTIES for all of the FDM Reserved column names being
registered.
The FDM Database Creation and Database Upgrade processes populate the OFSA_
COL_PROPERTY_REQUIREMENTS table with the required Column Property
assignments for FDM Reserved column names.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-68 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the FDM Reserved column name for
which the designated Column Property
assignments are required.
COLUMN_PROPERTY_ NOT NULL NUMBER(5) Identifies the Column Property required for the
CD specified Reserved column name.
PROPERTY_COLUMN VARCHAR2(30) Identifies the Related Field for the Column
Property, if applicable.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the record is protected and
cannot be modified. Any other value
designates that the record is a user-defined
entry.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
COL_PROPERTY_ Unique 1 COLUMN_NAME
REQUIREMENTS_PK
COL_PROPERTY_ Unique 2 COLUMN_PROPERTY_CD
REQUIREMENTS_PK
COL_PROPERTY_ Unique 1 COLUMN_PROPERTY_CD
REQUIREMENTS_FK1
COL_PROPERTY_ Unique 2 COLUMN_NAME
REQUIREMENTS_FK2

Sequences
Not applicable.

Code Values

Column_Property_Cd
Refer to the OFSA_COLUMN_PROPERTY_CD table described in this reference
manual for information regarding the list of valid Column Property Codes for FDM.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-69


FDM Database Tables

OFSA_COLUMN_PROPERTIES
Column Properties identify additional information about registered columns. This
information is used by the Discoverer Integrator, Performance Analyzer, Risk
Manager and Transfer Pricing applications to determine specific characteristics
about a column complementary to the FDM Data Type. The OFSA_COLUMN_
PROPERTIES table stores the assignment of Column Properties to column names
registered for tables or views within the FDM database.
There are several different types of Column Properties. For each registered
table/column combination, one or more properties may be assigned.
Examples of Column Properties include:
■ Multipliers for Terms and Frequencies
■ Processing Key designation, identifying components of the primary key of the
object
■ Balance and Rate designations
Related field information such as a multiplier column for Terms and Frequencies or
a weighting factor for Rates, is stored in the PROPERTY_COLUMN field for the
’Related Field’ Column Property. PROPERTY_COLUMN is populated only for the
’Related Field’ Column Property. It is null for all other Column Properties (meaning
that each table_name/column_name combination can have only one ’Related
Field’).
Required assignment for FDM Reserved column names are automatically inserted
from the OFSA_COL_PROPERTY_REQUIREMENTS table into OFSA_COLUMN_
PROPERTIES during Object Registration. Additional Column Properties can be
manually assigned to columns in the Column Property Assignment Wizard within
FDM Administration.

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view for which the
specified column name is registered.
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the registered column name for
which the Column Property assignments apply.
OWNER NOT NULL VARCHAR2(30) Identifies the FDM Schema Owner of the
object.
COLUMN_PROPERTY_ NOT NULL NUMBER(5) Identifies the Column Property assigned to the
CD column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-70 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


PROPERTY_COLUMN VARCHAR2(30) Identifies the Related Field for the Column
Property, if applicable.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the assignment is
protected and cannot be modified. Any other
value designates that the assignment is a
user-defined entry.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
COLUMN_ Unique 1 TABLE_NAME
PROPERTIES_PK
COLUMN_ Unique 2 COLUMN_NAME
PROPERTIES_PK
COLUMN_ Unique 3 OWNER
PROPERTIES_PK
COLUMN_ Unique 4 COLUMN_PROPERTY_CD
PROPERTIES_PK

Sequences
Not applicable.

Code Values

Column_Property_Cd
Refer to the OFSA_COLUMN_PROPERTY_CD table described in this reference
manual for information regarding the list of valid Column Property Codes for FDM.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-71


FDM Database Tables

OFSA_COLUMN_PROPERTY_CD
Column Properties identify additional information about registered columns. This
information is used by the Discoverer Integrator, Performance Analyzer, Risk
Manager and Transfer Pricing applications to determine specific characteristics
about a column complementary to the FDM Data Type. The OFSA_COLUMN_
PROPERTY_CD table stores the list of valid Column Property codes for the FDM
database. The translatable Column Property names and descriptions are stored in
OFSA_COLUMN_PROPERTY_MLS. The OFSA_COLUMN_PROPERTY_DSC view
is a language compatible view for querying the FDM Column Properties.
The FDM Database Upgrade and FDM Database Creation processes populates the
OFSA_COLUMN_PROPERTY_CD and OFSA_COLUMN_PROPERTY_MLS tables.
Do not modify or update data in these tables.
The following table lists the valid FDM Column Properties:

Column Property Code Column Property Name


1 Standard Rate
2 Balance Weighted Object
3 RM Scenario Relationship
4 RM Result Type Relationship
5 Multiplier Related Field
6 Term Multiplier
7 Frequency Multiplier
10 Reporting Not Visible
15 Processing Key
20 Related Field
31 Statistic
32 Balance

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-72 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


COLUMN_PROPERTY_ NOT NULL VARCHAR2(30) The code value identifying the Column
CD Property.
CURRENCY_BASIS_ NOT NULL VARCHAR2(30) A ’1’ designates that the Column Property is
FLG Currency based and requires a Currency
component (that is, for monetary values such
as ’Balances’ and ’Balance Weighted Objects’).
Any other value indicates that the Column
Property is not Currency based.
FE_UI_SETUP_FLG NOT NULL VARCHAR2(30) Designates that the Column Property is
assignable to Financial ELements within the
OFSA Application Leaf Setup screen.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
COLUMN_PROPERTY_ Unique 1 COLUMN_PROPERTY_CD
CD_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-73


FDM Database Tables

OFSA_COLUMN_REQUIREMENTS
The OFSA_COLUMN_REQUIREMENTS table stores required attributes for FDM
Reserved column names.
FDM Reserved column names are those column names retained by the Financial
Data Manager database for OFSA application specific purposes. The OFSA
applications require certain characteristics and attributes for these Reserved
columns whenever they are registered for a table or view within the FDM database.
The OFSA_COLUMN_REQUIREMENTS table stores these required attributes, such
as Data Type, Scale, and Precision, which the FDM Reserved column names.
In order for an object to be assigned to a particular Table Classification, all of the
FDM reserved column names required by that classification must exist on the
object. In addition, the columns on the object must possess the required
characteristics of those reserved column names. For example, the MATURITY_
DATE column is required by the RM Standard Table Classification. In order to be
assigned to this classification, the MATURITY_DATE column must exist on the
object and it must be defined as data type ’DATE’.
The FDM Table Classification Assignment Wizard identifies any missing columns
for each Table Classification validation. If all columns are present on an object, but
the object still fails the classification assignment, then one or more of the columns
does not match the characteristic requirements. All column characteristics are
specified in the OFSA_COLUMN_REQUIREMENTS table.
The FDM Database Creation and Database Upgrade processes populate the OFSA_
COLUMN_REQUIREMENTS table with the required Column Property assignments
for FDM Reserved column names.

Portfolio Columns
Portfolio columns are column names assigned to the ’Portfolio’ Table Classification.
The Portfolio Table Classification designates a set of columns that are common
across different instrument tables. When an OFSA ID is created with Portfolio
columns and because the Portfolio column is not specific to any single instrument
table within the context of the OFSA ID, the OFSA application queries the OFSA_
COLUMN_REQUIREMENTS table to identify the attributes of the column. Because
of this, FDM requires that all Portfolio columns have an entry in OFSA_COLUMN_
REQUIREMENTS.
Refer to the “FDM Object Management” chapter of the Oracle Financial Services
Installation and Configuration Guide for detailed information on how to create a
user-defined Portfolio column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-74 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Editing Column Requirements


FDM allows editing of all OFSA_COLUMN_REQUIREMENTS attributes for
user-defined Portfolio columns. However, for FDM Reserved columns (identified by
PROTECTED_FLG=1), there are some restrictions on which attributes can be
modified. Columns noted with an asterisk (*) below are protected from update for
FDM Reserved columns. All other columns in OFSA_COLUMN_REQUIREMENTS
can be edited.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-75


FDM Database Tables

Columns
Column Name Null? Type Description
COLUMN_NAME* NOT NULL VARCHAR2(30) Identifies the column for which requirements
exist.
OFSA_DATA_TYPE_ NOT NULL NUMBER(5) Designates the FDM Data Type requirement for
CD* the column. FDM Data Type Codes are stored
in OFSA_DATA_TYPE_DSC. Protected from
update for FDM Reserved columns.
DATA_LENGTH NOT NULL NUMBER(5) Designates the required Oracle data length.
FDM allows this value to be increased for
balance columns.
DATA_PRECISION NUMBER(5) Designates the required Oracle data precision.
FDM allows this value to be increased for
balance columns.
DATA_SCALE NUMBER(5) Designates the required Oracle data scale. FDM
allows this value to be increased for balance
columns.
DATA_TYPE* NOT NULL VARCHAR2(30) Designates the required Oracle data type.
Protected from update for FDM Reserved
columns.
NULLABLE* NOT NULL VARCHAR2(1) Indicates if the column is nullable. Protected
from update for FDM Reserved columns.
DBF_NAME NOT NULL VARCHAR2(10) Designates the name for the column when
exported into a DBF.
PROTECTED_FLG NOT NULL NUMBER(1) Designates that the row is an FDM Reserved
column.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
COLUMN_ Unique 1 COLUMN_NAME
REQUIREMENTS_PK
COLUMN_ Non- 1 OFSA_DATA_TYPE_CD
REQUIREMENTS_FK unique

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-76 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Sequences
Not applicable.

Code Values

OFSA_Data_Type_Cd
Refer to the OFSA_DATA_TYPE_DSC table described in this reference manual for
information regarding the list of valid FDM Data Type Codes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-77


FDM Database Tables

OFSA_COLUMN_REQUIREMENTS_MLS
The OFSA_COLUMN_REQUIREMENTS_MLS table stores the translatable names
for FDM Reserved columns and user-defined Portfolio columns.
The FDM Administration application uses the DISPLAY_NAME from OFSA_
COLUMN_REQUIREMENTS_MLS to populate the Display Name for columns on
registered tables and views during the Object Registration process. This ensures that
any column names listed in this table have the same Display Name for all tables
and views on which they exist in the FDM database. When creating OFSA
’Portfolio’ IDs, the OFSA applications query OFSA_COLUMN_REQUIREMENTS_
MLS for the Display Name of Portfolio columns. Such IDs do not reference a table_
name at the time of ID creation.

Columns
Column Name Null? Type Description
MLS_CD NOT NULL VARCHAR2(3) Code identifying the language for the display
name.
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the column for which the display
name applies.
DISPLAY_NAME NOT NULL VARCHAR2(40) The display name of the column as it appears
within OFSA applications for the specified
MLS_CD.

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
COLUMN_ Unique 1 MLS_CD
REQUIREMENTS_MLS_
PK
COLUMN_ Unique 2 COLUMN_NAME
REQUIREMENTS_MLS_
PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-78 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Code Values

MLS_Cd
Refer to the OFSA_MLS table described in this reference manual for information
regarding the list of valid FDM MLS Codes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-79


FDM Database Tables

OFSA_CONSOLIDATED_MASTER
OFSA_CONSOLIDATED_MASTER stores current position summary and market
values generated from Oracle Risk Manager processing consolidated to the
reporting currency designated in the Risk Manager Process ID.
This table is accessed by reporting to display Risk Manager results. OFSA_
CONSOLIDATED_MASTER is also accessed by the Transformation ID during the
transformation of Risk Manager results data to the FDM Report Mart.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Risk Manager Process ID number
RESULT_TYPE_CD NOT NULL NUMBER(5) Result Type. This value must be a value that
exists in the result_type_cd column of OFSA_
RESULT_TYPE_DSC.
SCENARIO_NUM NOT NULL NUMBER(5) Scenario Number. This column references the
scenario_num column of the OFSA_RESULT_
SCENARIO table. This reference should be
used to look up the descriptions of each
scenario.
ORG_UNIT_ID NOT NULL NUMBER(14) The organizational code. Identifies an
organizational unit.
GL_ACCOUNT_ID NOT NULL NUMBER(14) Specific GL account assignment.
COMMON_COA_ID NOT NULL NUMBER(14) Leaf column that defines the lowest common
level of detail across all product chart of
account definitions.
FINANCIAL_ROLLUP NUMBER(5) Standard financial statement rollup category in
which the transaction falls.
CUR_PAR_BAL NUMBER(14,2) Current gross par value
CUR_NET_PAR_BAL NUMBER(14,2) Current par value- net of participation.
CUR_DEFER_BAL_C NUMBER(14,2) Simulation deferred balance at as_of_date.
CUR_NET_RATE_W NUMBER(14,2) Current net rate weighted by current book
balance.
CUR_WARM NUMBER(16,2) Current WARM (Weighted Average Remaining
Maturity)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-80 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


CUR_INTR_REC_ACCR NUMBER(14,2) Current interest receivable accrued.
NEW_GROSS_BALANCE NUMBER(14,2) Gross dollar balance of transactions with an
origination date > as-of-date.
NEW_NET_BALANCE NUMBER(14,2) Balance - net of participations of transactions
with an origination date > as-of-date.
MARKET_VALUE NUMBER(14,2) Simulation present value of all future principal
and interest cash flows.
DURATION NUMBER(14) A calculated term measuring the price
sensitivity of instrument to changes in interest
rates.
CONVEXITY NUMBER(14,4) Calculated convexity of instrument. Rate of
change of duration with respect to changes in
interest rates.
CUR_TRANSFER_RATE NUMBER(14,2) Current transfer rate
START_DATE_INDEX NOT NULL NUMBER(5) Start date index. This column references the
dgap_scenario_num column in the OFSA_
RESULT_BUCKET table.

Indexes
FDM requires that all user-defined ’Key’ Leaf Columns are included as components
of the unique index for OFSA_CONSOLIDATED_MASTER. Whenever you register
a new user-defined ’Key’ Leaf Column for your FDM database, you need to adjust
the unique index for OFSA_CONSOLIDATED_MASTER accordingly. The list of
indexes below contains only those indexes provided with the initial installation of
the FDM database.

Index Column
Index_Name Index Type Sequence Column_Name
OFSA_ Unique 1 RESULT_SYS_ID
CONSOLIDATED_
MASTER
OFSA_ Unique 2 RESULT_TYPE_CD
CONSOLIDATED_
MASTER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-81


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
OFSA_ Unique 3 SCENARIO_NUM
CONSOLIDATED_
MASTER
OFSA_ Unique 4 ORG_UNIT_ID
CONSOLIDATED_
MASTER
OFSA_ Unique 5 GL_ACCOUNT_ID
CONSOLIDATED_
MASTER
OFSA_ Unique 6 COMMON_COA_ID
CONSOLIDATED_
MASTER
OFSA_ Unique 7 START_DATE_INDEX
CONSOLIDATED_
MASTER
OFSA_ Non-unique 1 ORG_UNIT_ID
CONSOLIDATED_
MASTER
OFSA_ Non-unique 2 RESULT_SYS_ID
CONSOLIDATED_
MASTER_1
OFSA_ Non-unique 3 SCENARIO_NUM
CONSOLIDATED_
MASTER_1
OFSA_ Non-unique 1 GL_ACCOUNT_ID
CONSOLIDATED_
MASTER_2
OFSA_ Non-unique 2 RESULT_SYS_ID
CONSOLIDATED_
MASTER_2
OFSA_ Non-unique 3 SCENARIO_NUM
CONSOLIDATED_
MASTER_2
OFSA_ Non-unique 1 COMMON_COA_ID
CONSOLIDATED_
MASTER_3

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-82 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
OFSA_ Non-unique 2 RESULT_SYS_ID
CONSOLIDATED_
MASTER_3
OFSA_ Non-unique 3 SCENARIO_NUM
CONSOLIDATED_
MASTER_3

Sequences
Not applicable.

Column Code Values

Result_Type_CD
The result_type_cd column has the following codes:

Code Description
0 Current Position
1 New Business
-1 Combined Results
2 Formula Leaves Data

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-83


FDM Database Tables

OFSA_CONSTRUCT_ACTIONS
This table provides the list of Construct and Action combinations available for
OFSA operational tasks. These combinations make up the list of “Functions” for the
OFSA applications. For example, the Construct “Allocation ID” and the Action
“Run” are a function within Performance Analyzer. Only the combinations listed in
OFSA_CONSTRUCT_ACTIONS are assignable to users within FDM
Administration.
The list of entries for the OFSA_CONSTRUCT_ACTIONS table are seeded by the
FDM Database Upgrade and Database Creation Processes and are protected from
modification.

Columns
Column Name Null? Type Description
ACTION_CD NOT NUMBER(5) The code value identifying the Action.
NULL
CONSTRUCT_CD NOT NUMBER(5) The code value identifying the Construct.
NULL

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
CONSTRUCT_ Unique 1 ACTION_CD
ACTIONS_PK
CONSTRUCT_ Unique 2 CONSTRUCT_CD
ACTIONS_PK

Sequences
Not applicable.

Column Code Values

Action_CD
Refer to the OFSA_ACTIONS table in this reference manual for information
regarding the list of Action Codes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-84 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Construct_CD
Refer to the OFSA_CONSTRUCTS table in this reference manual for information
regarding the list of Construct Codes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-85


FDM Database Tables

OFSA_CONSTRUCTS
This table provides the list of Constructs available within OFSA Applications.
Constructs represent processes, business rules or other application interfaces used
within OFSA applications. For example, both the “Allocation ID” and “Server
Status Window” within Performance Analyzer are Constructs. The combination of a
Construct from OFSA_CONSTRUCTS and an Action from OFSA_ACTIONS form a
“function”, for which privileges may be granted within FDM Administration. This
constitutes a component of application security.
The list of entries for the OFSA_CONSTRUCTS table are seeded by the FDM
Database Upgrade and Database Creation Processes and are protected from
modification.

Columns

Column Name Null? Type Description


CONSTRUCT_CD NOT NUMBER(5) The code value identifying the Construct.
NULL
CONSTRUCT_NAME NOT NUMBER(5) Name of the Construct.
NULL

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
CONSTRUCTS_ Unique 1 CONSTRUCT_CD
PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-86 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_CURRENCIES
The OFSA_CURRENCIES table stores information about the Currency Codes
available for the FDM database. This table provides the list of available Currency
Codes and also identifies how the Currencies are employed within the current FDM
database. The OFSA_CURRENCIES table is referenced by all monetary based OFSA
application operations, including
■ Performance Analyzer Allocation processing
■ FDM Rate Manager Exchange Rate calculations
■ Risk Manager Processing
The FDM Database Creation and Database Upgrade processes seed OFSA_
CURRENCIES with the list of ISO Currency Codes available at the time of release.
Two additional Currency Codes, categorized as pseudo currencies, are provided for
special OFSA application processing requirements. FDM also enable users to create
their own Currency Codes using FDM Rate Manager.
Currency Codes are created and maintained using the FDM Rate Manager
application.

Psuedo Currencies
FDM 4.5 includes two pseudo Currency Codes used for specialized purposes within
Performance Analyzer and Risk Manager:

000 - “Default Currency”


Risk Manager assumption IDs created with the “Default” ISO Currency Code apply
to all ISO Currency Codes active in the database. This eliminates the need for the
user to specify the assumption detail for each active currency in the database.

002 - “Default Non-Currency Basis”


This Currency Code is used in the LEDGER_STAT table to indicate Statistical and
non-monetary based rows. This designates rows that are “non-currency based”,
meaning that exchange rate and other monetary based conversions do not apply for
Performance Analyzer processing.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-87


FDM Database Tables

Columns

Column Name Null? Type Description


ISO_CURRENCY_CD NOT VARCHAR2(3) The code value identifying the Currency.
NULL
USER_DEF_FLG NOT NUMBER(1) A ’0’ designates that the Currency Code is
NULL protected from update. A ’1’ designates that the
Currency Code is editable by users. Only the
psuedo Currency Codes (’000’ and ’002’) are
protected from update by the designation of
USER_DEF_FLG=0. All other Currency Codes,
including those seeded by the FDM Database
Upgrade and Database Creation processes, are
marked as USER_DEF_FLG=1.
CURRENCY_STATUS_ NOT NUMBER(1) A ’0’ designates that the Currency Code is a psuedo
CD NULL Currency. A ’1’ designates that the Currency Code
is “Active”. Active Currency Codes are available
for OFSA Applications. A ’2’ designates that the
Currency Code is ’Inactive’ and not currently
used. Currencies can be activated/de-activated
using FDM Rate Manager.
REPORTING_FLG NOT NUMBER(1) A ’1’ designates that the Currency Code is
NULL available for use as a Reporting Currency within
Risk Manager and FDM Rate Manager. FDM Rate
Manager calculates exchange rate conversions
only for Currency Codes identified with
REPORTING_FLG=1. A ’0’ designates that the
Currency Code is not used for reporting.
REFERENCE_IRC NUMBER(1) This column designates the primary indicator for
interest rate levels in that currency. For example,
the risk-free curve in the U.S. is the U.S. Treasury
curve. The Treasury curve could therefore be tied
to the ’USD’ ISO Currency Code.
OFSA_IRCS stores the list of valid values for this
column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-88 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
CURRENCIES_ Unique 1 ISO_CURRENCY_CD
PK

Sequences
Not applicable.

Column Code Values

Currency_Status_CD
The currency_status_cd column has the following codes:

Code Description
0 Psuedo
1 Active
2 Inactive

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-89


FDM Database Tables

OFSA_CURRENCY_MLS
The OFSA_CURRENCY_MLS table stores the translatable display names for the
Currency Codes in OFSA_CURRENCIES.
The FDM Database Creation and Database Upgrade processes seed OFSA_
CURRENCY_MLS with the display names for ISO Currency Codes available at the
time of release. Two additional Currency Codes, categorized as psuedo currencies,
are provided for special OFSA application processing requirements. FDM also
enables users to create their own Currency Codes using FDM Rate Manager.
Currency Codes are created and maintained using the FDM Rate Manager
application.

Columns
Column Name Null? Type Description
MLS_CD NOT VARCHAR2(3) Identifies the language for the Currency name.
NULL Links to OFSA_MLS.
ISO_CURRENCY_CD NOT VARCHAR2(3) Identifies the Currency Code from OFSA_
NULL CURRENCIES for which the name applies.
CURRENCY_NAME NOT VARCHAR2(40) The display name for the Currency Code.
NULL

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
CURRENCY_ Unique 1 MLS_CD
MLS_PK
CURRENCY_ Unique 2 ISO_CURRENCY_CD
MLS_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-90 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_DATA_IDENTITY
The OFSA_DATA_IDENTITY table records information about processes that have
performed data manipulation functions on the database. When processes such
Allocations or Ledger Stat Loading are invoked, information about that process is
recorded in the OFSA_DATA_IDENTITY table.
The Undo screen in the Process menu in Oracle Performance Analyzer enables users
to view identity codes logged for the database. Identity codes may be selected for
Undo from this interface.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-91


FDM Database Tables

Columns
Column Name Null? Type Description
IDENTITY_CODE NOT NULL NUMBER(10) Specifies the sequence number that was
generated to identify a process that
manipulated data in the instrument or
LEDGER_STAT tables. One row is inserted
per process. The same value is also
inserted/updated in a corresponding column
in the affected tables.
AS_OF_DATE NOT NULL DATE Identifies the time period of the source data.
If the source data is in an Instrument table,
then rows with matching as_of_date values in
that table are selected. If the source data is in
the LEDGER_STAT table, then rows in that
table with year_s and month_nn values that
match the MON and YYYY substrings of the
as_of_date are selected.
EVENT_DATE DATE Identifies the date when the process was
executed, in DD-MON-YYYY format.
EVENT_TIME VARCHAR2(8) Identifies the time of day when the process
was executed, in HH:MM:SS format.
USER_NAME VARCHAR2(15 Identifies the login name of the user that
) invoked the process.
SOURCE_TYPE NUMBER(5) Identifies the data source. See the Column
Code Values sub-section below.
TABLE_NAME NOT NULL VARCHAR2(30 Identifies the table affected by the process.
)
DESCRIPTION VARCHAR2(80 Indicates the identifier of the process that was
) run. In the case of an ’Allocation’ process, it is
the sys_id_num of the Allocation ID.
NUMBER_OF_ENTRIES NUMBER(10) Identifies the number of rows in TABLE_
NAME that were inserted or updated.
COLUMN_NAME NOT NULL VARCHAR(30) Identifies the column in TABLE_NAME that
was updated. If multiple columns were
updated or row(s) were inserted, this is
designated with an asterisk (*).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-92 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
DATA_IDENTITY Unique 1 IDENTITY_CODE
DATA_IDENTITY Unique 2 AS_OF_DATE

Sequences
Not applicable.

Column Code Values

Source_Type
The source_type column of the OFSA_DATA_IDENTITY table has the following
reserved codes:
Code Description
0 Download
15 Undefined
100 Oracle Performance Analyzer Allocation ID
202 Oracle Balance & Control Aggregation ID
304 Oracle Transfer Pricing Process ID
605 Oracle Budgeting & Planning Process ID*

*Source_Type 605 is not used in FDM version 4.5

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-93


FDM Database Tables

OFSA_DATA_TYPE_DSC
The OFSA_DATA_TYPE_DSC table stores the list of FDM Data Types. FDM Data
Types designate how registered columns are used within the Financial Data
Manager database and the OFSA applications. The FDM Data Type is a further
refinement of the Oracle RDBMS Data Type specified for the column at object
creation.
FDM Data Types identify the primary purpose for a column within the FDM
database. For example, both the ISO_CURRENCY_CD and CUR_BOOK_BAL
columns in the DEPOSITS table are designated as the Oracle RDBMS Data Type
NUMBER. However, the use of both columns within FDM is completely different.
This use is identified by the FDM Data Type. The ISO_CURRENCY_CD column is
designated as FDM Data Type “CODE”. This designation means that the OFSA
applications provide ISO Currency Code List of Values for situations requiring user
input. In contrast to this, the CUR_BOOK_BAL column is designated as FDM Data
Type “BALANCE” because it stores monetary values. Such columns are used in
currency based calculations within Performance Analyzer and other OFSA
applications.
FDM requires that each registered column be assigned a single FDM Data Type. The
FDM Database Creation and Database Upgrade processes assign FDM Data Types
for all objects registered by those processes. For user-defined tables and views, the
administrator assigns the FDM Data Type during Object Registration.
Column Property assignments represent a more granular designation of the ways a
column can be used within FDM. Refer to the “OFSA_COLUMN_PROPERTIES
section of this reference manual for more information.
The following table lists the valid FDM Data Types:

FDM Data Type Code FDM Data Type


1 BALANCE
2 CHAR
3 CODE
4 CODE_NUM
5 DATE
6 DESCRIPTION
7 LONG RAW

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-94 Oracle Financial Services Technical Reference Manual


FDM Database Tables

FDM Data Type Code FDM Data Type


8 FLAG
9 FREQ
10 LEAF
11 IDENTITY
12 ID_NUMBER
13 MULT
14 N/A
15 NUMBER
16 NUMERIC
17 RATE
18 SWITCH
19 SYS_ID_NUM
20 TERM
21 VARCHAR2
22 UNDEFINED
23 CHAR_RANGE

Deciding What FDM Data Type to Use


The majority of the available FDM Data Types are actually applicable only to FDM
internal (Reserved) objects. Because the Object Registration Wizard in FDM
Administration provides intelligent defaults, you rarely need to manually specify
the FDM Data Type during object registration. However, in the event that this is
necessary, generally users are concerned only with the following:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-95


FDM Database Tables

FDM Data Type When to use


BALANCE Assign this to columns storing monetary values.
CODE Assign this to columns for which corresponding names and
descriptions are stored in another table. Code columns can be
either numeric or alphanumeric. For example, the ACCRUAL_
BASIS_CD column is assigned to the ’CODE’ FDM Data Type
because it is a code for which the names and descriptions are
stored in OFSA_ACCRUAL_BASIS_CD and OFSA_ACCRUAL_
BASIS_MLS.
CODE_NUM Assign this to columns storing a code value for which there are
no corresponding names or descriptions.
DATE Assign this to columns with an Oracle RDBMS Data Type of
’DATE’.
DESCRIPTION Assign this to VARCHAR2 columns storing a long description.
NUMBER Assign this to columns storing number values that are not a
CODE, CODE_NUM, RATE or BALANCE column. Use this
FDM Data Type instead of NUMERIC. The NUMERIC FDM
Data Type is no longer used and remains only for legacy data.
RATE Assign this to columns storing both standard rates and weighted
rates.
VARCHAR2 Assign this to columns storing alphanumeric values that are not
CODE, CODE_NUM or DESCRIPTION.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-96 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


OFSA_DATA_TYPE_CD NOT NULL NUMBER(5) The code value identifying the FDM Data Type
Code.
OFSA_DATA_TYPE NOT NULL VARCHAR2(30) Name of the FDM Data Type.
DESCRIPTION VARCHAR2(255) Long description of the FDM Data Type.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DATA_TYPE_PK Unique 1 OFSA_DATA_TYPE_CD

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-97


FDM Database Tables

OFSA_DB_INFO
The OFSA_DB_INFO table provides information about the FDM database instance.
This table explicitly identifies the FDM Schema Owner, as well as other global
parameters applicable to the entire FDM database instance.
The FDM Database Creation process populates this table with a single row for the
database instance. With the exception of the Multicurrency Enablement flag, all of
the columns in this table are protected from update.

Column Name Null? Type Description


OWNER NOT NULL VARCHAR2(30) Identifies the FDM Schema Owner. The value
in this column must be the same as the owner
of all of the FDM Reserved tables.
CREATION_DATE NOT NULL VARCHAR2(30) Identifies the date of creation of the FDM
schema.
CHARACTER_SET VARCHAR2(255) Identifies the character set in which the
database was originally created. This column is
not currently used.
FUNCTIONAL_ NOT NULL VARCHAR2(3) Functional Currency is defined as “the
CURRENCY_CD currency of the primary economic
environment in which an entity conducts
its business”. In a single currency
environment, this is simply the currency code
of the financial organization. In a
multicurrency environment, this is the
currency used by the parent organization
for financial statement reporting.
The Functional Currency is specified during the
FDM Database Creation and Database Upgrade
processes. FDM includes a utility script for
changing the Functional Currency for your
database. Refer to the Oracle Financial Services
Installation and Configuration Guide for more
information on this utility.
MULTI_CURRENCY_ NOT NULL NUMBER(1) This column specifies whether multicurrency
ENABLED_FLG calculations are enabled for the database. A ’1’
indicates that multicurrency is enabled. Any
other value indicates that muli-currency is not
enabled. This flag affects calculations in the
OFSA applications.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-98 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DB_INFO_PK Unique 1 OWNER

Sequences
Not applicable.

Code Values

Functional_Currency_Cd
The list of Functional Currency Codes is stored in the OFSA_CURRENCIES table.
This list is not reprinted in this reference manual.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-99


FDM Database Tables

OFSA_DB_OBJ_PRIV_ASSIGNMENT
The OFSA_DB_OBJ_PRIV_ASSIGNMENT table stores a record of database object
privilege assignments granted from the FDM Administration application. Privileges
recorded in this table are automatically re-granted within the Oracle RDBMS when
the FDM Grant All procedure is executed.

Column Name Null? Type Description


RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the FDM registered role name to
which the privilege is assigned.
OWNER NOT NULL VARCHAR2(30) Identifies the owner of the object on which the
privilege applies.
OBJECT_NAME NOT_NULL VARCHAR2(30) Identifies the object on which the privilege
applies.
DB_OBJECT_ NOT NULL VARCHAR2(30) Identifies the privilege assigned to the
PRIVILEGE recipient_name. ’SELECT’, ’INSERT’,
’UPDATE’, ’DELETE’ and ’EXECUTE’ are
acceptable object privileges.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the row is seeded by the
FDM Database Creation and FDM Database
Upgrade processes and is protected from
modification. Any other value designates a
user-defined row.
The FDM Administration application prohibits
modification of protected rows.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-100 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DB_OBJ_PRIV_ Unique 1 OBJECT_NAME
ASSIGNMENT_PK
DB_OBJ_PRIV_ Unique 2 DB_OBJECT_PRIVILEGE
ASSIGNMENT_PK
DB_OBJ_PRIV_ Unique 3 RECIPIENT_NAME
ASSIGNMENT_PK
DB_OBJ_PRIV_ Unique 4 OWNER
ASSIGNMENT_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-101


FDM Database Tables

OFSA_DB_SYS_PRIV_ASSIGNMENT
The OFSA_DB_SYS_PRIV_ASSIGNMENT table stores a record of database system
privilege assignments granted from the FDM Administration application. Privileges
recorded in this table are automatically re-granted within the Oracle RDBMS when
the FDM Grant All procedure is executed.

Column Name Null? Type Description


RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the FDM registered role name to
which the privilege is assigned.
DB_SYSTEM_ NOT NULL VARCHAR2(30) Identifies the system privilege assigned to the
PRIVILEGE recipient_name. The list of acceptable system
privileges is stored in OFSA_SYSTEM_
PRIVILEGE_MAP.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the row is seeded by the
FDM Database Creation and FDM Database
Upgrade processes and is protected from
modification. Any other value designates a
user-defined row.
The FDM Administration application prohibits
modification of protected rows.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DB_SYS_PRIV_ Unique 1 RECIPIENT_NAME
ASSIGNMENT_PK
DB_SYS_PRIV_ Unique 2 DB_SYS_PRIVILEGE
ASSIGNMENT_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-102 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_DESCRIPTION_TABLES
OFSA_DESCRIPTION_TABLES stores a mapping of CODE columns that exist on
Client Data Objects (such as Instrument tables) to the table or view that provides
names and descriptions for those CODE columns. Description Table Mapping
provides the means to designate the data structures where descriptions are stored
for code value columns. The mapping of a Code column name to a data structure
storing descriptions for that code is then accessed by the OFSA applications for
reporting and user-interface operations.
For example, the DEPOSITS table has a code column named ACCRUAL_BASIS_
CD. This column stores values such as ’1’, ’2, or ’3’. The real world descriptions for
these code values are ’30/360’, ’Actual/360’ and ’Actual/Actual’. For the user to be
able to view these descriptions in a report, or within the Data Filter ID, for example,
the ACCRUAL_BASIS_CD column must be mapped to the appropriate table or
view from which these descriptions are retrieved.
The FDM Database Creation and Database Upgrade processes seed OFSA_
DESCRIPTION_TABLES with mappings for tables and views created by these
processes. You can create additional mappings using the Description Table Mapping
Wizard in the FDM Administration application.

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the FDM registered table or view
name on which the CODE column exists (such
as the Instrument table).
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the CODE column on the table or
view for which the mapping applies.
OWNER NOT NULL VARCHAR2(30) Identifies the owner of the table or view name.
DESCRIPTION_TABLE_ NOT NULL VARCHAR2(30) Designates the table or view from which the
NAME code descriptions are retrieved. In general, this
is a view name ’_DSC’.
DESCRIPTION_JOIN_ NOT NULL VARCHAR2(30) Designates the name of the column that exists
COLUMN_NAME on the Description table or view linking the
CODE column to the descriptions. Normally,
the name of this column is the same name as
the CODE column_name. However, there are
some cases where the name of the CODE
column on the Description table or view is not
the same as the name of the column on the
Instrument (or client data) object.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-103


FDM Database Tables

Column Name Null? Type Description


DESCRIPTION_TABLE_ NOT NULL VARCHAR2(30) Designates the owner of the Description table
OWNER or view.
VALUES_COLUMN_ NOT NULL VARCHAR2(30) Designates the column name in the Description
NAME table or view that stores the code descriptions.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DESCRIPTION_ Unique 1 TABLE_NAME
TABLES_PK
DESCRIPTION_ Unique 2 COLUMN_NAME
TABLES_PK
DESCRIPTION_ Unique 3 OWNER
TABLES_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-104 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_DETAIL_ELEM_B
The OFSA_DETAIL_ELEM_B table stores detailed information for financial element
leaf values. Financial element leaf values are defined in OFSA_LEAF_DESC. The
leaf_num_id in the OFSA_LEAF_DESC table assigned to the financial element leaf
column on installation of the FDM database is ’0’. For each record in the OFSA_
DETAIL_ELEM table, there should exist a corresponding record in the OFSA_
LEAF_DESC for leaf_num_id = 0.
OFSA_DETAIL_ELEM is accessed by processes requiring detailed information
about financial elements, such as the following:
■ Account_type is accessed to determine the sign (+,-) for Allocation output to
LEDGER_STAT.
■ Aggregate_method is accessed to determine how YTD values are to be
calculated in LEDGER_STAT.
■ Column_name is accessed by the Transformation ID to register the output
columns in OFSA_TAB_COLUMNS.

Columns

Column Name Null? Type Description


LEAF_NODE NOT NULL NUMBER(14) Designates the leaf value. The value for this
column is a leaf value only - it cannot be a node
value
AGGREGATE_METHOD NUMBER(5) Designates how balances for the leaf are
summed for year-to-date calculations.
Aggregate_method is accessed by the
following processes in order to calculate
year-to-date values for the YTD columns in the
LEDGER_STAT table:
■ LEDGER_STAT Load
■ Performance Analyzer ’Allocation’
processing
Aggregate method codes and the
corresponding descriptions are listed below in
the Column Code Values sub-section.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-105


FDM Database Tables

Column Name Null? Type Description


ACCOUNT_TYPE NUMBER(5) Designates the account classification for the
financial element. The account type is accessed
by Oracle Performance Analyzer Allocations in
the determination of the sign (+, -) of allocation
results.
Account type codes and the corresponding
descriptions are listed below in the Column
Code Values sub-section.
COLUMN_NAME VARCHAR2(30) Designates the column name of output tables
created by the Transformation ID for the
specified Financial Element. The
Transformation ID pivots tables causing
columns to be created to store values for
Financial Element IDs. In these cases, the
column_name field in OFSA_DETAIL_ELEM is
used to specify the column name for the
Transformation ID output table.
WEIGHTING_FE NUMBER(14) Designates the financial element used to
weight rate-related financial elements. This
financial element is used during the
Transformation ID process to calculate values
for rates.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DETAIL_ELEM Unique 1 LEAF_NODE

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-106 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Aggregate_method
The aggregate_method column of DETAIL_ELEM has the following codes:
Code Description
0 None
100 Add
105 Average
110 Average by Days Weighted
115 Last
120 Beginning

Account_type
The account_type column of DETAIL_ELEM has the following codes:
Code Description
0 None
-9980 <Use Detail Leaves>
100 Earning Assets
110 Off Balance Sheet Receivables
150 Non-interest Income
200 Other Asset
300 Interest-bearing Liabilities
310 Off Balance Sheet Payable
350 Non-interest Expense
375 Taxes
400 Other Liabilities
500 Equity
600 Dividends
610 Interest Income (Unallocated)
620 Interest Expense (Unallocated)
700 Statistical

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-107


FDM Database Tables

OFSA_DETAIL_ELEM_MLS
The OFSA_DETAIL_ELEM_MLS table stores the translatable display names for
Financial Elements. These display names are accessed by the Transformation ID
when creating Transformation output tables. Because the Transformation ID
converts rows (Financial Elements) to columns in the output table, FDM requires a
display name in OFSA_TAB_COLUMNS_MLS for the new columns for each
language installed in the FDM database. For each Financial Element value, the
Transformation ID accesses OFSA_DETAIL_ELEM_MLS for this display name.

Columns
Column Name Null? Type Description
MLS_CD NOT NULL VARCHAR2(3) Identifies the language for which the Display
Name applies.
LEAF_NODE NOT NULL NUMBER(14) Designates the leaf value. The value for this
column is a leaf value only - it cannot be a node
value.
DISPLAY_NAME VARCHAR2(40) Designates the display name for the column
specified in the column_name field above.
When the Transformation ID output table is
created, the display_name field in OFSA_TAB_
COLUMNS_MLS is populated with this value,
for each column created.

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
DETAIL_ELEM_ Unique 1 MLS_CD
MLS_PK
DETAIL_ELEM_ Unique 2 LEAF_NODE
MLS_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-108 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_DETAIL_GL_ACCOUNT_ID
The OFSA_DETAIL_GL_ACCOUNT_ID table identifies the Instrument table_name location
for each GL_ACCOUNT_ID value. The FDM reconciliation reports then use this relationship
to perform reconciliation between aggregate data in LEDGER_STAT and detail account data
in the instrument tables. The reconciliation reports match data in LEDGER_STAT with
Instrument table data based upon knowing which instrument table stores data for each GL_
ACCOUNT_ID value in LEDGER_STAT.
Follow the instructions detailed in the Oracle Financial Data Manager Reporting
Administration Guide, Release 4.5, for information on how to populate and use the
OFSA_DETAIL_GL_ACCOUNT_ID table for reconciliation reporting.

Column Name Null? Type Description


GL_ACCOUNT_ID NOT NULL NUMBER(14) Identifies the GL_ACCOUNT_ID value.
TABLE_NAME NOT NULL VARCHAR2(30) Identifies the Instrument table_name where
detail account records for the specified GL_
ACCOUNT_ID are stored.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DETAIL_GL_ Unique 1 GL_ACCOUNT_ID
ACCOUNT_ID_PK
DETAIL_GL_ Unique 2 TABLE_NAME
ACCOUNT_ID_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-109


FDM Database Tables

OFSA_DETAIL_LEAVES
The OFSA_DETAIL_LEAVES table stores detailed information for common chart of
account (common_coa_id) leaf values. Common chart of account (COA) leaf values
are defined in OFSA_LEAF_DESC. The leaf_num_id in the OFSA_LEAF_DESC
table assigned to the COMMON_COA_ID leaf column on installing the FDM
database is ’3’. For each record in the OFSA_DETAIL_ELEM table, there should
exist a corresponding record in the OFSA_LEAF_DESC for leaf_num_id = 3.
OFSA_DETAIL_LEAVES is accessed by processes requiring detailed information
about common COAs, such as the following:
■ Account_type is accessed to determine the sign (+,-) for Allocation output to
LEDGER_STAT (in conjunction with information in OFSA_DETAIL_LEAVES
for the financial element).
■ Accrual_basis_cd is accessed by accrual basis report macros in the OFSA Report
ID.
■ O_coa_id and O_org_id are accessed by the Ledger Load ’Create Offset
Records’ feature.

Columns

Column Name Null? Type Description


LEAF_NODE NOT NULL NUMBER(14) Designates the leaf value. The value for this column
is a leaf value only - it cannot be a node value
ACCOUNT_TYPE NUMBER(5) Designates the account classification for the
common COA. In cases where the financial element
account type is set to Use Detail Leaves, the account
type in OFSA_DETAIL_LEAVES is accessed by
Oracle Performance Analyzer Allocations in the
determination of the sign (+, -) of allocation results.
In these cases the Allocation retrieves the account
type from OFSA_DETAIL_LEAVES for the common
COA of the record being processed.
ACCRUAL_BASIS_CD NUMBER(5) Designates the accrual basis used for the Common
COA. Several Report ID macros access the accrual_
basis_cd based on the Common COA of the record
being processed. Accrual basis codes and the
corresponding descriptions are listed below in the
Column Code Values sub-section.
TAX_RATE NUMBER(8,4) Not currently used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-110 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


O_COA_ID NUMBER(14) Specifies the Offset Common Chart of Accounts ID.
This column must be populated with a valid
common COA ID leaf value. The o_coa_id column
is accessed by the ’Ledger Load’ process to output
offset records in LEDGER_STAT. Offset records are
created only when the ’Create Offset Records’
feature of the ’Ledger Load’ process is activated.
O_ORG_ID NUMBER(14) Specifies the Offset Organizational Unit ID. This
column must be populated with a valid
organizational unit ID leaf value. The o_org_id
column is accessed by the ’Ledger Load’ process to
output offset records in LEDGER_STAT. Offset
records are created only when the ’Create Offset
Records’ feature of the ’Ledger Load’ process is
activated.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DETAIL_LEAVES Unique 1 LEAF_NODE

Sequences
Not applicable.

Column Code Values

Account_type
The account_type column of OFSA_DETAIL_LEAVES has the following codes:

Code Description
100 Earning Asset
110 Off B/S Rcvbl
150 Non Int Income
200 Other Asset

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-111


FDM Database Tables

Code Description
300 Int Bearing Liability
310 Off B/S Payable
350 Non Int Expense
375 Taxes
400 Other Liabs
500 Equity
600 Dividends
610 Interest Income (Unallocated)
620 Interest Expense (Unallocated)
700 Statistical

Accrual_Basis_CD
The ACCRUAL_BASIS_CD column of OFSA_DETAIL_LEAVES has the following
codes:

Code Description
0 None
1 30/360
2 Actual/360
3 Actual/Actual
4 30/365
5 30/Actual
6 Actual/365

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-112 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_DETAIL_ORG_UNIT
The OFSA_DETAIL_ORG_UNIT table stores detailed information for
Organizational Unit (org_unit_id) leaf values. Organizational Unit leaf values are
defined in OFSA_LEAF_DESC. The leaf_num_id in the OFSA_LEAF_DESC table
assigned to the Organizational Unit leaf column during installation of the FDM
database is ’1’. For each record in the OFSA_DETAIL_ORG_UNIT table, there
should exist a corresponding record in the OFSA_LEAF_DESC for leaf_num_id = 1.

Columns

Column Name Null? Type Description


LEAF_NODE NOT NULL NUMBER(14) Designates the leaf value. The value for this column is a
leaf value only - it cannot be a node value
O_ORG_ID NUMBER(14) Not currently used.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
DETAIL_ORG_UNIT Unique 1 LEAF_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-113


FDM Database Tables

OFSA_DETAIL_OTHER_COA
The OFSA_DETAIL_OTHER_COA table stores detailed information for the General
Ledger Account leaf column (gl_account_id) and other user-defined leaves. For
each record in OFSA_DETAIL_OTHER_COA, there should exist an identifying
record in OFSA_LEAF_DESC for the same leaf_num_id and leaf_node combination.

Special Use of DETAIL_OTHER_COA for Risk Manager


When processing Risk Manager using a user-defined Product Leaf, the OFSA_
DETAIL_OTHER_COA mapping for the product leaf is used to output values for
the common_coa_id in the Risk Manager Result tables. For example, if the user has
created a new leaf called RM_PRODUCT_ID and uses this leaf column for Risk
Manager processing, the value for the common_coa_id field in the results table,
(RES_DTL_XXXXXX) is based on the mapping in OFSA_DETAIL_OTHER_COA for
the product leaf.

Columns

Column Name Null? Type Description


LEAF_NUM_ID NOT NULL NUMBER(5) Designates the leaf_num_id for the leaf_node.
Because values for multiple leaf columns can be
stored in OFSA_DETAIL_OTHER_COA, the leaf_
num_id is used to identify the leaf column to which
the leaf_node belongs.
LEAF_NODE NOT NULL NUMBER(14) Designates the leaf value. The value for this column
is a leaf value only - it cannot be a node value
COMMON_COA_ID NOT NULL NUMBER(14) Associates a common chart of accounts leaf value
(common_coa_id) with the specified leaf_node.
This is used for mapping alternative charts of
accounts implemented for OFSA processing to a
common COA.
TAX_RATE NUMBER(8,4) Not currently used.
O_COA_ID NUMBER(14) Not currently used.
O_ORG_ID NUMBER(14) Not currently used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-114 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DETAIL_OTHER_COA Unique 1 LEAF_NUM_ID
DETAIL_OTHER_COA Unique 2 LEAF_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-115


FDM Database Tables

OFSA_DYN_TAB_CLASS_PRIV_ASSIGN
The OFSA_DYN_TAB_CLASS_PRIV_ASSIGN table stores a record of dynamic
object privilege assignments on groups of objects (Table Classifications) granted to
users, User Groups and Roles from the FDM Administration application. Privileges
recorded in this table are automatically re-granted within the Oracle RDBMS when
the FDM Grant All procedure is executed.
Dynamic objects are those tables created by Risk Manager and Transformation
output processing. When such tables are created, FDM grants any dynamic
privileges for the Table Classification (of the output table being created) recorded in
OFSA_DYN_TAB_CLASS_PRIV_ASSIGN to the specified user, User Group or Role.
The FDM Database Creation and Database Upgrade procedures seed dynamic
privileges for some of the seeded roles. Administrators assign additional privileges
in the FDM Administration application. For more information about dynamic
privileges and how they are assigned within FDM Administration, refer to the
Oracle Financial Data Manager Administration Guide.

Column Name Null? Type Description


TABLE_ NOT NULL NUMBER(5) Identifies the Table Classification for which the
CLASSIFICATION_CD object privilege is assigned. The recipient
receives the specified privilege on all objects
assigned to the designated Table Classification.
RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the user, User Group or Role to which
the privilege is assigned.
DB_OBJECT_ NOT NULL VARCHAR2(30) Identifies the privilege assigned to the
PRIVILEGE recipient_name. ’SELECT’, ’INSERT’,
’UPDATE’, ’DELETE’ are acceptable dynamic
object privileges.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the row is seeded by the
FDM Database Creation and FDM Database
Upgrade processes and is protected from
modification. Any other value designates an
editable rows.
The FDM Administration application prohibits
modification of protected rows.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-116 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
DYN_TAB_CLASS_ Unique 1 TABLE_CLASSIFICATION_CD
PRIV_ASSIGN_PK
DYN_TAB_CLASS_ Unique 2 RECIPIENT_NAME
PRIV_ASSIGN_PK
DYN_TAB_CLASS_ Unique 3 DB_OBJECT_PRIVILEGE
PRIV_ASSIGN_PK

Sequences
Not applicable.

Code Values

Table_Classification_Cd
Refer to the sections in this reference manual describing OFSA_TABLE_
CLASSIFICATION and OFSA_TABLE_CLASSIFICATION_MLS for information
regarding FDM Table Classification Codes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-117


FDM Database Tables

OFSA_DYN_TABLE_PRIV_ASSIGN
The OFSA_DYN_TABLE_PRIV_ASSIGN table stores a record of dynamic object
privilege assignments on individual tables granted to users, User Groups and Roles
from the FDM Administration application. Privileges recorded in this table are
automatically re-granted within the Oracle RDBMS when the FDM Grant All
procedure is executed.
Dynamic objects are those tables created by Risk Manager and Transformation
output processing. When such tables are created, FDM grants any dynamic
privileges recorded in OFSA_DYN_TAB_CLASS_PRIV_ASSIGN on the output table
being created to the specified user, User Group or Role.
For more information about dynamic privileges and how they are assigned within
FDM Administration, refer to the Oracle Financial Data Manager Administration
Guide.

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the output table for which the object
privilege is assigned. The recipient receives the
specified privilege on the specified table_name
during object creation.
RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the user, User Group or Role to which
the privilege is assigned.
DB_OBJECT_ NOT NULL VARCHAR2(30) Identifies the privilege assigned to the
PRIVILEGE recipient_name. ’SELECT’, ’INSERT’,
’UPDATE’, ’DELETE’ are acceptable dynamic
object privileges.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-118 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
DYN_TABLE_PRIV_ Unique 1 TABLE_NAME
ASSIGN_PK
DYN_TABLE_PRIV_ Unique 2 RECIPIENT_NAME
ASSIGN_PK
DYN_TABLE_PRIV_ Unique 3 DB_OBJECT_PRIVILEGE
ASSIGN_PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-119


FDM Database Tables

OFSA_EAR_LEAF_AVG
This table is used as a template for the definition of Risk Manager Earnings at Risk
processing results tables. This template is used for Product Leaf results averaged
across all rate paths. Risk Manager creates these results tables during “Stochastic”
processing, and they are named following this format: EAR_LEAF_AVG_XXXXXX.
Refer to the EAR_LEAF_AVG_XXXXXX section in this reference manual for more
information.

Columns

Column Name Null? Type Description


LEAF_NODE NOT NULL NUMBER(14) Identifies the Product Leaf for the earnings
results.
START_DATE NOT NULL DATE Designates the begin date for which the earnings
apply.
END_DATE NOT NULL DATE Designates the ending date for which the
earnings apply.
EARNINGS NOT NULL NUMBER(14,2) Designates the earnings for the specified date
range and product leaf. The Earnings are stated
in the currency code designated in OFSA_IDT_
RESULT_HEADER for the RM Process Sys ID.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
EAR_LEAF_AVG_PK Unique 1 LEAF_NODE
EAR_LEAF_AVG_PK Unique 2 START_DATE
EAR_LEAF_AVG_PK Unique 3 END_DATE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-120 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_EAR_LEAF_DTL
This table is used as a template for the definition of Risk Manager Earnings at Risk
processing results tables. This template is used for Product Leaf results for all rate
paths. Risk Manager creates these results tables during “Stochastic” processing
where the “Detail Earnings Options - Leaf Earnings” is selected, and they are
named following this format: EAR_LEAF_DTL_XXXXXX. Refer to the EAR_LEAF_
DTL_XXXXXX section in this reference manual for more information.

Columns
Column Name Null? Type Description
RATE_PATH_NUM NOT NULL NUMBER(5) Identifies the Rate Path of the earnings results.
LEAF_NODE NOT NULL NUMBER(14) Identifies the Product Leaf for the earnings
results.
START_DATE NOT NULL DATE Designates the begin date for which the earnings
apply.
END_DATE NOT NULL DATE Designates the ending date for which the
earnings apply.
EARNINGS NOT NULL NUMBER(14,2) Designates the earnings for the specified date
range and product leaf. The Earnings are stated
in the currency code designated in OFSA_IDT_
RESULT_HEADER for the RM Process Sys ID.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
EAR_LEAF_DTL_PK Unique 1 RATE_PATH_NUM
EAR_LEAF_DTL_PK Unique 2 LEAF_NODE
EAR_LEAF_DTL_PK Unique 3 START_DATE
EAR_LEAF_DTL_PK Unique 4 END_DATE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-121


FDM Database Tables

OFSA_EAR_TOTAL_AVG
This table is used as a template for the definition of Risk Manager Earnings at Risk
processing results tables. This template is used for EAR results aggregated by date
bucket, averaged across all rate paths. Risk Manager creates these results tables
during “Stochastic” processing, and they are named following this format: EAR_
TOTAL_AVG_XXXXXX. Refer to the EAR_TOTAL_AVG_XXXXXX section in this
reference manual for more information.

Columns
Column Name Null? Type Description
START_DATE NOT NULL DATE Designates the begin date for which the earnings
apply.
END_DATE NOT NULL DATE Designates the ending date for which the
earnings apply.
NET_INTEREST_ NOT NULL NUMBER(14,2) Designates the Net Interest Income for the
INCOME specified date range. The Net Interest Income is
stated in the currency code designated in OFSA_
IDT_RESULT_HEADER for the RM Process Sys
ID.
NET_INCOME NOT NULL NUMBER(14,2) Designates the Net Income for the specified date
range. The Net Income is stated in the currency
code designated in OFSA_IDT_RESULT_
HEADER for the RM Process Sys ID.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
EAR_TOTAL_AVG_PK Unique 1 START_DATE
EAR_TOTAL_AVG_PK Unique 2 END_DATE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-122 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_EAR_TOTAL_DTL
This table is used as a template for the definition of Risk Manager Earnings at Risk
processing results tables. This template is used for EAR results aggregated by date
bucket, for all rate paths. Risk Manager creates these results tables during
“Stochastic” processing where the “Detail Earnings Options - Portfolio Earnings” is
selected, and they are named following this format: EAR_TOTAL_DTL_XXXXXX.
Refer to the EAR_TOTAL_DTL_XXXXXX section in this reference manual for more
information.

Columns
Column Name Null? Type Description
RATE_PATH_NUM NOT NULL NUMBER(5) Identifies the Rate Path of the earnings results.
START_DATE NOT NULL DATE Designates the begin date for which the earnings
apply.
END_DATE NOT NULL DATE Designates the ending date for which the
earnings apply.
NET_INTEREST_ NOT NULL NUMBER(14,2) Designates the Net Interest Income for the
INCOME specified date range and Rate Path. The Net
Interest Income is stated in the currency code
designated in OFSA_IDT_RESULT_HEADER for
the RM Process Sys ID.
NET_INCOME NOT NULL NUMBER(14,2) Designates the Net Income for the specified date
range and Rate Path. The Net Income is stated in
the currency code designated in OFSA_IDT_
RESULT_HEADER for the RM Process Sys ID.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-123


FDM Database Tables

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
EAR_TOTAL_DTL_PK Unique 1 RATE_PATH_NUM
EAR_TOTAL_DTL_PK Unique 3 START_DATE
EAR_TOTAL_DTL_PK Unique 4 END_DATE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-124 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_EXCHANGE_RATE_HIST
The OFSA_EXCHANGE_RATE_HIST table stores the history of standard (floating)
exchange rates input from the FDM Rate Manager application.

Column Name Null? Type Description


FROM_CURRENCY_CD NOT NULL VARCHAR2(3) ISO Currency code identifying one side of the
exchange rate relationship, in which the rate is
expressed in terms of 1 unit of TO_
CURRENCY_CD. The OFSA_CURRENCIES
table stores the list of valid Currency Code
values.
TO_CURRENCY_CD NOT NULL VARCHAR2(3) ISO Currency code identifying the other side of
the exchange rate relationship. The rate is
expressed in terms of 1 unit of TO_
CURRENCY_CD. The OFSA_CURRENCIES
table stores the list of valid Currency Code
values.
EFFECTIVE_DATE NOT NULL DATE Specifies the date for which the Exchange Rate
is valid for the designated currencies.
EXCHANGE_RATE NOT NULL NUMBER(15,9) The Exchange Rate for the designated
currencies for the specified date. EXCHANGE_
RATE is the rate of conversion from the FROM_
CURRENCY_CD to 1 unit of the corresponding
TO_CURRENCY_CD.
RATE_DATA_SOURCE_ NOT NULL NUMBER(5) Specifies the source of the Exchange rate
CD information. The OFSA_RATE_DATA_
SOURCE_DSC view provides the list of valid
Rate Data Source codes.
EXCHANGE_RATE_ NOT NULL NUMBER(5) Specifies whether the Exchange Rate is valid,
STATUS_CD invalid, or being processed. The OFSA_
EXCHANGE_RATE_STATUS_DSC view
provides the list of valid Exchange Rate Status
codes.
LAST_MODIFIED_ NOT NULL DATE Designates the date that the Exchange Rate was
DATE last updated.
LAST_MODIFIED_BY NOT NULL VARCHAR2(30) Identifies the user who last modified the
Exchange Rate.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-125


FDM Database Tables

Column Name Null? Type Description


INSERT_FLG NUMBER(1) FDM uses this column to control how audit
information is recorded in OFSA_
EXCHANGE_RATE_HIST_AUDIT. It
differentiates those records that have only been
inserted from those records that have been
updated. A ’1’ indicates that the record has
never been updated. Any other value indicates
that the record has been modified.
A database trigger on OFSA_EXCHANGE_
RATE_HIST sets this value to ’1’ whenever the
record is inserted, and ’0’ when the record is
updated.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
EXCHANGE_RATE_ Unique 1 FROM_CURRENCY_CD
HIST_PK
EXCHANGE_RATE_ Unique 2 TO_CURRENCY_CD
HIST_PK
EXCHANGE_RATE_ Unique 3 EFFECTIVE_DATE
HIST_PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-126 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Code Values

Exchange_Rate_Status_CD
The EXCHANGE_RATE_STATUS_CD column has the following code values:

Exchange_Rate_
Status_CD Description
0 Not Yet Validated
1 Valid
2 Invalid
3 Currently being processed

Rate_Data_Source_CD
The RATE_DATA_SOURCE_CD column has the following code values:

Rate_Data_Source_CD Description
1 User Input
2 Calculated
3 Bloomberg
4 DRI
5 Reuters
6 Risk Metrics

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-127


FDM Database Tables

OFSA_EXCHANGE_RATES_AUDIT
The OFSA_EXCHANGE_RATES_AUDIT table stores Forecast Exchange Rates audit
information for Risk Manager Scenario Based Process IDs. Risk Manager Process
IDs output audit information to this table when run with the “Forecast Rates” Audit
Flag checked.
The Oracle Budgeting & Planning “Exchange Rate” Data Movement Routine reads
information from OFSA_EXCHANGE_RATES_AUDIT for exchange rate
forecasting.

Column Name Null? Type Description


PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager Process ID. Links
to the OFSA_CATALOG_OF_IDS table where
ID_TYPE=205.
SCENARIO_NUM NOT NULL NUMBER(10) Identifies the scenario number for which the
audit information applies.
FROM_CURRENCY NOT NULL VARCHAR2(3) Identifies the currency being converted (that is,
the “source” currency). Links to the ISO_
CURRENCY_CD field of the OFSA_
CURRENCIES table.
TO_CURRENCY NOT NULL VARCHAR2(3) Identifies the target currency for the
conversion. Links to the ISO_CURRENCY_CD
field of the OFSA_CURRENCIES table.
BUCKET_NUM NOT NULL NUMBER(5) Designates the bucket number for which the
Exchange rate applies.
BUCKET_START_DATE NOT NULL DATE Designates the starting date for the specified
bucket number.
BUCKET_END_DATE NOT NULL DATE Designates the ending date for the specified
bucket number.
EXCHANGE_RATE NOT NULL NUMBER(15,9) Designates the forecasted exchange rate for the
specified bucket number.
PROCESS_DATE NOT NULL DATE Designates the date that the Risk Manager
Process was run.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-128 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
EXCHANGE_RATES_ Unique 1 PROCESS_SYS_ID
AUDIT_PK
EXCHANGE_RATES_ Unique 2 SCENARIO_NUM
AUDIT_PK
EXCHANGE_RATES_ Unique 3 FROM_CURRENCY
AUDIT_PK
EXCHANGE_RATES_ Unique 4 TO_CURRENCY
AUDIT_PK
EXCHANGE_RATES_ Unique 5 BUCKET_NUM
AUDIT_PK

Sequences
Not applicable.

Code Values

From_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the From_Currency_CD column.

To_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the To_Currency_CD column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-129


FDM Database Tables

OFSA_EXCHNG_RATE_CONV_FORMULA
The FDM Rate Manager Exchange Rate Validation process populates the OFSA_
EXCHNG_RATE_CONV_FORMULA table with detail information for exchange
rate conversions that require triangulation.
An example of such a conversion is a conversion between U.S. Dollars (USD) and
an individual European currency, such as the French Franc (FRF). Because the Franc
has a fixed relationship with the Euro (EUR), this conversion requires triangulation,
that is, conversion via the Euro.

Column Name Null? Type Description


EXCHANGE_RATE_ NOT NULL NUMBER(15) System generated sequence linking the
CONV_FORMULA triangulation details with the EXCHANGE_
RATE_CONV_FORMULA column on the
OFSA_EXCHNG_RATE_DIRECT_ACCESS
table.
CONVERT_FROM_ NOT NULL VARCHAR2(3) Identifies the “source” currency.
CURRENCY_CD
CONVERT_TO_ NOT NULL VARCHAR2(3) Identifies the “target” currency.
CURRENCY_CD
EXCHANGE_RATE_ NOT NULL NUMBER(5) Designates the sequence order of the
CONVERSION_ORDER triangulation conversions. For example, when
converting from USD to FRF, the first
conversion would be from USD to EUR and the
second conversion would be from EUR to FRF.
EXCHANGE_RATE NOT NULL NUMBER(15,9) Designates the exchange rate for the
conversion.
EXCHANGE_RATE_ NOT NULL NUMBER(5) Designates the mathematical operator for the
CONV_OPERATOR conversion. Value ’0’ means that the balance is
divided by the exchange rate. Value ’1’ means
that the balance is multiplied by the exchange
rate.
EXCHANGE_RATE_ NOT NULL NUMBER(5) Defines how the exchange rate is obtained (that
CONVERT_TYPE_CD is, retrieved directly from input, or calculated).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-130 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
EXCHNG_RATE_ Unique 1 EXCHANGE_RATE_CONV_
CONV_FORMULA_PK FORMULA
EXCHNG_RATE_ Unique 2 EXCHANGE_RATE_
CONV_FORMULA_PK CONVERSION_ORDER

Sequences
Not applicable.

Code Values

Convert_From_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the Convert_From_Currency_CD column.

Convert_To_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the Convert_To_Currency_CD column.

Exchange_Rate_Convert_Type_CD
The EXCHANGE_RATE_CONVERT_TYPE_CD column has the following code
values:

Exchange_Rate_
Convert_Type_CD Description
1 Direct Fixed
2 Inverse Fixed
3 Direct Floating
4 Inverse Floating
5 Non-Triangulated

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-131


FDM Database Tables

OFSA_EXCHNG_RATE_DIRECT_ACCESS
The FDM Rate Manager Exchange Rate Validation process populates the OFSA_
EXCHNG_RATE_DIRECT_ACCESS table with information on exchange rate
conversions.

Column Name Null? Type Description


FROM_CURRENCY_CD NOT NULL VARCHAR2(3) Identifies the currency being converted.
TO_CURRENCY_CD NOT NULL VARCHAR2(3) Identifies the “target” currency.
EFFECTIVE_FROM_ NOT NULL DATE Specifies the first date for which the Exchange
DATE Rate is valid.
EFFECTIVE_TO_DATE DATE Specifies the date after which the Exchange
Rate is no longer valid. May be null.
EXCHANGE_RATE NOT NULL NUMBER(15,9) Designates the Exchange Rate for the currency
conversion.
EXCHANGE_RATE_ NOT NULL NUMBER(5) Designates the type of conversion.
CONVERT_TYPE_CD
EXCHANGE_RATE_ NUMBER(5) If triangulation is required, the value in this
CONV_FORMULA column links to the value in the EXCHANGE_
RATE_CONV_FORMULA column in the
OFSA_EXCHNG_RATE_CONV_FORMULA
table. If no triangulation is required, this
column is null.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
EXCHNG_RATE_ Unique 1 FROM_CURRENCY_CD
DIRECT_ACCESS_PK
EXCHNG_RATE_ Unique 2 TO_CURRENCY_CD
DIRECT_ACCESS_PK
EXCHNG_RATE_ Unique 3 EFFECTIVE_FROM_DATE
DIRECT_ACCESS_PK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-132 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Sequences
Not applicable.

Code Values

Exchange_Rate_Convert_Type_CD
The EXCHANGE_RATE_CONVERT_TYPE_CD column has the following code
values:

Exchange_Rate_
Convert_Type_CD Description
1 Direct Fixed
2 Inverse Fixed
3 Direct Floating
4 Inverse Floating
5 Non-Triangulated

From_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the From_Currency_CD column.

To_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the To_Currency_CD column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-133


FDM Database Tables

OFSA_FISCAL_YEAR_INFO
The OFSA_FISCAL_YEAR_INFO table designates the duration (in months) and the
first month of the fiscal period. Because the fiscal period may be different from the
calendar year, the OFSA_FISCAL_YEAR_INFO table has been provided to enable
users to designate both the duration of the fiscal period and the start month for the
fiscal period.
The fiscal period may be any length of time up to 12 months. Similarly, the start_
month must be a value from 1 to 12 (inclusive). Default values of 1 for the start_
month and 12 for the fiscal_period are provided with the installation of the FDM
database.
The start_month column is used to designate date values for the monthly bucket
columns in the LEDGER_STAT table. For example, the LEDGER_STAT table has 12
monthly bucket columns, month_01 through month_12. The start_month value in
OFSA_FISCAL_YEAR_INFOOFSA_FISCAL_YEAR_INFO table designates which
month of the year is assigned to each column. If the start_month value is 3, then
March is assigned to the month_01 column and April is assigned to the month_02
column.
The fiscal_period value is used to designate how YTD values are summed in the
LEDGER_STAT YTD columns by the Ledger Load. For example, if the fiscal_period
is set to’6’, the YTD values in LEDGER_STAT is re-set in the ytd_07 column (rather
than being cumulative from ytd_01 through ytd_12). Reporting operations also
accesses OFSA_FISCAL_YEAR_INFO to determine the month columns to be
retrieved by the Report ID for the specified dates.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-134 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns

Column Name Null? Type Description


START_MONTH NOT NULL NUMBER(5) Designates which month is the first month of the
fiscal_period. Must be a value from 1 to 12. A
default value of ’1’ is provided in the installation of
the database.
FISCAL_PERIOD NOT NULL NUMBER(5) Designates the duration (in months) of the fiscal
period. Must be a value from 1 to 12. A default
value of ’12’ is provided in the installation of the
database.
Note Oracle Budgeting & Planning requires that
fiscal_period = 12.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
OFSA_FISCAL_YEAR_ Unique 1 START_MONTH
INFO
OFSA_FISCAL_YEAR_ Unique 2 FISCAL_PERIOD
INFO

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-135


FDM Database Tables

OFSA_FIXED_CURRENCIES
The OFSA_FIXED_CURRENCIES table stores exchange rates for currencies that are in fixed
relationships with each other for a given period of time. Such exchange rates are entered
manually from FDM Rate Manager.

Column Name Null? Type Description


CHILD_CURRENCY_ NOT NULL VARCHAR2(3) ISO Currency code identifying one side of the
CD fixed exchange rate relationship. The rate is
expressed in terms of 1 unit of PARENT_
CURRENCY_CD. The OFSA_CURRENCIES
table stores the list of valid currency code
values.
PARENT_CURRENCY_ NOT NULL VARCHAR2(3) ISO Currency Code identifying the other side
CD of the fixed exchange rate relationship. The rate
is expressed in terms of 1 unit of Parent
Currency Code. The OFSA_CURENCIES table
stores the list of valid currency code values for
this column.
EFFECTIVE_FROM_ NOT NULL DATE Specifies the first date for which the Exchange
DATE Rate is valid.
EFFECTIVE_TO_DATE DATE Specifies the date after which the Exchange
Rate is no longer valid. May be null.
EXCHANGE_RATE NOT NULL NUMBER(15,9) Designates the Exchange Rate for the currency
conversion. EXCHANGE_RATE is the rate of
conversion from CHILD_CURRENCY_CD to 1
unit of the corresponding PARENT_
CURRENCY_CD.
RATE_DATA_SOURCE_ NOT NULL NUMBER(5) Identifies the information source of the
CD Exchange rate.
EXCHANGE_RATE_ NOT NULL NUMBER(5) Designates the current state of the Exchange
STATUS_CD Rate.
LAST_MODIFIED_ NOT NULL DATE Specifies the date on which the Exchange rate
DATE was last updated.
LAST_MODIFIED_BY NOT NULL VARCHAR2(30) Specifies the user performing the most recent
update on the Exchange rate.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-136 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


INSERT_FLG NOT NULL NUMBER(1) FDM uses this column to control how audit
information is recorded in OFSA_FIXED_
CURRENCIES_AUDIT. It differentiates those
records that have only been inserted from those
records that have been updated. A ’1’ indicates
that the record has never been updated. Any
other value indicates that the record has been
modified.
A database trigger on OFSA_FIXED_
CURRENCIES sets this value to ’1’ whenever
the record is inserted, and ’0’ when the record
is updated.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
FIXED_CURRENCIES_ Unique 1 CHILD_CURRENCY_CD
PK
FIXED_CURRENCIES_ Unique 2 EFFECTIVE_FROM_DATE
PK

Sequences
Not applicable.

Code Values

Child_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the Child_Currency_CD column.

Exchange_Rate_Status_CD
The EXCHANGE_RATE_STATUS_CD column has the following code values:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-137


FDM Database Tables

Exchange_Rate_
Status_CD Description
0 Not Yet Validated
1 Valid
2 Invalid
3 Currently being processed

Parent_Currency_CD
Refer to the section describing the OFSA_CURRENCIES table for a list of values for
the Parent_Currency_CD column.

Rate_Data_Source_CD
The RATE_DATA_SOURCE_CD column has the following code values:

Rate_Data_Source_CD Description
1 User Input
2 Calculated
3 Bloomberg
4 DRI
5 Reuters
6 Risk Metrics

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-138 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_ID_FOLDER_ACCESS
The OFSA_ID_FOLDER_ACCESS table stores privilege assignments on ID Folders. ID
Folders are collections of OFSA IDs. Users require privileges to ID Folders in order to access
OFSA IDs within the OFSA applications. ID Folder access privileges are granted to users,
User Groups and Security Profiles from within FDM Administration.
Because users can receive Folder access privileges directly, or indirectly from User
Groups and Security Profiles, use the OFSA_USER_ID_FOLDER_ASSIGN_V view
to query for user Folder access privileges from all sources.

Column Name Null? Type Description


RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the user, User Group, or Security
Profile that is allowed to access the IDs in the
specified ID Folder. This column links to
OFSA_PRIVILEGE_RECIPIENTS.
FOLDER_NAME NOT NULL VARCHAR2(30) Identifies the ID Folder on which the access
privilege is granted.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
ID_FOLDER_ACCESS_ Unique 1 RECIPIENT_NAME
PK
ID_FOLDER_ACCESS_ Unique 2 FOLDER_NAME
PK

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-139


FDM Database Tables

OFSA_ID_FOLDERS
The OFSA_ID_FOLDERS table identifies all of the OFSA ID Folders in the database. ID
Folders are designated as either ’Individual’ or ’Group’. ’Individual’ ID Folders are available
only to the user with the same name as the ID Folder. IDs stored in such Folders are never
available to other users. ’Group’ Folders store IDs that are available to any user with access to
the ID Folder, designated in OFSA_ID_FOLDER_ACCESS.
ID Folders are created in FDM Administration.
The FDM Database Upgrade Process and Database Creation Processes seed the
following Folders:

ID Folder Description
ALL ID Folder for IDs that can be accessed by any registered user.
OFSA ID Folder for IDs seeded by the FDM Database Creation and
Database Upgrade processes.
DELETED_USERS ID Folder for IDs belonging to unregistered users (that is, FDM
users that have been unregistered using FDM Administration).
Access to this ID Folder should be restricted.

Column Name Null? Type Description


FOLDER_NAME NOT NULL VARCHAR2(30) Identifies the ID Folder.
INDIVIDUAL_FLG NOT NULL NUMBER(1) A ’1’ designates that the ID Folder is an
’Individual’ Folder. ’Individual’ Folders are
available only to the user with the same name
as the ID Folder. Any other value designates a
’Group’ Folder.
PROTECTED_FLG NOT NULL NUMBER(1) A ’1’ designates that the record is seeded by the
FDM Database Upgrade and Database Creation
Processes and is protected from modification.
DESCRIPTION VARCHAR2(255) Long description for the ID Folder.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-140 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
ID_FOLDERS_PK Unique 1 FOLDER_NAME

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-141


FDM Database Tables

OFSA_IDT_CONFIGURE
The OFSA_IDT_CONFIGURE table is used to store information about OFSA
Configuration IDs. Configuration IDs enable users to specify parameters that are
used for their sessions within the OFSA applications. These parameters are used
during the creation of new OFSA IDs, reporting and processing.
OFSA_IDT_CONFIGURE is accessed during login to any OFSA product. The FDM
Administration application automatically creates a new Configuration ID during
User Registration for the newly registered user. Configuration IDs can also be
created, deleted and activated in Oracle Transfer Pricing and Oracle Risk Manager.
Configuration IDs can be edited (but not created or deleted) from Oracle Balance &
Control, Oracle Performance Analyzer, and Oracle Portfolio Analyzer.

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) System generated number identifying the
Configuration ID.
LEAF_1 NUMBER(5) Not currently used.
LEAF_2 NUMBER(5) Not currently used.
COMPANY VARCHAR2(30) Indicates the name of the financial
institution to which the user is associated.
The company name appears in the header
section of reports created using the OFSA
Report ID.
DATA_AS_OF_DATE DATE Designates the current month specified for
the Configuration ID for OFSA processing
and reporting.
DIR_DATA VARCHAR2(40) Designates the output directory for OFSA
Report IDs in which the output is directed
to the hard-disk (rather than a printer or to
the screen).
CALC_RATE_CODE NUMBER(5) Not currently used.
MDL_END_FREQ NUMBER(5) Not currently used.
MDL_END_FREQ_MULT NUMBER(5) Not currently used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-142 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


PERMISSION CHAR(1) An ’R’ indicates that the Configuration ID
can be modified only by the original
creator. A ’W’ indicates that any user with
access to the Group (specified in group_
name) can modify the Configuration ID.
ACTIVE NUMBER(5) Not currently used.
MAX_PROC_ERROR NUMBER(5) Designates the maximum number of errors
that can be output to the OFSA_PROCESS_
ERRORS table by any single OFSA process.
MAX_PROC_ERROR_ITEM NUMBER(5) Designates the maximum number of
occurrences of any error code that can be
output to the OFSA_PROCESS_ERRORS
table by any single OFSA process.
ORG_LEAF NUMBER(5) Designates the leaf column used as the
organizational unit leaf for OFSA
processing for the Configuration ID. In
general, there should only be a single leaf
in the database created as an
organizational unit, so this leaf should
almost always be set to the leaf_num_id =
1 (which is the leaf_num_id of the default
organizational unit leaf in OFSA_
CATALOG_OF_LEAVES, which is
provided with the initial installation of the
FDM database).
RECON_LEAF NUMBER(5) Not currently used.
PRODUCT_LEAF NUMBER(5) Designates the leaf column used as the
product leaf for OFSA processing for the
Configuration ID. Unlike the org_leaf
described above, it is possible that
Configuration IDs in the database are
assigned to different product_leaf values,
depending on the product being run.
For example, one Configuration ID might
use a Transfer Pricing product leaf as the
product_leaf, while another might use a
Risk Manager product leaf. The value
specified in this column is the leaf_num_id
of the leaf from the OFSA_CATALOG_OF_
LEAVES table.
FILTER_SYS_ID NUMBER(10) Not currently used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-143


FDM Database Tables

Column Name Null? Type Description


CHG_CRED_ACCR_FCTR NUMBER(5) Designates the charge and credit accrual
factor to be applied when calculating the
cost of funds using Transfer Pricing. A list
of codes for this column is presented in the
Column Code Values sub-section below.
FINAN_ELEM_LEAF NUMBER(5) Not currently used.
TM_LF_CHAR_SYS_ID NUMBER(10) Designates the Leaf Characteristics ID that
is used when creating any new Transaction
Strategy IDs. Each time a Transaction
Strategy ID is created, default
characteristics from the Leaf
Characteristics ID is retrieved.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IDT_CONFIGURE_ Unique 1 SYS_ID_NUM
PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-144 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Chg_cred_accr_fctr
The chg_cred_accr_fctr column of OFSA_IDT_CONFIGURE has the following
codes:

Code Description
0 None
1 30/360
2 Actual/360
3 Actual/Actual
4 30/365
5 30/Actual
6 Actual/365

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-145


FDM Database Tables

OFSA_IDT_RESULT_DETAIL
This table is used as a template for the definition of Risk Manager Scenario based
Processing Results tables and is named following this format: RES_DTL_XXXXXX.
OFSA_IDT_RESULT_DETAIL does not actually contain any data. Rather, the
structure of this table, including indexes, determines the structure and indexes of
the results tables created during Scenario based Risk Manager processing. This table
must contain all of the registered, non-Helper Leaf Columns listed in OFSA_
CATALOG_OF_LEAVES.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Risk Manager Process ID number. Identifies the
ID that generated the results.
RESULT_TYPE_CD NOT NULL NUMBER(5) Result type. This value must be a value that
exists in the result_type_cd column of the OFSA_
RESULT_TYPE_DSC table.
SCENARIO_NUM NOT NULL NUMBER(5) Scenario number references the scenario_num
column in the OFSA_RESULT_SCENARIO table.
This reference should be used to look up the
descriptions of each scenario.
START_DATE_INDEX NOT NULL NUMBER(5) Start date index. This references the dgap_
scenario_num column in the OFSA_RESULT_
BUCKET table.
ISO_CURRENCY_CD NOT NULL VARCHAR2(3) Identifies the currency of the Risk Manager
results.
FINANCIAL_ELEM_ID NOT NULL NUMBER(14) Financial Element ID
ORG_UNIT_ID NOT NULL NUMBER(14) The organizational code
GL_ACCOUNT_ID NOT NULL NUMBER(14) Specific general ledger account assignment
COMMON_COA_ID NOT NULL NUMBER(14) Leaf column that defines the lowest common
level of detail across all product chart of account
definitions.
BUCKET_001 through NUMBER(15,2) Sequenced buckets between 1 and 120 that hold
BUCKET_120 numeric values.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-146 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes
The unique index for the OFSA_IDT_RESULT_DETAIL table must include as
components all of the registered non-Helper Leaf Columns. The list of indexes
below contains only those indexes provided with an initial installation of the FDM
database.

Index Column
Index_Name Index Type Sequence Column_Name
IDT_RESULT_DETAIL_ Unique 1 RESULT_SYS_ID
UK
IDT_RESULT_DETAIL_ Unique 2 RESULT_TYPE_CD
UK
IDT_RESULT_DETAIL_ Unique 3 SCENARIO_NUM
UK
IDT_RESULT_DETAIL_ Unique 4 START_DATE_INDEX
UK
IDT_RESULT_DETAIL_ Unique 5 FINANCIAL_ELEM_ID
UK
IDT_RESULT_DETAIL_ Unique 6 ORG_UNIT_ID
UK
IDT_RESULT_DETAIL_ Unique 7 GL_ACCOUNT_ID
UK
IDT_RESULT_DETAIL_ Unique 8 COMMON_COA_ID
UK
IDT_RESULT_DET_FIN Non-unique 1 FINANCIAL_ELEM_ID
IDT_RESULT_D_SCN Non-unique 1 SCENARIO_NUM
IDT_RESULT_D_SDI Non-unique 1 START_DATE_INDEX

Sequences
Not applicable.

Column Code Values

Result_Type_CD
The result_type_cd column has the following codes:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-147


FDM Database Tables

Code Description
0 Current Position
1 New Business
-1 Combined Results
2 Formula Leaves Data

ISO_Currency_CD
The list of ISO Currency Codes for the FDM database can be retrieved from the
OFSA_CURRENCIES_V view.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-148 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_IDT_RESULT_HEADER
This table stores the basic set of assumptions that make up an Oracle Risk Manager
Process ID, as read from the definition of the ID during processing. In addition to
reference information about the Risk Manager Process ID, data in this table
designates the currency (ISO_CURRENCY_CD) for Risk Manager processing
results.
IDT_RESULT_HEADER is also accessed during Transformation ID processing for
the transformation of Risk Manager results to the FDM Reporting Data Mart.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Stores the system identifier for the Risk
Manager Process ID
REPORTING_ NOT NULL VARCHAR2(3) Identifies the currency for Risk Manager
CURRENCY_CD processing results.
FILTER_SYS_ID NUMBER(10) Filter System ID. This identifies the filter used
during processing. This field may hold the
identifier for either a Tree Filter ID, Group
Filter ID or Data Filter ID.
RATES_SYS_ID NOT NULL NUMBER(10) Forecast Rates ID
PREPAY_SYS_ID NUMBER(10) Prepayment ID
DISCOUNT_SYS_ID NUMBER(10) Discount Rates ID
FBAL_SYS_ID NOT NULL NUMBER(10) Forecast Balance ID
MATURITY_SYS_ID NOT NULL NUMBER(10) Maturity ID
PRICING_SYS_ID NUMBER(10) Pricing Margin ID
TRANSACTION_SYS_ID NUMBER(10) Transaction Strategy ID
AUTO_BALANCE_CD NUMBER(5) Auto balance code. A ’1’ indicates auto
balancing was set to ’On’ during processing
and a ’0’ indicates it was set to ’Off’.
FORMULA_LEAVES_CD NUMBER(5) Identifies if the ’Formula Leaves’ processing
switch was on during creation of this set of
result data. A ’1’ indicates it is on and a ’0’
indicates it is off.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-149


FDM Database Tables

Column Name Null? Type Description


MARKET_VALUE_CD NUMBER(5) Market value code. A ’1’ indicates that the
market value is set to ’On’ and a ’0’ indicates it
was set to ’Off’.
DYNAMIC_GAP_CD NUMBER(5) Dynamic gap code. A ’1’ indicates it is ’On’ and
a ’0’ indicates it is ’Off’.
OVERWRITE_CD NUMBER(5) A switch to indicate whether or not to
overwrite results in idt_result_detail and
result_master. A ’1’ indicates results are
overwritten and a ’0’ indicates the results are
not overwritten.
TM_PROCESS_TYPE_CD NUMBER(5) Identifies whether the Risk Manager Process is
’Scenario’ or ’Stochastic’.
LEAF_CHARAC_SYS_ID NUMBER(10) Designates the Leaf Characteristics ID for the
Risk Manager Process.
FMLA_LEAVES_SYS_ID NUMBER(10) Designates the Formula Leaves ID for the Risk
Manager Process.
VALUATION_CURVE_ NUMBER(5) Designates the interest rate curve used in
CD Stochastic processing for the risk free yield
curve. Must be an INTEREST_RATE_CD from
the OFSA_IRCS table.
RATE_INDEX_SYS_ID NUMBER(10) Designates the Rate Index ID for the Risk
Manager process.
NUM_OF_RATE_PATHS NUMBER(5) Designates the number of rate paths used for
the Risk Manager process.
RAND_SEQ_TYPE_CD NUMBER(5) Designates the random number generation
method for Stochastic processing.
VALUE_AT_RISK_FLG NUMBER(1) Identifies if the Risk Manager Process
calculates Value at Risk. A ’1’ indicates Value at
Risk calculations. Any other value indicates no
Value at Risk calculations.
VAL_PERIOD NUMBER(5) Designates the time period for Value at Risk
calculations. The VAL_PERIOD_MULT field
identifies whether this value is for days,
months or years.
VAL_PERIOD_MULT CHAR(1) Multiplier designation for the VAL_PERIOD
column. Acceptable values are ’D’ for days, ’M’
for months, and ’Y’ for years.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-150 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


EARNINGS_AT_RISK_ NUMBER(1) Identifies if the Risk Manager process
FLG calculates Earnings at Risk. A ’1’ indicates
Earnings at Risk calculations. Any other value
indicates no Earnings at Risk calculations.
EAR_LEAF_DTL_FLG NUMBER(1) Designates that the Risk Manager process
calculates rate path detail results by Product
Leaf. Indicates output to a ’EAR_LEAF_DTL_
XXXXXX’ table.
EAR_TOTAL_DTL_FLG NUMBER(1) Designates that the Risk Manager process
calculates rate path detail results summed by
date bucket. Indicates output to a ’EAR_
TOTAL_DTL_XXXXXX’ table.
TS_MODEL_CD NUMBER(5) Designates the Term Structure model code for
the process.
SMOOTHING_ NUMBER(5) Designates the Smoothing Method code for the
METHOD_CD process.
OUTPUT_BY_ NUMBER(1) For scenario based processing, identifies
CURRENCY_FLG whether to output results to the RES_DTL_
XXXXXX and OFSA_RESULT_MASTER tables
in multicurrencies.
OUTPUT_BY_ORG_FLG NUMBER(1) For scenario based processing, identifies
whether to output results by Organizational
Unit ID dimension as well as Product Leaf.
OUTPUT_FCAST_ NUMBER(1) Designates that the process outputs audit
RATES_FLG information to OFSA_INTEREST_RATES_
AUDIT.
CONSOLIDATED_ NUMBER(1) For scenario based processing, if multicurrency
OUTPUT_FLG output is enabled, Risk Manager calculates
separate consolidated results translated into the
reporting currency. Risk Manager outputs these
results to CONS_DTL_XXXXXX and OFSA_
CONSOLIDATED_MASTER.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IDT_RESULT_HEADER Unique 1 RESULT_SYS_ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-151


FDM Database Tables

Sequences
Not applicable.

Column Code Values

Rand_Seq_Type_CD
The Rand_Seq_Type_CD column of OFSA_IDT_RESULT_HEADER has the
following codes:

Code Description
0 Psuedo Random Sequences
1 Low Discrepancy Sequences

Smoothing_Method_CD
The Smoothing_Method_CD column of OFSA_IDT_RESULT_HEADER has the
following codes:

Code Description
0 Cubic spline of yields
1 Linear Interpolation

TM_Process_Type_CD
The TM_Process_Type_CD column of OFSA_IDT_RESULT_HEADER has the
following codes:

Code Description
1 Scenario
2 Stochastic

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-152 Oracle Financial Services Technical Reference Manual


FDM Database Tables

TS_Model_CD
The TS_Model_CD column of OFSA_IDT_RESULT_HEADER has the following
codes:

Code Description
1 Merton
2 Ho and Lee
3 Vasicek
4 Extended Vasicek

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-153


FDM Database Tables

OFSA_IDT_ROLLUP
The OFSA_IDT_ROLLUP table stores information about the structure of FDM
user-defined leaf hierarchies, called tree rollups. Tree Rollup IDs can be created to
define multiple organizational, product, account and other hierarchies by using
leaves as the lowest level of detail in the hierarchical structure.
Reporting and processing functions use the hierarchical relationships defined in the
OFSA_IDT_ROLLUP, OFSA_LEVEL_DESC and OFSA_NODE_DESC tables to
segment, group and filter instrument and ledger data by the designated leaf type.
Each record in the OFSA_IDT_ROLLUP table contains the Rollup information for
each individual leaf value in the tree. Each parent node and its hierarchical
relationship to the leaf is specified for each leaf value attached to the tree. Leaf
values that are not attached are then displayed in the Orphan section of the Tree.
Orphan leaves are leaves to which each node assignment (node_01 - node_14) is a
non-existent parent node specifically designated as ’-99100’.
The tree data in OFSA_IDT_ROLLUP is used by both the Subtotal ID and Tree Filter
ID. OFSA_IDT_ROLLUP is also accessed by the Allocation ID interface and during
Allocation processing when nodes from a tree rollup are used in the Allocation.

Balanced Trees
FDM requires balanced tree hierarchies. A balanced tree is one in which the number
of levels is consistent for all branches. In other words, the lowest level of the tree
(leaf level) must always be the same for every branch.
If a tree has been defined as having x levels, each leaf node must be x levels from
the Total Rollup (highest point in the tree - always a single node). For example,
FDM does not allow a situation in which a leaf node exists on level 4 of a 5 level
tree.

Caution: While the interface allows the construction of such an


invalid Tree Rollup ID, the use of an unbalanced tree in
Performance Analyzer Allocation processes generates errors.

The tree must be balanced so that leaf nodes are always on the last branch of the
tree.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-154 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) System identifier of the tree rollup. This is a foreign key
that points to the sys_id_num in the OFSA_CATALOG_
OF_IDS table.
LEAF_NODE NOT NULL NUMBER(14) Value for the leaf. Leaf must exist in OFSA_LEAF_DESC for
the designated leaf_num_id of the tree rollup.
SEQUENCES NOT NULL NUMBER(5) Display sequence for the leaf
SEQUENCE_01 NUMBER(5) Display sequence for the immediate parent node
designated in node_01.
SEQUENCE_02 NUMBER(5) Display sequence for node_02, that is parent of node_01. If
the tree rollup has <2 Levels, the sequence_02 value is 0.
SEQUENCE_03 NUMBER(5) Display sequence for node_03, that is parent of node_02. If
the tree rollup has <3 Levels, the sequence_03 value is ’0’.
SEQUENCE_04 NUMBER(5) Display sequence for node_04, that is parent of node_03. If
the tree rollup has <4 Levels, the sequence_04 value is ’0’.
SEQUENCE_05 NUMBER(5) Display sequence for node_05, that is parent of node_04. If
the tree rollup has <5 Levels, the sequence_05 value is ’0’.
SEQUENCE_06 NUMBER(5) Display sequence for node_06, that is parent of node_05. If
the tree rollup has <6 Levels, the sequence_06 value is ’0’.
SEQUENCE_07 NUMBER(5) Display sequence for node_07, that is parent of node_06. If
the tree rollup has <7 Levels, the sequence_07 value is ’0’.
SEQUENCE_08 NUMBER(5) Display sequence for node_08, that is parent of node_07. If
the tree rollup has <8 Levels, the sequence_08 value is ’0’.
SEQUENCE_09 NUMBER(5) Display sequence for node_09, that is parent of node_08. If
the tree rollup has <9 Levels, the sequence_09 value is ’0’.
SEQUENCE_10 NUMBER(5) Display sequence for node_10, that is parent of node_09. If
the tree rollup has <10 Levels, the sequence_10 value is ’0’.
SEQUENCE_11 NUMBER(5) Display sequence for node_11, that is parent of node_10. If
the tree rollup has <11 Levels, the sequence_11 value is ’0’.
SEQUENCE_12 NUMBER(5) Display sequence for node_12, that is parent of node_11. If
the tree rollup has <11 Levels, the sequence_11 value is ’0’.
SEQUENCE_13 NUMBER(5) Display sequence for node_13, that is parent of node_12. If
the tree rollup has <13 Levels, the sequence_13 value is ’0’.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-155


FDM Database Tables

Column Name Null? Type Description


SEQUENCE_14 NUMBER(5) Display sequence for node_14, that is parent of node_13. If
the tree rollup has <14 Levels, the sequence_14 value is ’0’.
NODE_01 NUMBER(14) Immediate parent of leaf_node. Description record must
exist in OFSA_NODE_DESC for this value.
NODE_02 NUMBER(14) Parent of node_01. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <2 Levels,
the node_02 value is’-99100’.
NODE_03 NUMBER(14) Parent of node_02. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <3 Levels,
the node_03 value is ’-99100’.
NODE_04 NUMBER(14) Parent of node_03. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <4 Levels,
the node_04 value is ’-99100’.
NODE_05 NUMBER(14) Parent of node_04. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <5 Levels,
the node_05 value is ’-99100’.
NODE_06 NUMBER(14) Parent of node_05. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <6 Levels,
the node_06 value is ’-99100’.
NODE_07 NUMBER(14) Parent of node_06. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <7 Levels,
the node_07 value is ’-99100’.
NODE_08 NUMBER(14) Parent of node_07. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <8 Levels,
the node_08 value is ’-99100’.
NODE_09 NUMBER(14) Parent of node_08. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <9 Levels,
the node_09 value is ’-99100’.
NODE_10 NUMBER(14) Parent of node_09. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <10
Levels, the node_10 value is ’-99100’.
NODE_11 NUMBER(14) Parent of node_10. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <11
Levels, the node_11 value is ’-99100’.
NODE_12 NUMBER(14) Parent of node_11. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <12
Levels, the node_12 value is ’-99100’.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-156 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


NODE_13 NUMBER(14) Parent of node_12. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <13
Levels, the node_13 value is ’-99100’.
NODE_14 NUMBER(14) Parent of node_13. Description record must exist in OFSA_
NODE_DESC for this value. If the tree rollup has <14
Levels, the node_14 value is ’-99100’.

Example Data:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-157


FDM Database Tables

Note: Sequence_07 through sequence_14 and node_07 through


node_14 have been omitted to simplify the presentation of the data.
The values for sequence_07 though sequence_14 are set to ’0’ and
the values for node_07 through node_14 are set to -99100.

In this example, for leaf 101001 Commercial Fixed, the relationship to node 110026
Commercial Loans is specified in the node_01 column. However, it is actually Level
6 of the tree rollup. Similarly, node 110018 Commercial Loans is specified in node_
02, while it is Level 5 of the tree.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-158 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
IDT_ROLLUP UNIQUE 1 sys_id_num
IDT_ROLLUP UNIQUE 1 leaf_node
IDT_ROLLUP UNIQUE 1 sequences

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-159


FDM Database Tables

OFSA_IDT_SUBTOTAL
The OFSA_IDT_SUBTOTAL table stores data for Subtotal IDs. Subtotal IDs enable
the user to specify summarization points for an Portfolio Analyzer Report ID.
Nodes designated in the Subtotal ID appear in the output of an Portfolio Analyzer
Report ID as ’subtotaled’ line items. Subtotal IDs also enable the user to designate
sign operators ’+’ or ’-’ for nodes and leaves. The Report ID applies the specified
sign operators to the designated leaves or nodes in the report output.
A node record in OFSA_IDT_SUBTOTAL with show_flag = ’Y’ indicates that a
subtotal line for that node appears in report output (for any reports using the
Subtotal ID). If the show_flag = ’N’, the node does not appear in the report output.
The node is still included in any subtotal calculations at a higher level, however. A
leaf record in OFSA_IDT_SUBTOTAL with show_flag = ’Y’ indicates that the leaf
appears in report output. If the show_flag = ’N’, the leaf does not appear in the
report output, but the leaf is still included in any subtotal calculations at a higher
level.
Data in OFSA_IDT_SUBTOTAL is maintained using the Subtotal ID interface. Data
in OFSA_IDT_SUBTOTAL is accessed only by Report IDs.

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) Identifies the Subtotal ID.
ROLLUP_SYS_ID NOT NULL NUMBER(10) Identifies the Tree Rollup ID upon which the Subtotal ID
is based.
ROLLUP_LEVEL NOT NULL NUMBER(5) Identifies the level on the Tree Rollup ID where the node
or leaf resides.
ROLLUP_NODE NOT NULL NUMBER(14) Designates the leaf or node included in the Tree Filter ID.
Links to leaf_node in OFSA_IDT_ROLLUP for leaves and
rollup_node in OFSA_NODE_DESC for nodes.
PAGE_BREAK Not currently used.
SHOW_FLAG A ’Y’ designates if the leaf or node displays on the report
output.
OPERATOR A ’-’ designates that the value for the leaf or node is
multiplied by ’-1’ on the report output. A ’+’ designates
that the value is not changed on the report output. This
column defaults to ’+’.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-160 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
IDT_SUBTOTAL Unique 1 SYS_ID_NUM
IDT_SUBTOTAL Unique 2 ROLLUP_SYS_ID
IDT_SUBTOTAL Unique 3 ROLLUP_LEVEL
IDT_SBUTOTAL Unique 4 ROLLUP_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-161


FDM Database Tables

OFSA_IDT_VIEW_FILTER
The OFSA_IDT_VIEW_FILTER table stores data for Tree Filter IDs. Tree Filter IDs
enable the user to specify leaves or nodes of a Tree Rollup ID for inclusion in a
OFSA process, or in a Portfolio Analyzer Report ID. The leaves or nodes specified in
the Tree Filter ID are included in the ’where’ clause of process or report using the
Tree Filter ID.
The combination of rollup_level and rollup_node in OFSA_IDT_VIEW_FILTER
identifies a leaf or a node from the Tree Rollup ID specified by the rollup_sys_id.
When the record identifies a node, all leaf values in the Tree Rollup ID that reside
below the node are automatically included in the Tree Filter ID. In this case, only the
node record exists in OFSA_IDT_VIEW_FILTER, the process or report using the
Tree Filter ID executes the logic necessary to retrieve all leaves attached to the node.
Data in OFSA_IDT_VIEW_FILTER is maintained using the Tree Filter ID interface.
Data in OFSA_IDT_VIEW_FILTER is accessed by any OFSA processing for which a
Tree Filter ID has been specified, such as Allocation IDs, Data Correction Process
IDs, Transformation IDs and so forth.

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) Identifies the Tree Filter ID.
ROLLUP_SYS_ID NOT NULL NUMBER(10) Identifies the Tree Rollup ID upon which the Tree Filter
ID is based. Links to sys_id_num in OFSA_IDT_
ROLLUP.
ROLLUP_LEVEL NOT NULL NUMBER(5) Identifies the level on the Tree Rollup ID where the node
or leaf resides.
ROLLUP_NODE NOT NULL NUMBER(14) Designates the leaf or node included in the Tree Filter
ID. Links to leaf_node in OFSA_IDT_ROLLUP for leaves
and rollup_node in OFSA_NODE_DESC for nodes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-162 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IDT_VIEW_FILTER Unique 1 SYS_ID_NUM
IDT_VIEW_FILTER Unique 2 ROLLUP_SYS_ID
IDT_VIEW_FILTER Unique 3 ROLLUP_LEVEL
IDT_VIEW_FILTER Unique 4 ROLLUP_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-163


FDM Database Tables

OFSA_INDEX_STORAGE_DEFAULTS
The OFSA_INDEX_STORAGE_DEFAULTS table enables the FDM administrator to
specify the storage parameters that are to be used by the transformation engine
when it creates any index on a transformation output table. Data for this table is
maintained using the Data Verification ID to edit the storage parameters in existing
rows or create new rows for individual users.

Columns
For detailed descriptions of the columns in this table, and for further explanation on
how the transformation engine uses the information in these tables to size output
tables, refer to the section entitled ’Transformation Output Tables’ in the “FDM
Object Management” chapter of the Oracle Financial Services Installation and
Configuration Guide.

Indexes
Index
Index Column
Index_Name Type Sequence Column_Name
OFSA_INDEX_STORAGE_DEFAULTS Unique 1 TABLE_DATA_CODE
OFSA_INDEX_STORAGE_DEFAULTS Unique 1 USER_NAME

Sequences
Not applicable.

Column Code Values

Output_Table_Class_CD
The Output_Table_Class_CD column of OFSA_INDEX_STORAGE_DEFAULTS
identifies the transformation output Table Classification types and contains the
following codes:
Code Description
260 Transformed Ledger Stat
270 Transformed RM Cash Flow
280 Transformed RM GAP
290 Transformed Tree Rollup

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-164 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_INSTRUMENT_ACCOUNT_CUST
The OFSA_INSTRUMENT_ACCOUNT_CUST table provides a link between
account records in any of the Accounts tables (Instruments, Services and
Transactions) with customers in the CUST table. This link ties the FDM Accounts
data model with the FDM Customer data model.

Columns

Column Name Null? Type Description


IDENTITY_CODE NOT NULL NUMBER(10) Identifies the Identity_Code value of the Instrument
Account record.
ID_NUMBER NOT NULL NUMBER(25) Identifies the Account number of the Instrument
Account record.
INSTRUMENT_ NOT NULL NUMBER(5) Identifies the type of Instrument Account. The
TYPE_CD INSTRUMENT_TYPE_CD provides differentiation
between duplicate Account identifiers where
IDENTITY_CODE and ID_NUMBER overlap across
multiple Instrument tables.
CUS_KEY NOT NULL VARCHAR2(30) Identifies the Customer for the designated
Instrument Account from the CUST table.
REL_TYPE VARCHAR2(1) The customer’s relationship to the account: P =
primary, S = secondary.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
INSTRUMENT_ Unique 1 ID_NUMBER
ACCOUNT_PK
INSTRUMENT_ Unique 2 IDENTITY_CODE
ACCOUNT_PK
INSTRUMENT_ Unique 3 INSTRUMENT_TYPE_CD
ACCOUNT_PK
INSTRUMENT_ Unique 4 CUS_KEY
ACCOUNT_PK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-165


FDM Database Tables

Index Index Column


Index_Name Type Sequence Column_Name
INSTRUMENT_ Non 1 CUS_KEY
ACCOUNT_CUST_01 -unique
INSTRUMENT_ Non 2 ID_NUMBER
ACCOUNT_CUST_01 -unique
INSTRUMENT_ Non 3 IDENTITY_CODE
ACCOUNT_CUST_01 -unique
INSTRUMENT_ Non 4 INSTRUMENT_TYPE_CD
ACCOUNT_CUST_01 -unique
INSTRUMENT_ Non 1 INSTRUMENT_TYPE_CD
ACCOUNT_CUST_02 -unique

Sequences
Not applicable.

Column Code Values

Instrument_Type_Cd
INSTRUMENT_TYPE_CD values are defined in OFSA_INSTRUMENT_TYPE_CD
and OFSA_INSTRUMENT_TYPE_MLS. Use the OFSA_INSTRUMENT_TYPE_DSC
view to retrieve valid codes and descriptions for this column.

Code Description
110 Commercial Loan
120 Consumer Loan
130 Mortgages
140 Investments
141 MBS
150 Credit Card
210 Deposits
220 Wholesale Funding

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-166 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Rel_Type
REL_TYPE code values and descriptions are as follows.

Code Description
P Primary
S Secondary

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-167


FDM Database Tables

OFSA_INSTRUMENT_TYPE_CD
The OFSA_INSTRUMENT_TYPE_CD table provides the list of Instrument table
categories. The INSTRUMENT_TYPE_CD column is required to distinguish
between duplicate ID_NUMBER and IDENTITY_CODE values in situations where
they overlap across different Instrument Account tables.
The FDM Database Upgrade and Database Creation processes populate the OFSA_
INSTRUMENT_TYPE_CD table with a set of default Instrument Type code values
where INSTRUMENT_TYPE_CD <500. These default values are reserved by FDM
and protected from update. FDM permits user-defined code values for
INSTRUMENT_TYPE_CD>=500.

Columns

Column Name Null? Type Description


INSTRUMENT_ NOT NULL NUMBER(5) Value identifying the Instrument Type Code.
TYPE_CD
TABLE_NAME VARCHAR2(30) Designates the Instrument Account table name for
the specified Instrument Type Code.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
INSTRUMENT_TYPE_ Unique 1 INSTRUMENT_TYPE_CD
CD_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-168 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_INSTRUMENT_TYPE_MLS
The OFSA_INSTRUMENT_TYPE_CD table provides translatable display names
and descriptions for Instrument Type Code values.

Columns

Column Name Null? Type Description


MLS_CD NOT NULL VARCHAR2(3) Identifies the language for the display name and
description.
INSTRUMENT_ NOT NULL NUMBER(5) Value identifying the Instrument Type Code.
TYPE_CD
INSTRUMENT_ NOT NULL VARCHAR2(40) Display name for the Instrument Type Code.
TYPE
DESCRIPTION VARCHAR2(255) Description for the Instrument Type Code.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
INSTRUMENT_TYPE_ Unique 1 MLS_CD
MLS_PK
INSTRUMENT_TYPE_ Unique 2 INSTRUMENT_TYPE_CD
MLS_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-169


FDM Database Tables

OFSA_INTEREST_RATES_AUDIT
The OFSA_INTEREST_RATES_AUDIT table provides interest rate audit
information for Risk Manager Scenario based IDs and Transfer Pricing processes.
Also stores Risk Manager audit information for Monte Carlo rate paths generated
when the ’Write One Month Rates’ flag is checked.

Columns

Column Name Null? Type Description


PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager Process ID for which the
interest rate audit information applies.
CALC_SOURCE_ NOT NULL NUMBER(5) Designates how the audit data was generated.
CD
START_DATE NOT NULL DATE Designates the As of Date for which the process was
run.
SCENARIO_NUM NOT NULL NUMBER(10) Designates the Risk Manager Scenario number for
which the data applies.
INTEREST_RATE_ NOT NULL NUMBER(5) Designates the Interest Rate Code for the audit
CD record. Interest Rate Codes are defined in the OFSA_
IRCS tables.
INTEREST_RATE_ NOT NULL NUMBER(5) Designates the Interest Rate Term for the audit
TERM record.
INTEREST_RATE_ NOT NULL CHAR(1) Designates the Multiplier for the specified Interest
TERM_MULT Rate Term - ’D - Day’, ’M - Month’ or ’Y - Year’.
BUCKET_NUM NOT NULL NUMBER(5) Designates the Date bucket for the audit record.
BUCKET_START_ NOT NULL DATE Designates the Beginning Date for the specified
DATE Bucket number.
BUCKET_END_ NOT NULL DATE Designates the Ending Date for the specified Bucket
DATE number.
RATE NOT NULL NUMBER(8,4) Designates the forecasted Interest Rate for the
specified Date Bucket.
PROCESS_DATE NOT NULL DATE Designates the date on which the Risk Manager or
Transfer Pricing process was run.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-170 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
INTEREST_RATES_ Unique 1 PROCESS_SYS_ID
AUDIT_PK
INTEREST_RATES_ Unique 2 CALC_SOURCE_CD
AUDIT_PK
INTEREST_RATES_ Unique 3 START_DATE
AUDIT_PK
INTEREST_RATES_ Unique 4 SCENARIO_NUM
AUDIT_PK
INTEREST_RATES_ Unique 5 INTEREST_RATE_CD
AUDIT_PK
INTEREST_RATES_ Unique 6 INTEREST_RATE_TERM
AUDIT_PK
INTEREST_RATES_ Unique 7 INTEREST_RATE_TERM_MULT
AUDIT_PK
INTEREST_RATES_ Unique 8 BUCKET_NUM
AUDIT_PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-171


FDM Database Tables

Column Code Values

Calc_Source_Cd
CALC_SOURCE_CD values are defined in OFSA_CALC_SOURCE_CD and OFSA_
CALC_SOURCE_MLS. Use the OFSA_CALC_SOURCE_DSC view to retrieve valid
codes and descriptions for this column.

Code Description
0 RM - Regular
1 RM - Stochastic
2 TP - Regular
3 TP - Forward Rates
4 TP - Stochastic

Interest_Rate_Cd
INTEREST_RATE_CD values are defined in OFSA_IRCS.

Interest_Rate_Term_Mult
INTEREST_RATE_TERM_MULT values are defined in OFSA_MULTIPLIER_CD
and OFSA_MULTIPLIER_MLS. Use the OFSA_MULTIPLIER_DSC view to retrieve
valid codes and descriptions for this column.

Code Description
D Days
M Months
Y Years

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-172 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_IRC_RATE_HIST
The OFSA_IRC_RATE_HIST table stores historical interest rate data populated via
FDM Rate Manager. The historical interest rate information is accessed by both
Transfer Pricing and Risk Manager operations.

Columns

Column Name Null? Type Description


EFFECTIVE_DATE NOT NULL DATE Identifies the date for which the interest rate applies.
INTEREST_RATE_ NOT NULL NUMBER(5) Identifies the Interest Rate Code for the rate. Interest
CD Rate Codes are defined in the OFSA_IRCS table.
INTEREST_RATE_ NOT NULL NUMBER(5) Designates the term for the interest rate.
TERM
INTEREST_RATE_ NOT NULL CHAR(1) Designates the Multiplier for the specified Interest
TERM_MULT Rate Term - ’D - Days’, ’M - Months’ or ’Y - Years’.
INTEREST_RATE NOT NULL NUMBER(8,4) Designates the interest rate.
RATE_DATA_ NOT NULL NUMBER(5) Specifies the source of the rate information. The
SOURCE_CD OFSA_RATE_DATA_SOURCE_DSC view provides
the list of valid Rate Data Source codes.
LAST_MODIFIED_ NOT NULL DATE Designates the date on which the record was last
DATE updated.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IRC_RATE_HIST_PK Unique 1 EFFECTIVE_DATE
IRC_RATE_HIST_PK Unique 2 INTEREST_RATE_CD
IRC_RATE_HIST_PK Unique 3 INTEREST_RATE_TERM
IRC_RATE_HIST_PK Unique 4 INTEREST_RATE_TERM_MULT

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-173


FDM Database Tables

Column Code Values

Rate_Data_Source_CD
The RATE_DATA_SOURCE_CD column has the following code values:

Rate_Data_Source_CD Description
1 User Input
2 Calculated
3 Bloomberg
4 DRI
5 Reuters
6 Risk Metrics

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-174 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_IRC_RATE_TERMS
The OFSA_IRC_RATE_TERMS table stores term structure definitions for Interest
Rate Codes. FDM Rate Manager populates data for this table.

Columns

Column Name Null? Type Description


INTEREST_RATE_ NOT NULL NUMBER(5) Identifies the Interest Rate Code. Interest Rate Codes
CD are defined in the OFSA_IRCS table.
INTEREST_RATE_ NOT NULL NUMBER(5) Designates term for the interest rate code.
TERM
INTERST_RATE_ NOT NULL CHAR(1) Designates the multiplier (’D - Days’, ’M - Months’,
TERM_MULT ’Y - Years’) for the specified interest rate term.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IRC_RATE_TERMS_PK Unique 1 INTEREST_RATE_CD
IRC_RATE_TERMS_PK Unique 2 INTEREST_RATE_TERM
IRC_RATE_TERMS_PK Unique 3 INTEREST_RATE_TERM_MULT

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-175


FDM Database Tables

OFSA_IRC_TS_PARAM_HIST
The OFSA_IRC_TS_PARAM_HIST table stores term structure parameters for
interest rate codes. Term Structure parameters are used for stochastic modeling of
interest rates in Transfer Pricing and Risk Manager processing. These parameters
are input and maintained from FDM Rate Manager.

Columns
Column Name Null? Type Description
EFFECTIVE_DATE NOT NULL DATE Designates the date for which the Term Structure
parameters are effective.
INTEREST_RATE_ NOT NULL NUMBER(5) Identifies the Interest Rate Code. Interest Rate Codes
CD are defined in the OFSA_IRCS table.
MEAN_ NOT NULL NUMBER(9,6) Designates the Mean Reversion Speed used in
REVERSION_ Vasicek and Extended Vasicek models.
SPEED
LONG_RUN_RATE NOT NULL NUMBER(9,6) Designates the Long Run Rate used in Vasicek
models.
VOLATILITY_ NOT NULL NUMBER(9,6) Designates the volatility used in both Merton, and Ho
MERTON and Lee models.
VOLATILITY_ NOT NULL NUMBER(9,6) Designates the volatility used in both Vasicek and
VASICEK Extended Vasicek models.
RATE_DATA_ NOT NULL NUMBER(5) Specifies the source of the information. The OFSA_
SOURCE_CD RATE_DATA_SOURCE_DSC view provides the list
of valid Rate Data Source codes. Manual inputs from
FDM Rate Manager automatically default this value
to ’User Input’.
IS_VALID_FLG NOT NULL NUMBER(1) Not currently used
LAST_MODIFIED_ NOT NULL DATE Identifies the date on which the record was last
DATE updated.
ESTIMATION_ NUMBER(5) Not currently used
SMOOTHING_CD
DECAY_FACTOR NUMBER(9,6) Not currently used
RECALC_HIST_ NUMBER(1) Not currently used
INPUT_FLG
NUM_OF_HIST_ NUMBER(38) Not currently used
OBSERVATIONS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-176 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IRC_TS_PARAM_HIST_ Unique 1 EFFECTIVE_DATE
PK
IRC_TS_PARAM_HIST_ Unique 2 INTEREST_RATE_CD
PK

Sequences
Not applicable.

Column Code Values

Rate_Data_Source_CD
The RATE_DATA_SOURCE_CD column has the following code values:

Rate_Data_Source_CD Description
1 User Input
2 Calculated
3 Bloomberg
4 DRI
5 Reuters
6 Risk Metrics

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-177


FDM Database Tables

OFSA_IRCS
The OFSA_IRCS table stores Interest Rate Codes definition and attributes. Interest
Rate Codes are defined and maintained in FDM Rate Manager.

Columns

Column Name Null? Type Description


INTEREST_RATE_ NOT NULL NUMBER(5) Identifies the Interest Rate Code.
CD
IRC_NAME NOT NULL VARCHAR2(60) Display name for the Interest Rate Code.
IRC_FORMAT_CD NOT NULL NUMBER(5) Code identifying the format of interest rates; Zero
Coupon or Yield to Maturity.
ISO_CURRENCY_ NOT NULL VARCHAR2(3) Identifies the currency in which the interest rates are
CD defined. Stores values from OFSA_CURRENCIES.
ACCRUAL_BASIS_ NOT NULL NUMBER(5) Code identifying the Accrual Basis in which interest
CD rates are defined (that is, Actual/Actual, Actual/360,
and so on).
COMPOUND_ NOT NULL NUMBER(5) Code identifying the Compounding Basis in which
BASIS_CD interest rates are defined that is, Simple, Annual,
Semiannual, and so on.).

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
IRCS_PK Unique 1 INTEREST_RATE_CD
IRCS_UK Unique 1 IRC_NAME

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-178 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Accrual_Basis_CD
The ACCRUAL_BASIS_CD column of OFSA_IRCS has the following codes. The
code selection available depends upon the selected COMPOUND_BASIS_CD:

Code Description
0 None
1 30/360
2 Actual/360
3 Actual/Actual
4 30/365
5 30/Actual
6 Actual/365

Compound_Basis_CD
The COMPOUND_BASIS_CD values are stored in the OFSA_COMPOUND_
BASIS_CD and OFSA_COMPOUND_BASIS_MLS tables. Use OFSA_
COMPOUND_BASIS_DSC to retrieve Compound Basis code values and
descriptions. Only Semiannual, Annual and Simple are available for the OFSA_
IRCS table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-179


FDM Database Tables

The COMPOUND_BASIS_CD column has the following codes:

Code Description
110* Daily
120* Monthly
130* Quarterly
140 Semiannual
150 Annual
160 Simple
170* Continuous
200* At Maturity
999 Other

* Not available for OFSA_IRCS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-180 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_JOBS_RUN
The OFSA_JOBS_RUN table provides a record of OFSA processes run in the
database. For Release 4.5, only Performance Analyzer Allocation and FDM Rate
Manager processes are recorded in this table.

Columns

Column Name Null? Type Description


JOB_NUMBER NOT NULL NUMBER(10) Identifies the job. Values for this column originate
from the OFSA_REQUEST_QUEUE_JOB_SEQ
sequence.
JOB_START_ NOT NULL DATE Designates the starting time of the job.
TIMESTAMP
JOB_STATUS_CD NOT NULL NUMBER(5) Identifies the current status of the job, such as
’Started’, ’Completed Successfully’, and so on. Job
Status codes and descriptions are available from the
OFSA_JOB_STATUS_DSC view.
USERNAME NOT NULL VARCHAR2(30) Designates the Oracle user that launched the process.
APPLICATION_CD NOT NULL NUMBER(5) Designates the OFSA application that was processed.
OFSA Application codes and descriptions are
available from the OFSA_APPLICATIONS table.
PROCESS_CD NUMBER(5) Designates the type of process of the specified
application. Process codes and descriptions are
available from the OFSA_PROCESSES table.
SYS_ID_NUM NUMBER(10) For Performance Analyzer jobs, identifies the ID that
was processed. Links to the OFSA_CATALOG_OF_
IDS table.
ALTERNATE_JOB_ NUMBER(10) Not currently used.
NUMBER
JOB_END_ DATE Designates the completion/termination time of the
TIMESTAMP job.
PARENT_JOB_ NUMBER(10) Not currently used.
NUMBER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-181


FDM Database Tables

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
OFSA_JOBS_RUN_PK Unique 1 JOB_NUMBER
OFSA_JOBS_RUN_FK2 Non- 2 APPLICATION_CD
Unique
OFSA_JOBS_RUN_FK3 Non- 3 PROCESS_CD
Unique
OFSA_JOBS_RUN_FK4 Non- 4 PARENT_JOB_NUMBER
Unique

Sequences
The OFSA_REQUEST_QUEUE_SEQ sequence generates values for the job_number
column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-182 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Application_Cd
The APPLICATION_CD values are stored in the OFSA_APPLICATIONS. The
APPLICATION_CD column has the following values:

Code Description
0 Performance Analyzer
1 FDM Administration
2 Risk Manager
3 Transfer Pricing
4 Balance & Control
5 Portfolio Analyzer
6 Customer Householding
7 Market Manager
8 Discover Integrator
9 FDM Rate Manager

Job_Status_CD
The JOB_STATUS_CD values are stored in the OFSA_JOB_STATUS_CD and OFSA_
JOB_STATUS_MLS tables. Use the OFSA_JOB_STATUS_DSC view to retrieve codes
and descriptions for this column:

Code Description
10 Started
20 Completed
30 Failed
40 Scheduled
50 Completed Successfully
60 Completed with Errors
70 Completed with Warnings

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-183


FDM Database Tables

Process_CD
The list of valid PROCESS_CD values is stored in OFSA_PROCESSES. The list of
codes and descriptions for this column is as follows:

Code Description
1000 Preview Set
1001 Preview Promotion
1002 Preview Campaign
1003 Generate Set
1004 Generate Promotion
1005 Track Cell by Query
1006 Track Promotion by Query
1007 Track All by Query
1008 Recurring Promotion
1009 Regenerate Sets
1010 Update Tracking Status
1011 Roll Up Promotion
1012 Roll Up Campaign
1013 Batch Event Scheduler
1014 Campaign Generic Results
1015 Promotion Generic Results
1016 Cell Generic Results
1017 Campaign Pre-Active Aggregates
1018 Promo Pre-Active Aggregates
1019 Cell Pre-Active Aggregates
1020 Campaign Relationship Results
1021 Promotion Relationship Results
1022 Cell Relationship Results
1023 Roll Up All Active Objects

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-184 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Code Description
1024 Promotion Response Results
1025 Promotion ROI Results
1026 Campaign Response Results
1027 Campaign ROI Results
1028 Generic Rslts All Active Objs
1029 FDM Rate Manager Engine

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-185


FDM Database Tables

OFSA_LEAF_DESC
The OFSA_LEAF_DESC table is used to identify values for each leaf column in the
FDM database. Each record in OFSA_LEAF_DESC identifies an organizational unit,
a general ledger account, a common chart of account, a financial element or a
user-defined chart of accounts.
Detail information for each leaf is stored in one of the following DETAIL tables:
■ OFSA_DETAIL_ELEM
■ OFSA_DETAIL_LEAVES
■ OFSA_DETAIL_ORG_UNIT
■ OFSA_DETAIL_OTHER_COA
The table depends on what kind of leaf column it is. The Detail table assignments
for each of the leaf columns is stored in the OFSA_CATALOG_OF_LEAVES table.
Some of the functions that access OFSA_LEAF_DESC include OFSA Report IDs,
Transformation IDs, Tree Rollup IDs, Tree Filter IDs, Subtotal IDs and Tree Bar
interfaces in many OFSA IDs.

Columns

Column Name Null? Type Description


LEAF_NUM_ID NOT NULL NUMBER(5) Uniquely identifies the leaf column. Each leaf column
is assigned a leaf_num_id from OFSA_CATALOG_OF_
LEAVES. Leaf values are then associated to that leaf
column using the assigned leaf_num_id.
LEAF_NODE NOT NULL NUMBER(14) Designates the account number.
DESCRIPTION VARCHAR2(80) The description is the name or description of the
account represented by the leaf_node.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-186 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
LEAF_DESC Unique 1 LEAF_NUM_ID
LEAF_DESC Unique 2 LEAF_NODE
LEAF_DESC_NODE1 Non-unique 1 LEAF_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-187


FDM Database Tables

OFSA_LEDGER_STAT_INSTRUMENT
OFSA_LEDGER_STAT_INSTRUMENT provides a place to transfer price Off Balance Sheet
and other LEDGER_STAT data for which there is no equivalent instrument account data.
Data for this table is populated from records in the LEDGER_STAT table. Follow the
instructions in the Financial Data Manager Reporting Administration Guide for details on how to
populate and use the OFSA_LEDGER_STAT_INSTRUMENT table. Once populated, you can
run Transfer Pricing processes against the data.
FDM requires that the OFSA_LEDGER_STAT_INSTRUMENT table has the same
Leaf Columns as other Instrument tables. This means that it should have all Leaf
Columns, except for FINANCIAL_ELEM_ID and “Virtual” Leaf Columns.

Columns
The FDM Database Creation and Database Upgrade processes define the OFSA_
LEDGER_STAT_INSTRUMENT table based upon the “Portfolio Instrument” Table
Classification. FDM enables the user to customize this table as appropriate for his or
her implementation. For column definitions and descriptions, refer to the Oracle
Financial Data Manager Data Dictionary, Release 4.5.

Indexes
The FDM Database Creation and Database Upgrade processes do not include any
default indexes for the OFSA_LEDGER_STAT_INSTRUMENT table. Create
appropriate indexes for this table as needed for your implementation.

Sequences
Not applicable.

Code Values
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-188 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_LEDGER_STAT_RECON
The OFSA_LEDGER_STAT_RECON table stores “plugs” required for reconciling
LEDGER_STAT data with Instrument account detail data. “Plugs” are records that
make up the differences discovered during reconciliations. Such records balance the
LEDGER_STAT information with the data in the Instrument account tables.
FDM requires user defined Leaf Columns to be added to OFSA_LEDGER_STAT_
RECON. This table can also be customized just like any Instrument table.
Refer to the Oracle Financial Data Manager Reporting Administration Guide for
instructions on populating and using the OFSA_LEDGER_STAT_RECON table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-189


FDM Database Tables

Columns
Column Name Null? Type Description
ORG_UNIT_ID NOT NULL NUMBER(14) Organizational Unit ID.
GL_ NOT NULL NUMBER(14) General Ledger Account ID.
ACCOUNT_ID
COMMON_ NOT NULL NUMBER(14) Common Chart of Account ID.
COA_ID
CUR_BOOK_ NOT NULL NUMBER(14,2) Plug balance. This is the balance amount for the
BAL reconciliation.
AS_OF_DATE NOT NULL DATE Date for which the plug balance applies.

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
LEDGER_STAT_ Unique 1 AS_OF_DATE
RECON_UK
LEDGER_STAT_ Unique 2 ORG_UNIT_ID
RECON_UK
LEDGER_STAT_ Unique 3 GL_ACCOUNT_ID
RECON_UK
LEDGER_STAT_ Unique 4 COMMON_COA_ID
RECON_UK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-190 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_LEVEL_DESC
The OFSA_LEVEL_DESC table stores information about hierarchy levels used in
OFSA Tree Rollup IDs. Hierarchy levels in OFSA_LEVEL_DESC define the structure
of the Tree Rollup ID and determine which columns in the OFSA_IDT_ROLLUP
table are populated for the hierarchy.
OFSA_LEVEL_DESC information is populated during the setup of the Tree Rollup
ID.

Columns

Column Name Null? Type Description


SYS_ID_NUM NOT NULL NUMBER(10) Identifies the Tree Rollup ID to which the levels belong.
LEVEL_NUM NOT NULL NUMBER(5) Identifies the level number. Because OFSA Tree Rollup
IDs do not support hierarchies >14 levels, this must be a
number from 1 to 14.
DESCRIPTION VARCHAR2(80) Provides the name or description of the level.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
LEVEL_DESC Unique 1 SYS_ID_NUM
LEVEL_DESC Unique 2 LEVEL_NUM

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-191


FDM Database Tables

OFSA_MESSAGE_LOG
The OFSA_MESSAGE_LOG table stores messages generated during OFSA
processing. For Release 4.5, only Performance Analyzer and FDM Rate Manager
processes output messages to this table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-192 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
JOB_NUMBER NOT NULL NUMBER(10) Identifies the job that generated the messages. This links
to the JOB_NUMBER in the OFSA_JOBS_RUN table.
SEQUENCES NOT NULL NUMBER(5) Sequence number of the messages generated by the job.
MSG_ NOT NULL DATE Indicates the date and time that the message was
TIMESTAMP inserted to OFSA_MESSAGE_LOG.
MESSAGE_CD NOT NULL NUMBER(5) Code identifying the message. Message codes are
defined in OFSA_MESSAGE_B and message code
descriptions are defined in OFSA_MESSAGE_MLS. Use
the OFSA_MESSAGES view to retrieve message codes
and descriptions.
MSG_ NUMBER(5) Designates the significance of the error. Severity codes
SERVERITY_ and descriptions are stored in OFSA_MSG_SEVERITY_
CD CD and OFSA_MSG_SEVERITY_MLS. Use the OFSA_
MSG_SEVERITY_DSC view to retrieve Message Severity
codes and descriptions.
CONTEXT_ VARCHAR2(2000) Further information about the specific message
SPECIFIC_ condition of the process.
TEXT

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
OFSA_ Unique 1 JOB_NUMBER
MESSAGE_
LOG_01
OFSA_ Non- 2 SEQUENCES
MESSAGE_ unique
LOG_01
OFSA_ Non- 1 MESSAGE_CD
MESSAGE_ unique
LOG_FK2

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-193


FDM Database Tables

Column Code Values

Message_CD
OFSA message codes are defined in OFSA_MESSAGES_B and OFSA_MESSAGES_
MLS. Use the OFSA_MESSAGES view to retrieve the list of OFSA message codes
and descriptions.

Msg_Severity_CD
Severity codes are defined in OFSA_MSG_SEVERITY_CD and OFSA_MSG_
SEVERITY_MLS. Use the OFSA_MSG_SEVERITY_DSC view to retrieve the list of
OFSA Message Severity codes and descriptions.
The list of OFSA Message Severity codes and descriptions is as follows:

Code Description
10 Status
20 Warning
30 Non-Fatal Error
40 Fatal Error

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-194 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_MLS
The OFSA_MLS table stores the language code designations for the FDM database.
Refer to the “FDM Multi-Language Support” chapter of the Oracle Financial Services
Installation and Configuration Guide for details about multi-language support for the
FDM 4.5 database.
The FDM Database Creation and Database Upgrade processes populate this table
with the valid MLS codes for the FDM database. Data in this table is protected from
manual update.

Columns

Column Name Null? Type Description


MLS_CD NOT NULL VARCHAR2(3) Code identifying the language.
INSTALLED_ NOT NULL NUMBER(1) Designates whether the language is installed in the
FLG current FDM database instance. This flag is set during the
FDM Database Upgrade and Database Creation Processes.
LANGUAGE NOT NULL VARCHAR2(30) Name for the MLS Code.
DESCRIPTION VARCHAR2(255) Description for the MLS Code.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
MLS_PK Unique 1 MLS_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-195


FDM Database Tables

OFSA_NODE_DESC
The OFSA_NODE_DESC table stores information about nodes created in OFSA Tree
Rollup IDs. Nodes identify higher aggregate groupings of leaf values for a Tree
Rollup ID. Nodes can be used to report and process against summary data rather
than individual account data. For example, organizational nodes can be created to
designate geographical groupings, such as having a node defined as ’Southwest
Region’ to summarize balances for all organizational units within the southwest
region of an institution’s geographic area.
OFSA_NODE_DESC information is created and maintained using the Tree Rollup
ID interface. This data is accessed to display node names for the Tree Rollup ID,
Tree Filter ID, Subtotal ID and Allocation ID interfaces, as well as for OFSA Report
IDs. OFSA_NODE_DESC data is also accessed by the Transformation ID during the
transformation of OFSA trees to the FDM Reporting Data Mart hierarchies.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-196 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
SYS_ID_NUM NOT NULL NUMBER(10) Designates the Tree Rollup ID to which the levels
belong.
ROLLUP_LEVEL NOT NULL NUMBER(5) Designates the level to which the node is assigned.
Levels are identified in the OFSA_LEVEL_DESC table.
ROLLUP_NODE NOT NULL NUMBER(14) Identifies the node. The node number is specified by
the user when the node is created.
DESCRIPTION VARCHAR2(80) Provides the name or description of the node.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
NODE_DESC Unique 1 SYS_ID_NUM
NODE_DESC Unique 2 ROLLUP_LEVEL
NODE_DESC Unique 3 ROLLUP_NODE
NODE_DESC_LEVEL Non-unique 1 ROLLUP_LEVEL
NODE_DESC_NODE Non-unique 1 ROLLUP_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-197


FDM Database Tables

OFSA_PRIVILEGE_RECIPIENTS
The OFSA_PRIVILEGE_RECIPIENTS table identifies the user, User Groups,
Security Profiles and Roles registered for the FDM database.

Columns
Column Name Null? Type Description
RECIPIENT_ NOT NULL VARCHAR2(30) Identifies the user, User Group, Security Profile or Role
NAME registered for the FDM database.
RECIPIENT_TYPE NOT NULL CHAR(1) Identifies the type of recipient - ’U’ for User, ’G’ for
User Group, ’S’ for Security Profile and ’R’ for Role.
PROTECTED_FLG NOT NULL NUMBER(1) Designates that the record is reserved by FDM.
Records with a ’1’ are protected from modification and
cannot be unregistered or changed in any way. Records
with a ’0’ can be modified.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
PRIVILEGE_ Unique 1 RECIPIENT_
RECIPIENTS_PK NAME

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-198 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Recipient_Type
Recipient Type codes are defined in OFSA_RECIPIENT_TYPE_DSC. The list of
Recipient Type codes and descriptions is as follows:

Code Description
G User Group
R Role
S Security Profile
U User Group

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-199


FDM Database Tables

OFSA_PROCESS_CASH_FLOWS
The OFSA_PROCESS_CASH_FLOW table stores audit information of the
individual cash flows processed by either Oracle Risk Manager or Oracle Transfer
Pricing processes. Because this table may be populated with a large number of
records, especially when running a Risk Manager stochastic process with the detail
cash flow audit option checked, it should be cleaned up periodically. Risk Manager
and Transfer Pricing Process IDs that are no longer used should be deleted so their
corresponding rows in this table can be deleted.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Identifies the Process ID that generated the
data. The Process ID may be a Risk
Manager or Transfer Pricing process. The
result_sys_id links to the sys_id_num
column of the OFSA_CATALOG_OF_IDS
table.
RECORD_SEQUENCE NOT NULL NUMBER(5) Identifies processing sequence number for
the audit record.
CASH_FLOW_SEQUENCE NOT NULL NUMBER(5) Identifies the cash flow sequence for the
audit record.
SCENARIO_NUM NOT NULL NUMBER(5) Identifies the scenario number.
FINANCIAL_ELEM_ID NOT NULL NUMBER(14) Designates the Financial Element ID for
the cash flow.
ID_NUMBER NOT NULL NUMBER(25) Identifies the financial account. This is the
id_number of the source instrument data.
CALC_SOURCE_CD NOT NULL NUMBER(5) Designates how the audit data was
generated.
ISO_CURRENCY_CD NOT NULL VARCHAR2(3) Designates the currency in which the
generated cash flows were processed.
Refer to the OFSA_CURRENCIES_V for a
list of valid ISO Currency codes and
descriptions.
CASH_FLOW_DATE DATE Specifies the cash flow date.
CASH_FLOW_CD NOT NULL NUMBER(5) Specifies the type of cash flow. The
Column Code Values sub-section below
lists the cash flow codes and descriptions.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-200 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


FLOAT_VALUE NUMBER(15,4) Specifies the value for the cash flow.
PRODUCT_LEAF_NODE NUMBER(14) Identifies the product leaf value of the cash
flow.
ORG_LEAF_NODE NUMBER(14) Identifies the organizational leaf value of
the cash flow.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
PROCESS_CASH_FLOWS Unique 1 RESULT_SYS_ID
PROCESS_CASH_FLOWS Unique 2 RECORD_SEQUENCE
PROCESS_CASH_FLOWS Unique 3 CASH_FLOW_SEQUENCE
PROCESS_CASH_FLOWS Unique 4 SCENARIO_NUM
PROCESS_CASH_FLOWS Unique 5 FINANCIAL_ELEM_ID
PROCESS_CASH_FLOWS Unique 6 CALC_SOURCE_CD

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-201


FDM Database Tables

Column Code Values

Calc_Source_Cd
CALC_SOURCE_CD values are defined in OFSA_CALC_SOURCE_CD and OFSA_
CALC_SOURCE_MLS. Use the OFSA_CALC_SOURCE_DSC view to retrieve valid
codes and descriptions for this column.

Code Description
0 RM - Regular
1 RM - Stochastic
2 TP - Regular
3 TP - Forward Rates
4 TP - Stochastic

Cash_flow_cd
The cash_flow_cd column of PROCESS_CASH_FLOWS has the following values:

Code Description
1 First event (origination of instrument)
2 Payment
4 Reprice
8 Reprice in tease
16 Reprice out of tease
32 As_of_date

Note: Logical combinations of these values may be found in the column.


For example a value of 6 in the cash_flow_cd column would be an additive
value, indicating a combination of Payment and Reprice.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-202 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_PROCESS_ERRORS
The OFSA_PROCESS_ERRORS table stores the errors and the log information for
the following types of processes:
■ Data Correction
■ Risk Manager
■ Transfer Pricing
■ Transformation
The table is designed so that it can report errors generated as a result of bad
instrument data or bad data in a specific column in a table. It is also used to report
corrections made to data during ’Data Correction’ processing.
This table may contain a large number of records because errors generated from
OFSA processes are cumulative. This table and should be purged periodically.

Columns

Column Name Null? Type Description


PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the process that generated the data
(Data Correction Process ID, Transfer Pricing
Process ID, Risk Manager Process ID or
Transformation ID). The process_sys_id links to
the sys_id_num column of the OFSA_
CATALOG_OF_IDS table.
SEQUENCES NOT NULL NUMBER(5) Identifies the sequence number for the record.
ID_NUMBER NOT NULL NUMBER(25) Identifies the instrument record that generated
the error or correction.
FIELD_NAME VARCHAR2(30) Designates the name of a field (column) in the
table for which the error/correction was raised.
FIELD_VALUE VARCHAR2(80) Specifies the value of the column (in field_
name) before the process was completed.
CORRECTED_VALUE VARCHAR2(80) Specifies the value of the column (in field_
name) after the process was completed.
DEFAULT_VALUE VARCHAR2(80) Designates the default value for the column (in
field_name).
SEVERITY NUMBER(5) Indicates the severity of the error.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-203


FDM Database Tables

Column Name Null? Type Description


ERROR_TIME VARCHAR2(8) Indicates the system clock time when the error
or correction was generated.
TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table name for the column
identified in field_name.
ERROR_DESCRIPTION VARCHAR2(75) Specifies a description of the error.
ERROR_CODE NOT NULL NUMBER(5) Designates the code for the message sent to the
log table. Valid codes for this field are defined
in OFSA_CORRECTION_PROC_MSG_CD and
OFSA_CORRECTION_PROC_MSG_MLS. Use
the OFSA_CORRECTION_PROC_MSG_DSC
view to retrieve the list of codes and
descriptions for this column.
NUM NUMBER(14) This is an internal number used by the process.
LEAF_NUM_ID NOT NULL NUMBER(5) Identifies the leaf column associated with the
error or correction. The leaf_num_id links
with the leaf_num_id in the OFSA_CATALOG_
OF_LEAVES table to identify the column for
the leaf.
LEAF_NODE NOT NULL NUMBER(14) Identifies the leaf value. The value in leaf_node
must be a valid leaf from the OFSA_LEAF_
DESC table for the specified leaf_num_id.
SIM NUMBER(5) This is an internal simulation number.
ERROR_DATE DATE Designates the date that the error or correction
was generated.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
OFSA_PROCESS_ Unique 1 PROCESS_SYS_ID
ERRORS
OFSA_PROCESS_ Unique 2 SEQUENCES
ERRORS

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-204 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Error_Code
ERROR_CODE values are defined in OFSA_CORRECTION_PROC_MSG_CD and
OFSA_CORRECTION_PROC_MSG_MLS. Use the OFSA_CORRECTION_PROC_
MSG_DSC view to retrieve valid codes and descriptions for this column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-205


FDM Database Tables

OFSA_PROPERTY_COLUMNS
The OFSA_PROPERTY_COLUMNS table designates the columns that are required
for FDM Table Classifications. The designated columns are those that are required
to exist on an object (table or view) in order for that object to be registered for the
Table Classification. The requirements for Table Classifications are grouped together
into Table Properties, each Table Property thereby consisting of one or more
required columns (or a required procedure - refer to OFSA_PROPERTY_STP for
details on procedure requirements for Table Properties). Combinations of Table
Properties make up the requirements for Table Classifications.
The FDM Database Upgrade and Database Creation processes populate OFSA_
PROPERTY_COLUMNS with the column requirements for each Table Property.
Only records for the “Portfolio Requirements” Table Property (table_property_
cd=40) can be edited in this table. All other records are protected from modification.
Refer to the “FDM Object Management” chapter of the Oracle Financial Services
Installation and Configuration Guide for more information regarding Table Properties
and Table Classifications.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-206 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
TABLE_ NOT NULL NUMBER(5) Identifies the Table Property.
PROPERTY_CD
COLUMN_NAME NOT NULL VARCHAR2(30) Designates the column_name required for the Table
Property.
PROTECTED_FLG NOT NULL NUMBER(1) Designates whether the record is protected from
update. Records with a ’1’ are protected from
modification. Records with any other value can be
edited.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
PROPERTY_ Unique 1 TABLE_
COLUMNS_PK PROPERTY_CD
PROEPRTY_ Unique 2 COLUMN_NAME
COLUMN_PK

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-207


FDM Database Tables

Column Code Values

Table_Property_CD
Table Property codes are defined in OFSA_TABLE_PROPERTIES. The list of Table
Property codes and descriptions is as follows:

Code Description
10 Basic Instrument Requirements
40 Portfolio Requirements
50 Cash Flow Proc. Requirements
60 Cash Flow Edit Requirements
80 Multicurrency Requirements
100 TP Option Costing Requirements
110 TP Basic Requirements
1000 Validate Instrument Leaves
1010 Validate Instrument Key
1020 Validate Transaction Key
1030 Validate Correction Key

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-208 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_PROPERTY_STP
The OFSA_PROPERTY_STP table designates the stored procedures that are
required for FDM Table Classifications. The designated stored procedures are those
that are required to run successfully on an object (table or view) in order for that
object to be registered for the Table Classification. The FDM Administration Table
Classification Wizard executes the designated stored procedures during Table
Classification assignment. The stored procedures validate various logic
requirements for the Table Classification assignment, such as validating that all Leaf
columns are registered for the object, or validating that the object has a unique
index.
The requirements for Table Classifications are grouped together into Table
Properties, each Table Property thereby consisting of one or more required stored
procedures and one or more required columns (refer to the OFSA_PROPERTY_
COLUMNS table). Combinations of Table Properties make up the requirements for
Table Classifications.
The FDM Database Upgrade and Database Creation processes populate OFSA_
PROPERTY_STP with the stored procedure requirements for each Table Property.
All records are protected from modification.
Refer to the “FDM Object Management” chapter of the Oracle Financial Services
Installation and Configuration Guide for more information regarding Table Properties
and Table Classifications.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-209


FDM Database Tables

Columns
Column Name Null? Type Description
TABLE_ NOT NULL NUMBER(5) Identifies the Table Property.
PROPERTY_CD
STP_NAME NOT NULL VARCHAR2(100) Designates the package_name.procedure_name
required for the Table Property.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
PROPERTY_STP_PK Unique 1 TABLE_
PROPERTY_CD
PROEPRTY_STP_PK Unique 2 STP_NAME

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-210 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Table_Property_CD
Table Property codes are defined in OFSA_TABLE_PROPERTIES. The list of Table
Property codes and descriptions is as follows:

Code Description
10 Basic Instrument Requirements
40 Portfolio Requirements
50 Cash Flow Proc. Requirements
60 Cash Flow Edit Requirements
80 Multicurrency Requirements
100 TP Option Costing Requirements
110 TP Basic Requirements
1000 Validate Instrument Leaves
1010 Validate Instrument Key
1020 Validate Transaction Key
1030 Validate Correction Key

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-211


FDM Database Tables

OFSA_REQUEST_QUEUE
The OFSA_REQUEST_QUEUE table stores OFSA server-based processing job
requests.
OFSA_REQUEST_QUEUE is populated when a server processing job request is
launched. The data in this table and OFSA_RESULT_QUEUE is updated by the
OFSA Requestor (RQ) during processing.

Columns

Column Name Null? Type Description


JOB_NUM NOT NULL NUMBER(10) Identifies the job request. Values for this column are
generated by the OFSA_REQUEST_QUEUE_SEQ.
LOGIN_NAME NOT NULL VARCHAR2(15) Identifies the user requesting the server processing.
STATUS NUMBER(5) Designates the current status of the job.
PROCESS_ID NUMBER(10) Process number assigned to the job request by the
UNIX operating system.
RETURN_CODE NUMBER(5) Indicates the exit or return code status of the job.
The return_code values and descriptions are listed
below in the Column Code Values sub-section. In
addition to the code values listed, a negative
number in this column indicates that the job was
terminated due to a signal.
For more information on the RQ return_codes, see
the “Request Queue” chapter, in the Oracle Financial
Services Installation and Configuration Guide.
PRIORITY NUMBER(5) Not currently used.
APPLICATION NOT NULL NUMBER(5) Designates the OFSA product identification number
used for application level security.
SERVICE_REQUEST VARCHAR2(15) Specifies a label identifying the exact job request.
This label is used to look up the location and name
of the application to be launched. The path
associated with each label is defined in the ofs.ini
file on the server.
REQUEST_DATE DATE Specifies the date the job was submitted.
REQUEST_TIME VARCHAR2(8) Specifies the time the job was submitted.
SCHEDULE_DATE DATE Not currently used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-212 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


SCHEDULE_TIME VARCHAR2(8) Not currently used.
APP_ARGUMENTS VARCHAR2(250) An encrypted field containing the arguments
passed for the job.
HOST_NAME VARCHAR2(16) If running a single-host Request Queue, this column
is null. If running a multi-host Request Queue, the
value designates the host name.
END_DATE DATE Specifies the date the job ended.
END_TIME VARCHAR2(8) Specifies the time the job ended.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TSER_REQUEST_QUEUE Unique 1 JOB_NUM
TRQ_LOGIN_NAME Non-unique 1 LOGIN_NAME

Sequences
The OFSA_REQUEST_QUEUE_SEQ sequence generates values for the job_num
column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-213


FDM Database Tables

Column Code Values

Return_Code
Refer to the “Request Queue” chapter in the Oracle Financial Services Installation and
Configuration Guide for information on how to interpret the job return conditions
listed below:

Code Description
1001 None: running
1002 Failed on fork
1003 Cancelled
1004 Making request
1005 Normal
1006 Bad usage
1007 Session failure
1008 No memory
1009 Internal error
1010 Connect failure
1011 Rights violation

Status

Code Description
0 Request execution
1 Executing
2 Host assigned
5 Remote request
10 Ended

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-214 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_RESULT_BUCKET
The OFSA_RESULT_BUCKET table stores bucket start and end dates for each of the
cash flow and dynamic modeling buckets used in a process. Each row defines the
date periods for as many as 120 buckets per Dynamic GAP Scenario within an
Oracle Risk Manager Process ID. There may be multiple sets of dates for each
Process ID. The first bucket start date is found in the from_date_001 column while
the end date for the bucket is found in to_date_001. Hence, the time span for the
first bucket is from ’from_date_001’ to ’to_date_001’.
This table is accessed by FDM Reporting to designate time buckets for report
output. The population of time buckets in this table is fiscal year aware, meaning
that the time bucket values are in relation to the specified fiscal year settings in
OFSA_FISCAL_YEAR_INFO. Data in OFSA_RESULT_BUCKET is also accessed
during Transformation ID processing for the transformation of Risk Manager results
to the FDM Reporting Data Mart.
OFSA_RESULT_BUCKET is populated during Risk Manager processing.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-215


FDM Database Tables

Columns
Column Name Null? Type Description
RESULT_SYS_ID NOT NULL NUMBER(10) Risk Manager Process ID
DGAP_SCENARIO_NUM NUMBER(5) Dynamic GAP Scenario number. This identifies a
specific set of dates. It is referenced by the start_
date_index column in the RES_DTL_XXXXXX
table and the start_date_index column in the
OFSA_RESULT_MASTER table.
FROM_DATE_001 DATE From date
through FROM_DATE_
120
TO_DATE_001 through DATE To date
TO_DATE_120

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
RESULT_BUCKET Unique 1 RESULT_SYS_ID
RESULT_BUCKET Unique 2 DGAP_SCENARIO_NUM

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-216 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_RESULT_MASTER
OFSA_RESULT_MASTER stores current position summary and market values
generated from Oracle Risk Manager processing.
This table is accessed by FDM Reporting to display Risk Manager results. OFSA_
RESULT_MASTER is also accessed by the Transformation ID during the
transformation of Risk Manager results data to the FDM Reporting Data Mart.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Risk Manager Process ID number
RESULT_TYPE_CD NOT NULL NUMBER(5) Result Type. Must be a value that exists in the
result_type_cd column of the OFSA_RESULT_
TYPE_DSC table..
SCENARIO_NUM NOT NULL NUMBER(5) Scenario Number. This column references the
scenario_num column of the OFSA_RESULT_
SCENARIO table. This reference should be
used to look up the descriptions of each
scenario.
ORG_UNIT_ID NOT NULL NUMBER(14) The organizational code. Identifies an
organizational unit.
GL_ACCOUNT_ID NOT NULL NUMBER(14) Specific GL account assignment.
COMMON_COA_ID NOT NULL NUMBER(14) Leaf column that defines the lowest common
level of detail across all product chart of
account definitions.
ISO_CURRENCY_CD NOT NULL VARCHAR2(3) Designates the currency in which the results
were generated. ISO Currency Codes are
defined in the OFSA_CURRENCIES and
OFSA_CURRENCIES_MLS tables. Use the
OFSA_CURRENCIES_V view to retrieve a list
of valid currencies for the FDM database.
FINANCIAL_ROLLUP NUMBER(5) Standard financial statement rollup category in
which the transaction falls.
CUR_PAR_BAL NUMBER(14,2) Current gross par value
CUR_NET_PAR_BAL NUMBER(14,2) Current par value- net of participation.
CUR_DEFER_BAL_C NUMBER(14,2) Simulation deferred balance at as_of_date.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-217


FDM Database Tables

Column Name Null? Type Description


CUR_NET_RATE_W NUMBER(14,2) Current net rate weighted by current book
balance.
CUR_WARM NUMBER(16,2) Current WARM (Weighted Average Remaining
Maturity)
CUR_INTR_REC_ACCR NUMBER(14,2) Current interest receivable accrued.
NEW_GROSS_BALANCE NUMBER(14,2) Gross dollar balance of transactions with an
origination date > as-of-date.
NEW_NET_BALANCE NUMBER(14,2) Balance - net of participations of transactions
with an origination date > as-of-date.
MARKET_VALUE NUMBER(14,2) Simulation present value of all future principal
and interest cash flows.
DURATION NUMBER(14) A calculated term measuring the price
sensitivity of instrument to changes in interest
rates.
CONVEXITY NUMBER(14,4) Calculated convexity of instrument. Rate of
change of duration with respect to changes in
interest rates.
CUR_TRANSFER_RATE NUMBER(14,2) Current transfer rate
START_DATE_INDEX NOT NULL NUMBER(5) Start date index. This column references the
dgap_scenario_num column in the OFSA_
RESULT_BUCKET table.

Indexes
The list of indexes below contains only those indexes provided with the initial
installation of the FDM database. FDM requires that you modify the unique index
for the OFSA_RESULT_MASTER table to incorporate any user-defined Leaf
Columns registered in your database.

Index Column
Index_Name Index Type Sequence Column_Name
RESULT_MASTER_ Unique 1 RESULT_SYS_ID
UK
RESULT_MASTER_ Unique 2 RESULT_TYPE_CD
UK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-218 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Index Column
Index_Name Index Type Sequence Column_Name
RESULT_MASTER_ Unique 3 SCENARIO_NUM
UK
RESULT_MASTER_ Unique 4 ISO_CURRENCY_CD
UK
RESULT_MASTER_ Unique 5 ORG_UNIT_ID
UK
RESULT_MASTER_ Unique 6 GL_ACCOUNT_ID
UK
RESULT_MASTER_ Unique 7 COMMON_COA_ID
UK
RESULT_MASTER_ Unique 8 START_DATE_INDEX
UK
RESULT_MASTER_1 Non-unique 1 ORG_UNIT_ID
RESULT_MASTER_1 Non-unique 2 RESULT_SYS_ID
RESULT_MASTER_1 Non-unique 3 SCENARIO_NUM
RESULT_MASTER_2 Non-unique 1 GL_ACCOUNT_ID
RESULT_MASTER_2 Non-unique 2 RESULT_SYS_ID
RESULT_MASTER_2 Non-unique 3 SCENARIO_NUM
RESULT_MASTER_3 Non-unique 1 COMMON_COA_ID
RESULT_MASTER_3 Non-unique 2 RESULT_SYS_ID
RESULT_MASTER_3 Non-unique 3 SCENARIO_NUM

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-219


FDM Database Tables

Column Code Values

Result_Type_CD
The result_type_cd column has the following codes:

Code Description
0 Current Position
1 New Business
-1 Combined Results
2 Formula Leaves Data

ISO_Currency_CD
The list of ISO Currency Codes for the FDM database can be retrieved from the
OFSA_CURRENCIES_V view.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-220 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_RESULT_QUEUE
The OFSA_RESULT_QUEUE table stores process messages for OFSA server
processing jobs. These messages are posted by OFSA Request Queue during
processing.
OFSA_RESULT_QUEUE links to the job request in OFSA_REQUEST_QUEUE. For
each job request in OFSA_REQUEST_QUEUE, the Request Queue posts one or
several messages in OFSA_RESULT_QUEUE.

Columns
Column Name Null? Type Description
JOB_NUM NOT NUMBER(5) Identifies the job request. Links to the job_num in OFSA_
NULL REQUEST_QUEUE.
RESULT_TYPE NOT NUMBER(5) Designates the location where the message is displayed
NULL on the OFSA Server Status screen. The locations are
identified as follows:
Result Type Server Status Display Location
1 Step/Page
2 Table name
3 Record count
4 Title
5 Job description

RESULT_MESSAGE VARCHAR2(45) Specifies the message displayed on the Server Status


screen.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
TSER_RESULT_QUEUE Unique 1 JOB_NUM
TSER_RESULT_QUEUE Unique 2 RESULT_TYPE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-221


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-222 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_RESULT_SCENARIO
Stores information on the scenarios used by an Oracle Risk Manager Process ID
during processing.
Data in OFSA_RESULT_SCENARIO is used by FDM Reporting and by the
Transformation ID during the transformation of Risk Manager results to the FDM
Reporting Data Mart.

Columns

Column Name Null? Type Description


RESULT_SYS_ID NOT NULL NUMBER(10) Risk Manager Process ID
SCENARIO_NUM NOT NULL NUMBER(5) Scenario Number. Uniquely identifies a scenario.
Referenced by the scenario_num column of the
OFSA_RESULT_MASTER table and the scenario_
num column of the RES_DTL_XXXXXX table.
DESCRIPTION VARCHAR2(80) Scenario description

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
RESULT_SCENARIO Unique 1 RESULT_SYS_ID
RESULT_SCENARIO Unique 2 SCENARIO_NUM

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-223


FDM Database Tables

OFSA_ROLE_ASSIGNMENT
The OFSA_ROLE_ASSIGNMENT table records grants of FDM registered roles to
users, User Groups and other roles performed within the FDM Administration
application. The FDM procedures Grant All and Grant All Roles re-execute the role
assignments recorded in this table when invoked.
Roles granted to User Groups are actually granted to all individual members of the
User Group.
The FDM Database Upgrade and Database Creation processes populate OFSA_
ROLE_ASSIGNMENT with assignments for some of the seeded roles. Entries
designated with the PROTECTED_FLG=1 are protected from modification.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-224 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
ROLE_NAME NOT NULL VARCHAR2(30) Identifies the FDM registered role for which the
assignment applies. Must be a role identified in
OFSA_ROLES and OFSA_PRIVILEGE_
RECIPIENTS.
RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the user, User Group, or (External) role for
which the role grant applies. Must exist in OFSA_
PRIVILEGE_RECIPIENTS. FDM allows role
assignment to other roles only for External roles
being assigned to an External role.
PROTECTED_FLG NOT NULL NUMBER(1) Designates whether the record is protected from
update or available for modification. A ’1’ indicates
that the record is protected from update and cannot
be changed or deleted. Any other value designates a
user defined row that is available for modification.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
ROLE_ASSIGNMENT_ Unique 1 RECIPIENT_NAME
PK
ROLE_ASSIGNMENT_ Unique 2 ROLE_NAME
PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-225


FDM Database Tables

OFSA_ROLES
The OFSA_ROLES table identifies roles registered for the FDM database. Role
registration is performed using the FDM Administration Role Registration Wizard.
The FDM Database Upgrade and Database Creation processes populate OFSA_
ROLES with information for seeded roles. Rows designated with the PROTECTED_
FLG=1 are protected from modification.

Columns
Column Name Null? Type Description
ROLE_NAME NOT NULL VARCHAR2(30) Identifies the role registered for the FDM database.
Must also exist in OFSA_PRIVILEGE_RECIPIENTS
with a RECIPIENT_TYPE=’R’.
PASSWORD VARCHAR2(50) Designates the encrypted password for the role.
FDM requires that Internal roles are identified with
a password. This encrypted password is accessed by
the OFSA applications in order to automatically
enable roles for the user’s session.
INTERNAL_FLG NOT NULL NUMBER(1) Designates whether the role is an ’Internal’ or
’External’ role. A ’1’ indicates that the role is
’Internal’. A ’0’ indicates that the role is External.
PROTECTED_FLG NOT NULL Designates whether the row is protected from
update. A ’1’ indicates that the row is protected and
cannot be modified. Any other value designates a
user defined row that can be modified.
DESCRIPTION VARCHAR2(255) Long description for the role.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
ROLES_PK Unique 1 ROLE_NAME

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-226 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_SEC_PROFILE_ASSIGNMENT
The OFSA_SEC_PROFILE_ASSIGNMENT table records assignments of Security
Profiles to users and User Groups. Security Profiles provide OFSA application and
functional privileges for FDM users. They are assigned to users in the FDM
Administration application.
The FDM Database Upgrade and Database Creation processes populate OFSA_
SEC_PROFILE_ASSIGNMENT with information for seeded Security Profile
assignments. Rows designated with the PROTECTED_FLG=1 are protected from
modification.

Columns
Column Name Null? Type Description
RECIPIENT_NAME NOT NULL VARCHAR2(30) Identifies the user or User Group receiving the
Security Profile privileges. Users and User Groups
must exist in OFSA_PRIVILEGE_RECIPIENTS with
an appropriate RECIPIENT_TYPE (’U’ for User or
’G’ for User Group).
SECURITY_ VARCHAR2(50) Identifies the Security Profile assigned to the User
PROFILE_NAME or User Group. Security Profiles must exist in
OFSA_PRIVILEGE_RECIPIENTS with a
RECIPIENT_TYPE=’S’ and in OFSA_SECURITY_
PROFILES.
PROTECTED_FLG NOT NULL Designates whether the row is protected from
update. A ’1’ indicates that the row is protected and
cannot be modified. Any other value designates a
user defined row that can be modified.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
SEC_PROFILE_ Unique 1 RECIPIENT_NAME
ASSIGNMENT_PK
SEC_PROFILE_ Unique 2 SECURITY_PROFILE_NAME
ASSIGNMENT_PK

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-227


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-228 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_SECURITY_PROFILES
The OFSA_SECURITY_PROFILES table identifies Security Profiles defined for the
FDM database. Security Profile creation is performed using the FDM
Administration Security Profile Creation Wizard.
The FDM Database Upgrade and Database Creation processes populate OFSA_
SECURITY_PROFILES with information for seeded Security Profiles. Rows
designated with the PROTECTED_FLG=1 are protected from modification.

Columns
Column Name Null? Type Description
SECURITY_ NOT NULL VARCHAR2(30) Identifies the Security Profile defined for the FDM
PROFILE_NAME database. Must also exist in OFSA_PRIVILEGE_
RECIPIENTS with a RECIPIENT_TYPE=’S’.
SECURITY_ NOT NULL VARCHAR2(30) Designates the user that originally created the
PROFILE_ Security Profile.
CREATOR
CREATION_DATE NOT NULL DATE Designates the date on which the Security Profile
was created.
PROTECTED_FLG NOT NULL Designates whether the row is protected from
update. A ’1’ indicates that the row is protected and
cannot be modified. Any other value designates a
user defined row that can be modified.
DESCRIPTION VARCHAR2(255) Long description for the Security Profile.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
SECURITY_ Unique 1 SECURITY_PROFILE_NAME
PROFILES_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-229


FDM Database Tables

OFSA_TAB_COLUMNS
The OFSA_TAB_COLUMNS table identifies all columns registered for the FDM
database. Columns are identified by the object (table or view) on which they reside.
In general, all of the columns that exist on an object registered for the FDM database
are identified in OFSA_TAB_COLUMNS.
The OFSA_TAB_COLUMNS table is analogous to the Oracle RDBMS catalog ALL_
TAB_COLUMNS. In order for a column to be registered in OFSA_TAB_COLUMNS,
the column must first exist in ALL_TAB_COLUMNS.
Columns are registered for the FDM database using the Object Registration Wizard
in FDM Administration.
The FDM Database Creation and Database Upgrade processes populate OFSA_
TAB_COLUMNS with rows for all tables registered in the database.
For information about Object Registration, refer to the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide and the
Oracle Financial Data Manager Administration Guide.

Columns

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view for which the column is
registered.
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the registered column name.
OWNER NOT NULL VARCHAR2(30) Designates the owner of the table or view. For
Release 4.5, FDM only supports a single schema
owner, as identified in OFSA_DB_INFO. All objects
registered for the FDM database instance are owned
by the OWNER identified in OFSA_DB_INFO.
When registering objects from other schemas (or
database instances), the FDM Administration
application creates a view owned by the FDM
Schema Owner to point to the object in the foreign
schema. FDM Administration then registers this
view in the FDM Metadata.
DISPLAY_FLG NOT NULL NUMBER(1) Indicates whether the column appears in List of
Values within the OFSA Applications. A ’1’
indicates that the column name is displayed. Any
other value indicates that the column name is not
displayed.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-230 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


OFSA_DATA_ NOT NULL NUMBER(5) Specifies how the column is used for the OFSA
TYPE_CD applications. The OFSA_DATA_TYPE_DSC table
provides the list of valid FDM Data Types.
DBF_NAME NOT NULL VARCHAR2(10) Specifies the name of the column as it appears in a
Database Filename (DBF) when data is exported
from the column using the OFSA Export ID
functionality.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TAB_COLUMNS_PK Unique 1 TABLE_NAME
TAB_COLUMNS_PK Unique 2 COLUMN_NAME
TAB_COLUMNS_PK Unique 3 OWNER

Sequences
Not applicable.

Column Code Values

OFSA_DATA_TYPE_CD
Code values and descriptions for the OFSA_DATA_TYPE_CD column are defined
in the OFSA_DATA_TYPE_DSC table. The following is a list of valid values for this
column:

FDM Data Type Code FDM Data Type


1 BALANCE
2 CHAR
3 CODE
4 CODE_NUM
5 DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-231


FDM Database Tables

FDM Data Type Code FDM Data Type


6 DESCRIPTION
7 LONG RAW
8 FLAG
9 FREQ
10 LEAF
11 IDENTITY
12 ID_NUMBER
13 MULT
14 N/A
15 NUMBER
16 NUMERIC
17 RATE
18 SWITCH
19 SYS_ID_NUM
20 TERM
21 VARCHAR2
22 UNDEFINED
23 CHAR_RANGE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-232 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TAB_COLUMNS_MLS
The OFSA_TAB_COLUMNS_MLS table provides the translatable display names
and descriptions for columns registered in the FDM database. Each column
registered in OFSA_TAB_COLUMNS must have a corresponding record in OFSA_
TAB_COLUMNS_MLS per language installed in the database.
Refer to the “Multi-Language Support’ chapter of the Oracle Financial Services
Installation Guide for information on how display names and descriptions are stored
in the FDM database in multiple languages.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-233


FDM Database Tables

Columns
Column Name Null? Type Description
MLS_CD NOT NULL VARCHAR2(3) Identifies the language for the display name and
description.
TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view for which the column is
registered.
COLUMN_NAME NOT NULL VARCHAR2(30) Identifies the registered column name. The column
name must exist in OFSA_TAB_COLUMNS for the
designated table_name and owner.
OWNER NOT NULL VARCHAR2(30) Designates the owner of the table or view on which
the column exists.
DISPLAY_NAME NOT NULL VARCHAR2(40) Designates the name of the column as it appears
within the OFSA applications.
DESCRIPTION NOT NULL VARCHAR2(255) Long description for the column.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
TAB_COLUMNS_ Unique 1 MLS_CD
MLS_PK
TAB_COLUMNS_ Unique 2 TABLE_NAME
MLS_PK
TAB_COLUMNS_ Unique 3 COLUMN_NAME
MLS_PK
TAB_COLUMNS_ Unique 4 OWNER
MLS_PK

Sequences
Not applicable.

Column Code Values

MLS_CD
Code values and descriptions for the MLS_CD column are defined in the OFSA_
MLS table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-234 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_CLASS_ASSIGNMENT
The OFSA_TABLE_CLASS_ASSIGNMENT table records the assignment of Table
Classifications to objects (tables and views) registered for the FDM database. Table
Classifications provide a means to designate how tables and views are used within
the OFSA Applications. Each Table Classification identifies a specific purpose for
which an assigned table or view is used.
The FDM Database Upgrade and Database Creation processes automatically assign
Table Classifications for FDM Reserved objects. These Table Classifications are
designated for “Internal use only” and are used by the OFSA Applications to
interact properly with reserved objects in the FDM database. The FDM Database
Upgrade and Database Creation processes also automatically assign “User
Assignable” Table Classifications to client data objects that existed in the OFSA
3.5/4.0 database prior to upgrade. The assignments are based upon the
characteristics of the instrument table.
You can assign Table Classifications for client data objects using the Table
Classification Assignment Wizard within the FDM Administration application.
For information about Table Classifications and how they are used, refer to the
“FDM Object Management” chapter in the Oracle Financial Services Installation and
Configuration Guide.

Columns

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view for which the Table
Classification assignment applies. Must be a
registered object in OFSA_TABLES.
OWNER NOT NULL VARCHAR2(30) Identifies the owner of the table or view. For Release
4.5, must be the same name as the OWNER column
in OFSA_DB_INFO.
TABLE_ NOT NULL NUMBER(5) Designates the Table Classification assigned to the
CLASSIFICATION_ table or view.
CD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-235


FDM Database Tables

Column Name Null? Type Description


PROTECTED_FLG NOT NULL NUMBER(1) Designates whether the assignment record is
protected from update or is available for
modification. A ’1’ indicates that the assignment
record is protected from update and cannot be
changed. FDM records such assignments for
internal objects. Any other value indicates that the
assignment record is available for modification.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLE_CLASS_ Unique 1 TABLE_NAME
ASSIGNMENT_PK
TABLE_CLASS_ Unique 2 OWNER
ASSIGNMENT_PK
TABLE_CLASS_ Unique 3 TABLE_CLASSIFICATION_
ASSIGNMENT_PK CD
TABLE_CLASS_ Non-unique 1 TABLE_CLASSIFICATION_
ASSIGNMENT_FK1 CD

Sequences
Not applicable.

Column Code Values

Table_Classification_CD
Table Classification codes are defined in OFSA_TABLE_CLASSIFICATION and
OFSA_TABLE_CLASSIFICATION_MLS. Use the OFSA_TABLE_
CLASSIFICATION_DSC table to retrieve a list of code and descriptions for this
column.
Refer to the “FDM Object Management” chapter of the Oracle Financial Services
Installation and Configuration Guide for detailed information about Table
Classifications.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-236 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_CLASS_PROPERTIES
OFSA_TABLE_CLASS_PROPERTIES associates Table Properties to Table
Classifications. Table Properties identify required characteristics for Table
Classifications. In order for an object to receive a particular classification, it must
meed the requirements specified by the Table Properties (if any) of that Table
Classification.
There are two types of Table Properties: column names and stored procedures.
The FDM Database Upgrade and Database Creation processes populate OFSA_
TABLE_CLASS_PROPERTIES. The Table Property to Table Classification
associations in this table are protected from modification.

Columns

Column Name Null? Type Description


TABLE_ NOT NULL NUMBER(5) Identifies the Table Classification. Must exist in the
CLASSIFICATION OFSA_TABLE_CLASSIFICATION table.
_CD
TABLE_ NOT NULL NUMBER(5) Identifies the Table Properties that make up the
PROPERTY_CD requirements of the Table Classification. Must exist in
OFSA_TABLE_PROPERTIES.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLE_CLASS_ Unique 1 TABLE_
PROPERTIES_PK CLASSIFICATION
_CD
TABLE_CLASS_ Unique 2 TABLE_
PROPERTIES_PK PROPERTY_CD

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-237


FDM Database Tables

Column Code Values

Table_Classification_CD
Table Classification codes are defined in OFSA_TABLE_CLASSIFICATION and
OFSA_TABLE_CLASSIFICATION_MLS. Use the OFSA_TABLE_
CLASSIFICATION_DSC table to retrieve a list of code and descriptions for this
column.
Refer to the “FDM Object Management” chapter of the Oracle Financial Services
Installation and Configuration Guide for detailed information about Table
Classifications.

Table_Property_CD
Table Property codes are defined in OFSA_TABLE_PROPERTIES. The list of Table
Property codes and descriptions is as follows:

Code Description
10 Basic Instrument Requirements
40 Portfolio Requirements
50 Cash Flow Proc. Requirements
60 Cash Flow Edit Requirements
80 Multicurrency Requirements
100 TP Option Costing Requirements
110 TP Basic Requirements
1000 Validate Instrument Leaves
1010 Validate Instrument Key
1020 Validate Transaction Key
1030 Validate Correction Key

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-238 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_CLASSIFICATION
The OFSA_TABLE_CLASSIFICATION table records the assignment of Table
Classifications to objects (tables and views) registered for the FDM database. Table
Classifications provide a means to designate how tables and views are used within
the OFSA applications. Each Table Classification identifies a specific purpose for
which an assigned table or view is used.
The FDM Database Upgrade and Database Creation processes automatically
populate OFSA_TABLE_CLASSIFICATION with the seeded Table Classifications.
Users are not allowed to create their own Table Classifications, and all records in
OFSA_TABLE_CLASSIFICATION are protected from modification.
You can assign Table Classifications for client data objects using the Table
Classification Assignment Wizard within the FDM Administration application.
For information about Table Classifications and how they are used, refer to the
“FDM Object Management” chapter in the Oracle Financial Services Installation and
Configuration Guide.

Columns

Column Name Null? Type Description


TABLE_ NOT NULL NUMBER(5) Identifies the Table Classification code.
CLASSIFICATION_
CD
USER_ASSIGN_ NOT NULL NUMBER(1) Designates whether the Table Classification can be
FLG assigned to objects from within FDM
Administration. A ’1’ indicates that the Table
Classification can be assigned to objects using the
Table Classification Assignment Wizard from within
FDM Administration. A ’0’ indicates that the Table
Classification is an internal classification not
available for user assignment. Internal Table
Classifications are assigned only to objects by the
FDM Database Upgrade and Database Creation
processes.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-239


FDM Database Tables

Column Name Null? Type Description


DYNAMIC_PRIV_ NOT NULL NUMBER(1) Designates whether the Table Classification is
FLG available for Dynamic Privilege assignment within
FDM Administration. A ’1’ indicates that the Table
Classification is a Dynamic Table Classification
(such as “RM Results”), representing tables that are
created during processing. A ’0’ indicates that the
Table Classification represents static tables or views.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLE_ Unique 1 TABLE_CLASSIFICATION_
CLASSIFICATION_CD CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-240 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_CLASSIFICATION_MLS
The OFSA_TABLE_CLASSIFICATION table provides translatable display names
and descriptions for Table Classifications. Each Table Classification defined in
OFSA_TABLE_CLASSIFICATION has a corresponding record in OFSA_TABLE_
CLASSIFICATION_MLS per language installed in the database.
Refer to the “Multi-Language Support’ chapter of the Oracle Financial Services
Installation Guide for information on how display names and descriptions are stored
in the FDM database in multiple languages.

Columns
Column Name Null? Type Description
MLS_CD NOT NULL VARCHAR2(3) Identifies the language of the display name and
description. Refer to the OFSA_MLS table for a list
of MLS code values.
TABLE_ NOT NULL NUMBER(5) Identifies the Table Classification code.
CLASSIFICATION_
CD
TABLE_ NOT NULL VARCHAR2(30) Display name for the Table Classification.
CLASSIFICATION
DESCRIPTION VARCHAR2(255) Description for the Table Classification.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
TABLE_ Unique 1 MLS_CD
CLASSIFICATION_
MLS_PK
TABLE_ Unique 2 TABLE_CLASSIFICATION_
CLASSIFICATION_ CD
MLS_PK
TABLE_ Non-unique 1 TABLE_CLASSIFICATION_
CLASSIFICATION_ CD
MLS_FK1

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-241


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-242 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_PROPERTIES
Table Properties identify required characteristics for Table Classifications. In order
for an object to receive a particular classification, it must meed the requirements
specified by the Table Properties (if any) of that Table Classification. The OFSA_
TABLE_PROPERTIES table defines the Table Properties available within the FDM
database.
There are two types of Table Properties: column names and stored procedures.
The FDM Database Upgrade and Database Creation processes populate OFSA_
TABLE_PROPERTIES. The Table Properties defined in this table are protected from
modification and users are not allowed to add any new properties.
The following is a list of valid Table Properties:

Code Description
10 Basic Instrument Requirements
40 Portfolio Requirements
50 Cash Flow Proc. Requirements
60 Cash Flow Edit Requirements
80 Multicurrency Requirements
100 TP Option Costing Requirements
110 TP Basic Requirements
1000 Validate Instrument Leaves
1010 Validate Instrument Key
1020 Validate Transaction Key
1030 Validate Correction Key

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-243


FDM Database Tables

Columns

Column Name Null? Type Description


TABLE_ NOT NULL NUMBER(5) Identifies the Table Property code.
PROPERTY_CD
TABLE_ NOT NULL VARCHAR2(30) Name of the Table Property. Note that Table Property
PROPERTY names are not translatable.
DESCRIPTION VARCHAR2(255) Description of the Table Property. Table Property
Descriptions are not translatable.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLE_PROPERTIES_ Unique 1 TABLE_
PK CLASSIFICATION
_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-244 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLE_STORAGE_DEFAULTS
The OFSA_TABLE_STORAGE_DEFAULTS table enables the administrator to
specify the storage parameters used by the transformation engine when it creates
any transformation output table.

Columns
For detailed descriptions of the columns in this table, and for further explanation on
how the transformation engine uses the information in these tables in sizing output
tables, refer to the “Transformation Output Tables” section in the “FDM Object
Management” chapter of the Oracle Financial Services Installation and Configuration
Guide.

Indexes

Index
Index Column
Index_Name Type Sequence Column_Name
OFSA_TABLE_STORAGE_DEFAULTS Unique 1 OUTPUT_TABLE_
CLASS_CD
OFSA_TABLE_STORAGE_DEFAULTS Unique 2 USER_NAME

Sequences
Not applicable.

Column Code Values

Output_Table_Class_CD
The Output_Table_Class_CD column of OFSA_INDEX_STORAGE_DEFAULTS
identifies the transformation output Table Classification types and contains the
following codes:
Code Description
260 Transformed Ledger Stat
270 Transformed RM Cash Flow
280 Transformed RM GAP
290 Transformed Tree Rollup

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-245


FDM Database Tables

OFSA_TABLE_TRACKING
The OFSA_TABLE_TRACKING table records information about the source of each
transformation output table. It is also used to prevent more than one
Transformation ID from simultaneously attempting to create or write to the same
output table.
Each time a transformation output table is created, a new row is entered into this
table, containing the table name, the process_start_timestamp, the process_sys_id of
the Transformation ID that is creating the table and the user name under which the
ID is being run. The process_end_timestamp column is left null. This indicates that
the table is reserved for processing and no other ID is allowed to process it. After
the table has been created, the source_table_name, source_sys_id, ddl_action and
dml_action columns are also filled in.
At the end of the transformation process, the process_end_timestamp is filled in,
indicating that processing is complete and that the table is no longer reserved.
Subsequent selective reprocessing or appending to the output table adds additional
rows to this table, providing a history of its transformations since the table was
created or last re-created. Each time a transformation requires the re-creation of an
existing output table, all of the old rows for that table are deleted from OFSA_
TABLE_TRACKING and the history for that table begins again from that point.

Columns

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) The name of the output table described
by this row.
PROCESS_START_TIMESTAMP NOT NULL DATE The date and time that the
transformation process began. This also
indicates when the table was reserved.
PROCESS_END_TIMESTAMP DATE The date and time that the
transformation process ended. This also
indicates when the table was no longer
reserved.
PROCESS_SYS_ID NUMBER(10) The process_sys_id identifying the
Transformation ID that created the table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-246 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


PROCESS_ID_SEQ NUMBER(5) The process_id_seq identifying the page
of the Transformation ID that created the
table. Transformation IDs currently
contain only one page.
USER_NAME VARCHAR2(30) The Oracle user name of the user who
ran the Transformation ID.
SOURCE_TABLE_NAME VARCHAR2(30) The name of the table from which the
data in the output table was transformed.
SOURCE_SYS_ID NUMBER(10) For Risk Manager transformations, the
sys_id_num value identifying the Process
ID that created the source table. For tree
rollup transformations, the sys_id_num
value identifying the Tree Rollup ID used
as the source for the transformation. This
is not used for Ledger Stat
transformations.
DDL_ACTION VARCHAR2(20) Describes whether the output table was
created for the first time, recreated or was
altered to add columns.
DML_ACTION VARCHAR2(20) Describes whether the table data was
populated for the first time, repopulated
or selectively reprocessed.

Indexes

Index
Index Column
Index_Name Type Sequence Column_Name
OFSA_TABLE_TRACKING Unique 1 TABLE_NAME
OFSA_TABLE_TRACKING Unique 2 PROCESS_START_TIMESTAMP

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-247


FDM Database Tables

Column Code Values

DDL_Action
The ddl_action column of OFSA_TABLE_TRACKING has the following values:

Code Description
CREATE TABLE Indicates that the table was created for the first time.
RECREATE TABLE Indicates that the table existed previously and was
recreated.
APPEND COLUMNS Indicates that additional financial element columns
were added to the table.

DML_Action
The dml_action column of OFSA_TABLE_TRACKING has the following values:

Code Description
POPULATE Indicates that the data was populated for the first
time.
REPOPULATE Indicates that the previous data was deleted (or the
table was dropped and recreated) and the data was
repopulated.
SELECTIVE REPROCESS Indicates that some of the pre-existing data may
have been deleted and replaced, or that new rows
were appended to the table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-248 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLES
OFSA_TABLES identifies all objects (tables and views) registered for the FDM
database.
The OFSA_TABLES table is analogous to the Oracle RDBMS catalog ALL_TABLES.
In order for a table or view to be registered in OFSA_TABLES, the table or view
must first exist in ALL_TAB_COLUMNS.
Objects are registered for the FDM database using the Object Registration Wizard in
FDM Administration.
The FDM Database Creation and Database Upgrade processes populate OFSA_
TABLES with rows for all FDM reserved objects. The FDM Database Upgrade
process also automatically registers instrument tables from the existing OFSA
3.5/4.0 database, while the FDM Database Creation process registers the set of
default instrument tables created with FDM database installation.
Never unregister FDM Reserved tables from your database. Client data tables (such
as Instrument, Account, Transaction and User Defined code tables) can be registered
and unregistered from the FDM Administration application.
For information about Object Registration, refer to the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide and the
Oracle Financial Data Manager Administration Guide.

Columns

Column Name Null? Type Description


TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view registered for the FDM
database.
OWNER NOT NULL VARCHAR2(30) Designates the owner of the table or view. For
Release 4.5, FDM supports only a single schema
owner, as identified in OFSA_DB_INFO. All objects
registered for the FDM database instance are owned
by the OWNER identified in OFSA_DB_INFO.
When registering objects from other schemas (or
database instances), the FDM Administration
application creates a view owned by the FDM
Schema Owner to point to the object in the foreign
schema. FDM Administration then registers this
view in the FDM Metadata.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-249


FDM Database Tables

Column Name Null? Type Description


DISPLAY_FLG NOT NULL NUMBER(1) Indicates whether the object appears in List of
Values within the OFSA Applications. A ’1’
indicates that the object is displayed. Any other
value indicates that the object is not displayed.
DBF_NAME NOT NULL VARCHAR2(10) Specifies the name of the object as it appears in a
Database Filename (DBF) when data is exported
from the object using the OFSA Export ID
functionality.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLES_PK Unique 1 TABLE_NAME
TABLES_PK Unique 2 OWNER

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-250 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TABLES_MLS
The OFSA_TABLES_MLS table provides the translatable display names and
descriptions for objects (tables and views) registered in the FDM database. Each
object registered in OFSA_TABLES has a corresponding record in OFSA_TABLES_
MLS per language installed in the database.
Refer to the “Multi-Language Support’ chapter of the Oracle Financial Services
Installation Guide for information on how display names and descriptions are stored
in the FDM database in multiple languages.

Columns

Column Name Null? Type Description


MLS_CD NOT NULL VARCHAR2(3) Identifies the language for the display name and
description.
TABLE_NAME NOT NULL VARCHAR2(30) Identifies the table or view for registered for the
FDM database.
OWNER NOT NULL VARCHAR2(30) Designates the owner of the table or view.
DISPLAY_NAME NOT NULL VARCHAR2(40) Designates the name of the object as it appears
within the OFSA applications.
DESCRIPTION NOT NULL VARCHAR2(255) Long description for the object.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TABLES_MLS_PK Unique 1 MLS_CD
TABLES_MLS_PK Unique 2 TABLE_NAME
TABLES_MLS_PK Unique 3 COLUMN_NAME
TABLES_MLS_PK Unique 4 OWNER

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-251


FDM Database Tables

Column Code Values

MLS_CD
Code values and descriptions for the MLS_CD column are defined in the OFSA_
MLS table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-252 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TEMP_OBJECTS
The OFSA_TEMP_OBJECTS table stores information regarding temporary database
objects. Various OFSA modules create temporary database objects, including both
tables and views. Every time an OFSA product creates a temporary object, the
creation of the object is recorded in OFSA_TEMP_OBJECTS. When the application
is finished with the temporary object, the record of the object is deleted from OFSA_
TEMP_OBJECTS. Objects listed in OFSA_TEMP_OBJECTS that are not being used
by any process may be safely dropped from the database (and deleted from OFSA_
TEMP_OBJECTS).

Columns

Column Name Null? Type Description


OBJECT_NAME NOT NULL VARCHAR2(25) Name of the temporary object.
LOGIN_NAME NOT NULL VARCHAR2(15) User ID of the person who created the object.
JOB_NUM NOT NULL NUMBER(5) The job number of the process that created the object.
SYS_ID_NUM NOT NULL NUMBER(10) The sys_id_num of the process that created the object.
CREATE_DATE DATE The date when the object was created.
CREATE_TIME VARCHAR2(8) The time (in HH:MM:SS format) when the object was
created.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TSER_TEMP_OBJECTS Unique 1 OBJECT_NAME

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-253


FDM Database Tables

OFSA_TM_STOCH_MKT_VAL
The OFSA_TM_STOCH_MKT_VAL table stores market value data per product leaf
generated in an Oracle Risk Manager stochastic process.

Columns

Column Name Null? Type Description


TM_PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager
Process ID.
LEAF_NODE NOT NULL NUMBER(14) Designates the product leaf value.
NUM_OF_RATE_PATHS NOT NULL NUMBER(5) Specifies the number of rate paths
processed by the Risk Manager
Process ID.
CUR_BALANCE NOT NULL NUMBER(14,2) Specifies the current balance
calculated by the Risk Manager
Process ID for the designated
product leaf value.
MARKET_VALUE NOT NULL NUMBER(14,2) Specifies the market value of the
current balance calculated by the
Risk Manager Process ID.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TM_STOCH_MKT_VAL Unique 1 TM_PROCESS_SYS_ID
TM_STOCH_MKT_VAL Unique 2 LEAF_NODE

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-254 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TM_STOCH_RATES
The OFSA_TM_STOCH_RATES table stores Oracle Risk Manager processing audit
trail information for Monte Carlo rate paths. This data is generated when the ’Write
One Month Rates’ flag for the stochastic option is checked for the Risk Manager
Process ID.

Columns

Column Name Null? Type Description


TM_PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager Process ID.
RATE_PATH_NUM NOT NULL NUMBER(5) Identifies the rate path for the Process ID.
TIME_STEP NOT NULL NUMBER(3) Specifies the time sequence in months. A ’1’ = the
first month; ’2’ = the second month and so forth.
RATE NOT NULL NUMBER(8,4) Specifies the interest rate for the time step.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TM_STOCH_RATES Unique 1 TM_PROCESS_SYS_ID
TM_STOCH_RATES Unique 2 RATE_PATH_NUM
TM_STOCH_RATES Unique 3 TIME_STEP

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-255


FDM Database Tables

OFSA_TM_STOCH_TOT_VAR
The OFSA_TM_STOCH_TOT_VAR table stores the rolled up value at risk (value at
risk at bank level) generated by a Risk Manager stochastic process.

Columns

Column Name Null? Type Description


TM_PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager
Process ID.
VAR_TERM NOT NULL NUMBER(5) Designates the value at risk term.
VAR_TERM_MULT NOT NULL CHAR(1) Designates the units (’D’ days, ’M’
months, ’Y’ years) of the var_
term.
PROBABILITY NOT NULL NUMBER(8,5) Specifies the probability of
occurrence.
VALUE_AT_RISK NOT NULL NUMBER(14,2) Specifies the maximum possible
loss over a valuation period.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
TM_STOCH_TOT_VAR Unique 1 TM_PROCESS_SYS_ID
TM_STOCH_TOT_VAR Unique 2 VAR_TERM
TM_STOCH_TOT_VAR Unique 3 VAR_TERM_MULT
TM_STOCH_TOT_VAR Unique 4 PROBABILITY

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-256 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TM_STOCH_VAR
The OFSA_TM_STOCH_VAR table stores the probability distribution for value at
risk (VAR) for each leaf_node/VAR term generated by the Risk Manager stochastic
process.

Columns
Column Name Null? Type Description
TM_PROCESS_SYS_ID NOT NULL NUMBER(10) Identifies the Risk Manager Process ID.
LEAF_NODE NOT NULL NUMBER(14) Designates the product leaf.
VAR_TERM NOT NULL NUMBER(5) Designates the value at risk term.
VAR_TERM_MULT NOT NULL CHAR(1) Designates the Units (’D’ days, ’M’ months, ’Y’
years) for the var_term.
PROBABILITY NOT NULL NUMBER(8,5) Specifies the probability of occurrence.
VALUE_AT_RISK NOT NULL NUMBER(14,2) Specifies the maximum possible loss over a
valuation period.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
TM_STOCH_TOT_VAR Unique 1 TM_PROCESS_SYS_ID
TM_STOCH_TOT_VAR Unique 2 LEAF_NODE
TM_STOCH_TOT_VAR Unique 3 VAR_TERM
TM_STOCH_TOT_VAR Unique 4 VAR_TERM_MULT
TM_STOCH_TOT_VAR Unique 5 PROBABILITY

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-257


FDM Database Tables

OFSA_TRANSFORM_LS_TEMPLATE
The OFSA_TRANSFORM_LS_TEMPLATE table defines the columns and indexes to
be created for transformation output tables, by the transformation engine, for
Ledger Stat transformations. This table is a template only and does not contain any
data.
The transformation engine uses the column name, datatype, size and null/not null
definition for each column of the template table to create the transformation output
table. It also uses indexes defined on the template table to create comparable
indexes on the output table.
For more information on how the transformation engine uses template tables, refer
to the “Transformation Output Tables” section in the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide.

Columns

Column Name Null? Type Description


END_DATE NOT DATE In the output table, end_date contains the last
NULL day of the month, identifying the period to
which the data in the row belongs.
ORG_UNIT_ID NOT NUMBER(14) In the output table, org_unit_id contains the
NULL value of org_unit_id from the corresponding
row(s) in the LEDGER_STAT table.
GL_ACCOUNT_ID NOT NUMBER(14) In the output table, gl_account_id contains the
NULL value of gl_account_id from the corresponding
row(s) in the LEDGER_STAT table.
COMMON_COA_ID NOT NUMBER(14) In the output table, common_coa_id contains the
NULL value of common_coa_id from the corresponding
row(s) in the LEDGER_STAT table.
OTHER_LEAF_COLUMNS NOT NUMBER(14) For Ledger Stat transformations, this column is
NULL replaced in the output table (and in its indexes)
with all of the other Ledger Stat leaf columns (as
defined in the OFSA_CATALOG_OF_LEAVES
table), except for those leaves that are filtered by
the Transformation ID’s dimension filter. In the
output table, these columns contain the values of
the corresponding columns from the
corresponding row(s) in the LEDGER_STAT
table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-258 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


CONSOLIDATION_CD NOT NUMBER(5) In the output table, consolidation_cd contains
NULL the value of consolidation_cd from the
corresponding row(s) in the LEDGER_STAT
table.
ISO_CURRENCY_CD NOT VARCHAR2(3) In the output table, the iso_currency_cd field
NULL contains the value of the iso_currency_cd from
the corresponding source row(s) in the
LEDGER_STAT table.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
TRANSFORM_LS_TEMPLATE Unique 1 END_DATE
TRANSFORM_LS_TEMPLATE Unique 2 ORG_UNIT_ID
TRANSFORM_LS_TEMPLATE Unique 3 GL_ACCOUNT_ID
TRANSFORM_LS_TEMPLATE Unique 4 COMMON_COA_ID
TRANSFORM_LS_TEMPLATE Unique 5 OTHER_LEAF_COLUMNS
TRANSFORM_LS_TEMPLATE Unique 6 CONSOLIDATION_CD
TRANSFORM_LS_TEMPLATE Unique 7 ISO_CURRENCY_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-259


FDM Database Tables

OFSA_TRANSFORM_RMC_TEMPLATE
The OFSA_TRANSFORM_RMC_TEMPLATE table defines the columns and indexes
to be created for transformation output tables, by the transformation engine, for
Risk Manager Cash Flow transformations. This table is a template only and does
not contain any data.
The transformation engine uses the column name, datatype, size and null/not null
definition for each column of the template table to create the transformation output
table. It also uses indexes defined on the template table to create comparable
indexes on the output table.
For more information on how the transformation engine uses template tables, refer
to the “Transformation Output Tables” section in the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide.

Columns

Column Name Null? Type Description


START_DATE NOT DATE In the output table, start_date contains the first
NULL day of the period to which the data in the row
belongs.
END_DATE NOT DATE In the output table, end_date contains the last
NULL day of the period to which the data in the row
belongs.
ORG_UNIT_ID NOT NUMBER(14) In the output table, org_unit_id contains the
NULL value of org_unit_id from the corresponding
row(s) in the source Risk Manager Result Detail
table.
OTHER_LEAF_COLUMNS NOT NUMBER(14) For Risk Manager transformations, this column
NULL is replaced in the output table (and in its
indexes) with the column used as the product
leaf in the source Risk Manager Result Detail
table. In the output table, the product leaf
column contains the value of the corresponding
column from the corresponding row(s) in the
source table.
SCENARIO_NUM NOT NUMBER(5) In the output table, scenario_num contains the
NULL value of scenario_num from the corresponding
row(s) in the source Risk Manager result detail
table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-260 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Name Null? Type Description


RESULT_TYPE_CD NOT NUMBER(5) In the output table, result_type_cd contains the
NULL value of result_type_cd from the corresponding
row(s) in the source Risk Manager result detail
table.
ISO_CURRENCY_CD NOT VARCHAR2(3) In the output table, the iso_currency_cd field
NULL contains the value of the iso_currency_cd from
the corresponding row(s) in the source Risk
Manager result detail table.

Indexes

Index Index Column


Index_Name Type Sequence Column_Name
TRANSFORM_RMC_TEMPLATE Unique 1 START_DATE
TRANSFORM_RMC_TEMPLATE Unique 2 END_DATE
TRANSFORM_RMC_TEMPLATE Unique 3 ORG_UNIT_ID
TRANSFORM_RMC_TEMPLATE Unique 4 OTHER_LEAF_
COLUMNS
TRANSFORM_RMC_TEMPLATE Unique 5 SCENARIO_NUM
TRANSFORM_RMC_TEMPLATE Unique 6 RESULT_TYPE_CD
TRANSFORM_RMC_TEMPLATE Unique 7 ISO_CURRENCY_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-261


FDM Database Tables

OFSA_TRANSFORM_RMG_TEMPLATE
The OFSA_TRANSFORM_RMG_TEMPLATE table defines the columns and indexes
to be created for transformation output tables, by the transformation engine, for
Risk Manager GAP transformations. This table is a template only and does not
contain any data.
The transformation engine uses the column name, datatype, size and null/not null
definition for each column of the template table to create the transformation output
table. It also uses indexes defined on the template table to create comparable
indexes on the output table.
For more information on how the transformation engine uses template tables, refer
to the “Transformation Output Tables” section in the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-262 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Columns
Column Name Null? Type Description
DYNAMIC_GAP_DATE NOT NULL DATE In the output table, dynamic_gap_date is the
date associated with the start_date_index
column in the source Risk Manager Result Detail
table. The date is taken from the from_date_001
column in the OFSA_RESULT_BUCKET_TABLE
where dgap_scenario_num = start_date_index.
START_DATE NOT NULL DATE In the output table, start_date contains the first
day of the period to which the data in the row
belongs.
END_DATE NOT NULL DATE In the output table, end_date contains the last
day of the period to which the data in the row
belongs.
ORG_UNIT_ID NOT NULL NUMBER(14) In the output table, org_unit_id contains the
value of org_unit_id from the corresponding
row(s) in the source Risk Manager Result Detail
table.
OTHER_LEAF_COLUMNS NOT NULL NUMBER(14) For Risk Manager transformations, this column
is replaced in the output table (and in its
indexes) with the column used as the product
leaf in the source Risk Manager Result Detail
table. In the output table, the product leaf
column contains the value of the corresponding
column from the corresponding row(s) in the
source table.
SCENARIO_NUM NOT NULL NUMBER(5) In the output table, scenario_num contains the
value of scenario_num from the corresponding
row(s) in the source Risk Manager Result Detail
table.
RESULT_TYPE_CD NOT NULL NUMBER(5) In the output table, result_type_cd contains the
value of result_type_cd from the corresponding
row(s) in the source Risk Manager Result Detail
table.
ISO_CURRENCY_CD NOT NULL VARCHAR2(3 In the output table, the iso_currency_cd field
) contains the value of the iso_currency_cd from
the corresponding row(s) in the source Risk
Manager result detail table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-263


FDM Database Tables

Indexes
Index Index Column
Index_Name Type Sequence Column_Name
TRANSFORM_RMG_TEMPLATE Unique 1 DYNAMIC_GAP_
DATE
TRANSFORM_RMG_TEMPLATE Unique 2 START_DATE
TRANSFORM_RMG_TEMPLATE Unique 3 END_DATE
TRANSFORM_RMG_TEMPLATE Unique 4 ORG_UNIT_ID
TRANSFORM_RMG_TEMPLATE Unique 5 OTHER_LEAF_
COLUMNS
TRANSFORM_RMG_TEMPLATE Unique 6 SCENARIO_NUM
TRANSFORM_RMG_TEMPLATE Unique 7 RESULT_TYPE_CD
TRANSFORM_RMG_TEMPLATE Unique 8 ISO_CURRENCY_CD

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-264 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_TRANSFORM_ROLLUP_TEMPLATE
The OFSA_TRANSFORM_ROLLUP_TEMPLATE table defines the columns to be
created for transformation output tables, by the transformation engine, for tree
rollup transformations. The transformation engine does not use this template to
determine indexes created on the output table. It creates a single unique index on
the column that replaces leaf_column in the output table. The OFSA_
TRANSFORM_ROLLUP_TEMPLATE table is a template only and does not contain
any data.
The transformation engine uses the column name, datatype, size and null/not null
definition for each column of the template table to create the transformation output
table.
For more information on how the transformation engine uses template tables, refer
to the “Transformation Output Tables” section in the “FDM Object Management”
chapter of the Oracle Financial Services Installation and Configuration Guide.

Columns

Column Name Null? Type Description


LEAF_COLUMN NOT NUMBER(14) For tree rollup transformations, this column is replaced
NULL in the output table with the leaf column upon which the
source Tree Rollup ID is built.
LEAF_DESCRIPTION VARCHAR2(80) Leaf_description contains the description from the
OFSA_LEAF_DESC table for the value in the leaf
column that replaces leaf_column in the output table.
LEVEL_NN_VALUE VARCHAR2(17) For tree rollup transformations, this column is repeated
in the output table once for every level of the tree rollup
that is being transformed. NN is replaced in the name of
the column with a value of ’01’ to ’15’, representing the
level in the tree.
In the output table, each level_nn_value column
contains the value of the corresponding node_nn
column in OFSA_IDT_ROLLUP, concatenated with LNN
where NN is the level. An additional column is added to
represent the root level, which is not stored in OFSA_
IDT_ROLLUP. The level_01_value column represents
the node level one step above the leaf level and the
highest-numbered level_nn_value column represents the
root level.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-265


FDM Database Tables

Column Name Null? Type Description


LEVEL_NN_DESC VARCHAR2(80) For tree rollup transformations, this column is repeated
in the output table in the same manner as the level_nn_
value columns. In the output table, each level_nn_desc
column contains the description from OFSA_NODE_
DESC for the node value in the corresponding level_nn_
value column.

Indexes
Not applicable.

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-266 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_USER_GROUP_ASSIGNMENT
The OFSA_USER_GROUP_ASSIGNMENT table records assignments of users to
User Groups. User Groups are collections of users. Any privileges (such as Roles or
Security Profiles) assigned to a User Group are automatically conveyed to each of
its members. Users are assigned to User Groups in the FDM Administration
application.

Columns

Column Name Null? Type Description


USERNAME NOT NULL VARCHAR2(30) Identifies the user belonging to the designated User
Group. Users must exist in OFSA_PRIVILEGE_
RECIPIENTS with a RECIPIENT_TYPE =’U’.
USER_GROUP_ VARCHAR2(50) Identifies the User Group of which the user is a
NAME member. User Groups must exist in OFSA_
PRIVILEGE_RECIPIENTS with a RECIPIENT_
TYPE=’G’ and in OFSA_USER_GROUPS.

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
USER_GROUP_ Unique 1 USERNAME
ASSIGNMENT_PK
USER_GROUP_ Unique 2 USER_GROUP_NAME
ASSIGNMENT_PK

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-267


FDM Database Tables

OFSA_USER_GROUPS
The OFSA_USER_GROUPS table identifies User Groups defined for the FDM
database. User Groups are collections of users. Any privileges (such as Roles or
Security Profiles) assigned to a User Group are automatically conveyed to each of
its members. User Group creation is performed using the FDM Administration User
Group Creation Wizard.
The FDM Database Upgrade and Database Creation processes populate OFSA_
USER_GROUPS with information for seeded User Groups. Rows designated with
the PROTECTED_FLG=1 are protected from modification.

Columns
Column Name Null? Type Description
USER_GROUP_ NOT NULL VARCHAR2(30) Identifies the User Group defined for the FDM
NAME database. Must also exist in OFSA_PRIVILEGE_
RECIPIENTS with a RECIPIENT_TYPE=’G’.
USER_GROUP_ NOT NULL VARCHAR2(30) Designates the user that originally created the User
CREATOR Group.
CREATION_DATE NOT NULL DATE Designates the date on which the User Group was
created.
PROTECTED_FLG NOT NULL Designates whether the row is protected from
update. A ’1’ indicates that the row is protected and
cannot be modified. Any other value designates a
user defined row that can be modified.
GROUP_ VARCHAR2(255) Long description for the User Group.
DESCRIPTION

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
USER_GROUPS_PK Unique 1 USER_GROUP_NAME

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-268 Oracle Financial Services Technical Reference Manual


FDM Database Tables

OFSA_USERS
The OFSA_USERS table identifies Users registered for the FDM database. User
registration is performed using the FDM Administration User Registration Wizard.
In order to register a user for FDM, the user must first exist as a valid Oracle
RDBMS user (that is, must exist in ALL_USERS). When a user is registered in FDM
Administration, the a row is created in both the OFSA_PRIVILEGE_RECIPIENTS
and OFSA_USERS table for that user. The User is also granted specific roles to
provide the minimum required database privileges for an FDM user.

Columns
Column Name Null? Type Description
USERNAME NOT NULL VARCHAR2(30) Identifies the User. A record also exists in OFSA_
PRIVILEGE_RECIPIENTS with a RECIPIENT_
TYPE=’U’.
FIRST_NAME VARCHAR2(30) First name of the user.
LAST_NAME VARCHAR2(30) Last name of the user.
CONFIG_SYS_ID NOT NULL NUMBER(10) The Configuration ID that is active for the user. Risk
Manager and Transfer Pricing users can choose to
activate other Configuration IDs instead of the one
assigned to them by the User Registration process.
DEFAULT_FOLER_ NOT NULL VARCHAR2(30) Designates the ID Folder that appears as the default
NAME for opening or creating IDs in the OFSA
applications. Users can change this in the
Configuration ID.

Indexes
Index Column
Index_Name Index Type Sequence Column_Name
USERS_PK Unique 1 USERNAME

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-269


FDM Database Tables

RELATE
The RELATE table implements the many-to-many relationship between customers
and accounts. One customer may have more than one account; joint accounts
belong to more than one customer.

Columns

Column Name Null? Type Description


ACCT_ID NOT NULL NUMBER(9) Assigned number that uniquely identifies the account.
CUS_NO NOT NULL NUMBER(9) Assigned number that uniquely identifies the primary
customer on the account.
REL_TYPE NOT NULL VARCHAR2(1) The customer’s relationship to the account: P =
primary, S = secondary.
ORIG_CUS_KEY VARCHAR2(30) Unique key assigned to the customer from the
organization’s mainframe or application software.
OWNER_TYPE VARCHAR2(3) This is a user-defined field for defining ownership
type.
REL01DT DATE User-defined field
REL01T1 VARCHAR2(1) User-defined field
REL02T1 VARCHAR2(1) User-defined field
REL01T5 VARCHAR2(5) User-defined field
REL02T5 VARCHAR2(5) User-defined field
REL01T10 VARCHAR2(10) User-defined field
REL02T10 VARCHAR2(10) User-defined field

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-270 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
RELATE_KEY Unique 1 ACCT_ID
RELATE_KEY Unique 2 CUS_NO
RELATE_CUS_NO Non-unique 1 CUS_NO

Sequences
Not applicable.

Column Code Values

Rel_Type
The rel_type column has the following values:

Code Description
P Primary customer on an account
S Secondary customer on an account

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-271


FDM Database Tables

RES_DTL_XXXXXX
These tables store detail cash flow and GAP results and are of the same structure as
the IDT_RESULT_DETAIL table. These tables are created when a Risk Manager
Process ID is executed. A different table is created for each specific Risk Manager
Process ID. However, if the table already exists with the correct structure, meaning
that the structure is the same as that of IDT_RESULT_DETAIL, it repopulates or
appends to existing data. The XXXXXX portion of the table name is the same as the
system identifier for the Process ID that generated the table. The number of RES_
DTL_ XXXXXX tables that exist in an FDM database is dependent on the number of
processing IDs that have been executed in a database.
These tables are referred to as Risk Manager Result Detail tables. Uses of Risk
Manager Result Detail tables in OFSA include:
■ Storing Risk Manager process results
■ Access by Transformation ID during transformation of Risk Manager results
data for FDM Reporting Data Mart
■ Access by FDM Reporting
These tables are dropped automatically when the Process ID that created the table is
deleted. It is recommended that IDs that are no longer in use be deleted so that their
corresponding RES_DTL_XXXXXXX tables can be dropped. Always unregister the
table from FDM Administration if you drop it.
These tables are created based on the definition of IDT_RESULT_DETAIL. To
modify the structure of this table, or to add or modify indexes that need to be
created every time a RES_DTL_ XXXXXX table is created, make all the necessary
modifications to IDT_RESULT_DETAIL.

Columns
The columns for the RES_DTL_XXXXXX tables are created using the IDT_RESULT_
DETAIL as a model. To see what columns are created for new RES_DTL_XXXXXX
tables, see the column definitions for IDT_RESULT_DETAIL.

Indexes
The indexes for the RES_DTL_XXXXXX tables are created using the IDT_RESULT_
TABLE as a model. To see what indexes are created for new RES_DTL_XXXXXX
tables, see the index definitions for IDT_RESULT_DETAIL.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-272 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-273


FDM Database Tables

SERV
The SERV table defines the 18 services tables. Services represent the highest level in
the Market Manager product hierarchy of Service-Product-Subproduct.
SERV is populated during the FDM Database Upgrade and Database Creation
processes.
See the Services Tables entry in this section for a list of the 18 services defined for
the FDM database.

Columns

Column Name Null? Type Description


SERV NOT NULL VARCHAR2(4) Assigned code that uniquely identifies each of the 18
services.
SERV_DESC VARCHAR2(30) The complete name of the service.
SERV_TYPE VARCHAR2(1) A code for the service type ( D = Deposit, L = Loan, O
= Other
SORT_ORDER NUMBER(2) Determines the order in which the services are
displayed

Indexes

Index Column
Index_Name Index Type Sequence Column_Name
SERV_KEY Unique 1 SERV

Sequences
Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-274 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Column Code Values

Serv
The serv column has the following values:

Code Description
BOX Safe Deposit Boxes
CC Credit Cards
CDA CDs
CL Credit Lines
CN Commercial Notes
DC Debit Cards
DDA Checking
IL Installment Loans
INV Investments
LS Leases
MC Merchant Cards
ML Mortgage Loans
OD Other Deposit Accounts
OL Other Loan Accounts
OS Other Services
RA Retirement Accounts
SAV Savings
TR Trust

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-275


FDM Database Tables

Serv_Type
The serv_type column has the following values:

Code Description
D Deposit
L Loan
O Other

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-276 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Services Tables
There are 18 services tables that contain account information specific to each of the
different services types. They are listed below. For a detailed description of the
columns in these tables, refer to the Oracle Financial Data Manager Data Dictionary.
CC Credit card accounts
CD Certificate of deposit accounts
CK Checking accounts
CL Credit line accounts
CN Commercial note accounts
DC Debit card accounts
IL Installment loan accounts
IV Investment accounts
LS Lease accounts
MC Merchant card accounts
ML Mortgage loan accounts
OD Other deposit accounts
OL Other loan accounts
OS Other service accounts
RA Retirement accounts
SD Safety deposit box accounts
SV Savings accounts
TR Trust accounts

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-277


FDM Database Tables

Some of the ways that the Services tables are used are listed below:
■ Accessed by FDM reporting.
■ Selected for ’Correction’ processing in Oracle Balance & Control. For example,
one use of ’Correction’ processing is to create customer segment values.
■ Selected for ’Allocation’ processing in Oracle Performance Analyzer. For
example, ’Allocation’ processing is used to determine account profitability.

Columns
See the Oracle Financial Services Data Dictionary for detailed information regarding
specific Services tables.

Indexes
Each of the Services tables have the following indexes defined on them, where
’Service_Table_Name’ is the name of the service table to which the index belongs.
The list of indexes below contains only those indexes provided with the initial
installation of the FDM database.

Index Column
Index_Name Index Type Sequence Column_Name
Service_Table_Name Unique 1 IDENTITY_CODE
Service_Table_Name Unique 2 ID_NUMBER
Service_Table_Name_KEY Unique 1 ACCT_ID
Service_Table_Name_2 Unique 1 ID_NUMBER
Service_Table_Name_4 Non-Unique 1 COMMON_COA_ID
Service_Table_Name_5 Non-Unique 1 ORG_UNIT_ID
Service_Table_Name_6 Non-Unique 1 GL_ACCOUNT_ID
Service_Table_Name_ACCT_NO Non-Unique 1 ACCT_NO
Service_Table_Name_CUS_NO Non-Unique 1 CUS_NO

Sequences
Not applicable.

Column Code Values


Not applicable.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-278 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Transaction Tables
FDM provides default tables for storing financial instrument transaction
information. These tables are each tailored for a specific type of financial account
information, such as “deposits transactions’ reaccredit cards transactions’. The FDM
Database Creation Process creates these tables during the initial installation of the
FDM database.
For performance reasons, Oracle recommends implementing Transaction tables as
“vertical” rather than “horizontal”. This means, that the different transaction types
are actually represented by rows in the table, rather than additional columns. By
defining the primary key (or unique index) of the table to consist of one or more
Leaf Columns, in addition to ID_NUMBER and IDENTITY_CODE, different
transaction types become rows in the table. For example, to represent an “Teller
transactions” transaction type, implement a new value for a user-defined
“transaction type” leaf. The Transaction table therefore remains as a narrow table,
rather than a wide table like an Instrument table.
The default Transaction tables are listed below. For a detailed description of the
columns in these tables, refer to the Oracle Financial Data Manager Data Dictionary.

COMMERCIAL_LOAN_ Commercial Loan transactions


TRANSACTIONS
CONSUMER_LOAN_ Consumer Loan transactions
TRANSACTIONS
CREDIT_CARDS_ Credit Card transactions
TRANSACTIONS
DEPOSITS_TRANSACTIONS Deposits transactions
FORWARD_CONTRACTS_ Forward Contracts transactions
TRANSACTIONS
INTERST_RATE_OPTIONS_ Interest Rate Options transactions
TRANSACTIONS
INTEREST_RATE_SWAPS_ Interest Rate Swaps transactions
TRANSACTIONS
INVESTMENTS_ Investment transactions
TRANSACTIONS
MORTGAGES_TRANSACTIONS Mortgages transactions

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-279


FDM Database Tables

MORTGAGE_BACK_SEC_ Mortgage Backed Securities


TRANSACTIONS transactions
TERM_DEPOSITS_ Term Deposit transactions
TRANSACTIONS
WHOLESALE_FUNDING_ Wholesale Funding transactions
TRANSACTIONS

Columns

Column Name Null? Type Description


IDENTITY_ NOT NULL NUMBER(10) Identifier of the data source from which the transaction
CODE record was loaded. A component of the unique key.
ID_NUMBER NOT NULL NUMBER(25) Account number for the transaction record. A
component of the unique key.
GL_ACCOUNT_ NOT NULL NUMBER(14) General Ledger Account ID.
ID
ORG_UNIT_ID NOT NULL NUMBER(14) Organizational Unit ID.
COMMON_ NOT NULL NUMBER(14) Common Chart of Account ID.
COA_ID
AS_OF_DATE NOT NULL DATE Date for which the transaction record is applicable.
ISO_ NOT NULL VARCHAR2(3) Currency basis of the transaction record. Currencies
CURRENCY_CD are defined in OFSA_CURRENCIES and OFSA_
CURRENCIES_MLS. Use the OFSA_CURRENCIES_V
to retrieve a list a currency codes for the FDM
database.
IDENTITY_ NUMBER(10) Identifies the process that last updated the transaction
CODE_CHG record.
RECORD_ NUMBER(6) Normally, this value is 1. If you are aggregating
COUNT transaction records, the record count is the number of
records aggregated.
VOLUME NUMBER(14) Transaction volume.
COST NUMBER(14,2) Monetary value of the transaction.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-280 Oracle Financial Services Technical Reference Manual


FDM Database Tables

Indexes
The FDM Database Creation process does not provide any indexes for the default
Transaction tables. When implementing a transaction table, the unique index must
include ID_NUMBER, IDENTITY_CODE and one or more Leaf Columns.

Sequences
Not applicable.

Column Code Values

ISO_Currency_CD
ISO Currency codes and descriptions are defined in the OFSA_CURRENCIES and
OFSA_CURRENCIES_MLS tables. Use the OFSA_CURRENCIES_V view to retrieve
a list of currency codes and descriptions in the session language.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Design 2-281


FDM Database Tables

Oracle Proprietary, Confidential Information - Use Restricted by Contract

2-282 Oracle Financial Services Technical Reference Manual


3
Process Flow

This chapter describes the processes for the Oracle Financial Services applications
(OFSA) Knowledge Engines:
■ Allocation Processing
■ Data Correction Processing
■ Market Manager Processingr
■ Risk Manager Processing
■ Transfer Pricing Processing
■ Transformation Processing
For each Knowledge Engine, a process flow diagram and description of the steps
involved in the process are provided. The processing diagrams display the primary
decision points and processing steps executed by each Knowledge Engine. Pro-
gramming logic that is not essential to understanding the processing has been omit-
ted. Following each processing diagram, a table provides descriptions of the
processing steps and decision points.

Allocation Processing
The purpose of Allocation processing is to aggregate and distribute revenue and
cost data along user-specified dimensions such as product lines, organizational lev-
els, and cost/revenue types. The resulting data provides financial performance
information on the specified dimensions.
Two diagrams appear for this Knowledge Engine. The first shows the preparation
phase and the second shows the execution phase. The Allocation processing steps
combine both phases into one table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-1


Allocation Processing

Allocation Processing Diagram–Preparation Phase

Preparation Phase
Run
Allocation ID

Validate
Security Rights

Validate Allocation
Rule Components,
Operators and
Constructs

All failed
validations lead to Validate Other Rule
an error message Components (Table ID,
and process Tree FIlters, etc.)
termination

Is
Multiple Currency
Enabled? NO
YES

Determine Distinct
Currencies and
Conversion Rates

Determine Bulk SQL


vs. Row by Row
Execution Path

Pct Dist?

NO
YES

Determine Count and


Total of Pct set

Single Pass?
NO
YES

Validate Ability to do
Single Pass

Prompt for Run or


Preview

Goto Next Page

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-2 Oracle Financial Services Technical Reference Manual


Allocation Processing

Allocation Processing Diagram–Execution Phase

Execution Phase From Previous Page

Prepare
Row by Row
Bulk SQL
Processing?
NO Statement

YES

Read Data

Single Pass?
Perform Calculation NO

YES

Output Calculated Data Add Other


Pages to
Update
Statement

Audit Trail?
NO
YES

Execute Bulk
Output Audit Trail Information SQL Statement

Do Next Page Do Next Row

Post to Ledger?
NO

YES

Post Ledger Information

Use Filter Row


Single Pass?
on Next Page
YES
NO

All
FIlter Rows
NO Processed?

YES

Single Pass
Performed?
NO

YES

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-3


Allocation Processing

Allocation Processing Steps

Processing Step Description


Preparation Phase
Run Allocation ID If the user has rights to run an Allocation ID the Run button and
menu item are enabled.
Validate Security Rights When execution is initiated security rights for all objects and
tables involved are verified. Insufficient rights return error
messages such as “Table does not exist.” Verify that the user has
sufficient rights to all required tables and applications. See the
OFSA Installation and Configuration Guide for directions on setting
privileges
Validate Allocation Rule The next check performed is validation of the rule constructs.
Components, Operators This includes all of the leaf, table and column values specified in
and Constructs the Filter On, Debit, Credit, as well as mathematical operators in
the body of the Allocation ID. Invalid rules return error
messages such as “The formula is badly constructed” and
“Missing source leaf.” Review the rule thoroughly if you get
these types of errors.
Validate Other Rule .If the Allocation rule contains additional IDs the engine
Components (Table ID, validates their existence and associated security rights. Invalid
Tree Filters, and so on.) supporting IDs return error messages such as “Incomplete Table
ID” or “The field table must be the same as the filter table.”
Check supporting IDs and leaf values in the Filter, Debit and
Credit items.
Is Multicurrency If Multicurrency operation is enabled (as set by a flag in
Enabled? OFSA_DB_INFO) currency conversions must be performed
between currencies and the functional currency.
Determine Distinct If Multcurrency operation is enabled, the engine determines the
Currencies and distinct list of currencies used in the Allocation rule and looks
Conversion Rates up the appropriate currency exchange rates. If Multicurrencies is
not enabled the engine skips this step. Missing currency
exchange rates return the message “No exchange rate found.
Defaulting to 1.0 for exchange rate” when the allocation is run.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-4 Oracle Financial Services Technical Reference Manual


Allocation Processing

Processing Step Description


Determine Bulk SQL This step determines whether the specified calculations for the
versus Row by Row Allocation ID must be processed record-by-record or by a Bulk
Execution Path SQL statement. OFSA can use a Bulk SQL Update statement to
perform calculations and to update rows in Instrument and
Transaction type tables. Allocation rules run Detail tables can
use a Bulk Update command as long as the following conditions
are met:
■ Audit Trail is not On
■ Post to Ledger is not being performed in the Debit or Credit
■ The allocation is not doing a Percent Of operation
■ The allocation is not doing a Leaf operation
■ The Filter On and Updated table are the same
Percent Distribution? Determine if the Allocation rule is doing a Percent distribution.
Determine Count and If the page does a Percent distribution the engine counts the
Total of Pct set Percent Of set and determines the total of the set. If the Percent
Of set is empty, where, for example, the As_Of_Date is wrong,
the engine returns an error message that “Percentage-Of
denominator is 0." Check the Percent Of filter and As_Of_Date.
Single Pass? Determine if Single Pass was selected by the user. Single Pass is
possible if the Filter On Where condition is the same on all pages
of a multiple page Allocation ID.
Validate Ability to do Single Pass works differently with Row by Row versus Bulk SQL
Single Pass processing. In Allocations IDs doing Row by Row processing
with multiple pages, the Filter On data set can be read once and
used for each subsequent page, providing increased
performance.If the allocation has multiple pages and Single Pass
is selected and the table is an Instrument or Transaction type, the
engine runs all pages combined into a single bulk Update
command, increasing performance. This is possible only if all
pages have the same Filter On conditions and table, and the
Debit is to the same table used in the Filter On. Allocations that
cannot do Single Pass return error messages such as “Cannot
run in single pass bulk because pages update the same column”
and “Cannot run in single pass bulk because the page contains a
leaf operation.” Follow the displayed recommended action to
correct the problem. Refer to the Oracle Performance Analyzer
Reference Guide for a discussion of Single Pass Allocations.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-5


Allocation Processing

Processing Step Description


Prompt for Run or Prompt the user to run the allocation in Preview mode or not.
Preview The As_Of_Date is displayed in the dialog. Verify that this is the
correct date before running. Allocations that were run in
Preview mode cannot do bulk SQL and run row by row. When
multicurrency is enabled, Preview displays values in the
functional currency.
Execution Phase
Row by Row Processing? If the allocation rule can do row by row processing, the engine
reads the Filter On data.
Prepare Bulk SQL If the Allocation ID is using Bulk SQL processing instead of row
Statement by row, the SQL statement used to complete the instrument
update is built in this step.If the allocation has multiple pages
and Single Pass is selected and valid, the engine runs all pages
combined into a single Update command. The Update command
processes through the table once and updates all applicable
rows, then terminates.
Read Data If row by row processing is being performed, the first
LEDGER_STAT or Instrument Filter On row is retrieved in this
step. The SQL used to retrieve data is based on all of the filter
conditions of the ID including the Filter On, Data Filter IDs, Tree
Filters and Rollups and any elements designated in the body of
the Allocation ID.
Perform Calculation The calculation rules defined in the Allocation ID are applied to
the data in this step. In row by row processing each row is
processed individually.
Output Calculated Data The results of the calculation is used to update rows in the tables
specified in the Allocation ID Debit and Credit items. Output to
LEDGER_STAT is processed as an insert when OFSA is unable
to find existing records that match the YEAR_S,
IDENTITY_CODE and other key values of the LEDGER_STAT
table. For matches, OFSA updates the existing record in
LEDGER_STAT. OFSA always processes output to Instrument
tables as an update.
Audit Trail? Is Audit Trail turned ON? This is determined by a check box in
the Allocation ID.
Output Audit Trail If Audit Trail is turned ON, then audit information from the
Information results of the Allocation ID is stored in the OFSA_Audit_Trail
table. For more information about how data is stored in the
table, see the Audit Trail section in Chapter 2, "Detail Design".
Post to Ledger? Is the Post to Ledger check box selected in the Debit or Credit
items?

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-6 Oracle Financial Services Technical Reference Manual


Data Correction Processing

Processing Step Description


Post Ledger Information If Post to Ledger is selected, the allocation amount and leaf
values are posted to ledger rows.
Single Pass? If Single Pass is selected and valid, the Filter on rows are read
once for all pages in an Allocation ID. This increases
performance for multi-page allocations. In Single Pass mode the
input first row is read and then processed on each subsequent
page. When the last page is reached, the next filter row is read
and the process starts over again.See the Allocation ID chapter
in the Oracle Performance Analyzer Reference Guide for details on
using Single Pass.
All Filter Rows This step determines if additional rows exist in the Filter On set.
Processed? If more exist the process starts over. If no additional rows exist
processing moves to the next step.
Did Single Pass? If Single Pass was performed and there are no more Filter On
row the process is complete and terminated. If Single Pass was
not performed processing continues on the next page of the
Allocation ID.
Terminate The process is completed.

Additional Allocation Processing Notes


Refer to the “OFSA Multiprocessing” chapter in the Oracle Financial Services Installa-
tion and Configuration Guide for information on how OFSA processes with multipro-
cessing.
For definitions of row-by-row and bulk processing refer to the Glossary of this man-
ual.
’Allocation’ processing is ’database bound’ rather than ’OFSA bound’. For informa-
tion regarding these two approaches refer to the “OFSA Multiprocessing” chapter
in the Oracle Financial Services Installation and Configuration Guide.
A series of Allocation IDs can be run in order in a Batch ID. Batch IDs can provide a
parallel run of Allocation IDs.

Data Correction Processing


Instrument field values can be updated using data correction processing in Oracle
Balance & Control. Data correction processing lets you create user-defined rules to
update and modify instrument data.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-7


Data Correction Processing

Data Correction Processing Diagram

Read Process ID

Read
Configuration
ID

Read Correction
Rule ID's

Read
Application
Parameters

Evaluate
Formula ID's

Read OFSA
System
Information

Read Filter YES


Type and Filter?
Filter
NO

Determine
Partition
points

YES 'Bulk' option NO Read Instrument


Process Bulk SQL
specified? records

Process individual
records
YES
Next SQL
statement?

NO
Next YES
Record?

NO

Write
NO Update Log
Instrument
Only?
records
YES

Write
Process
Errors

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-8 Oracle Financial Services Technical Reference Manual


Data Correction Processing

Data Correction Processing Steps

Processing Step Description


Read Process ID The Data Correction Processing ID parameters are retrieved in
this step. The Process ID designates the type of processing
(Individual = row by row and Bulk = Bulk SQL), the tables to be
processed, the Correction Rules to be processed, as well as the
Filter ID.
For more information on the processing parameters, see the
“Data Correction Processing ID” chapter in the Oracle Balance &
Control Reference Guide.
Read Configuration ID The Configuration ID designates such elements as the process
error limits.
See the Configuration ID in the Introduction chapter of the
Oracle Balance & Control Reference Guide for more information.
Read Correction Rule IDs Information for each of the Correction Rule IDs specified in the
Data Correction Processing ID is retrieved in this step.
Read Application Application processing parameters are retrieved from the
Parameters OFSA_PROCESS_ID_STEP_RUN_OPT table. The parameters
designate how data partitioning will occur.
See Chapter 2, "Detail Design" for more information on the
OFSA_PROCESS_ID_STEP_RUN_OPT table.
Evaluate Formula IDs Information for any Formula IDs used in the Correction Rule IDs
(from above) is retrieved and evaluated in this step.
Read OFSA System OFSA System Information is retrieved from the SYSTEM_INFO
Information table for the Instrument tables that have been selected for
processing. The information retrieved from SYSTEM_INFO is
used to construct the SQL statements used to execute the data
correction.
See the SYSTEM_INFO section in Chapter 2, "Detail Design", for
more information on how data is stored in this table.
Filter? If the user specified either a Data Filter ID or a Tree Filter ID in
the Data Correction Processing ID, then the evaluation of this
decision point is ’YES’. Otherwise, this decision point is ’NO’.
Read Filter Type and The filter type may be either Data Filter ID or Tree Filter ID.
Filter ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-9


Data Correction Processing

Processing Step Description


Determine Partition This step queries the Instrument tables selected for processing in
Points order to determine the partition points for the process. Data
partitioning is used to designate units of work for OFSA
multiprocessing.
For more information on OFSA multiprocessing, see the “UNIX
Server Installation and Configuration” chapter, in the Oracle
Financial Services Installation and Configuration Guide.
Bulk Option Specified? This decision point becomes operative if the bulk option is
designated in the Data Correction Processing ID. ’Bulk’
processing indicates that a SQL statement are generated for each
branch in each individual Correction Rule. All records meeting
the requirements of the particular branch are then corrected with
a single SQL statement. If multiple branches or multiple
Correction Rules are processed, multiple Bulk SQL statements
are generated. Each of these SQL statements is then processed
(below), one at a time.
If ’Individual’ processing is designated on the Data Correction
Processing ID, then the processing is executed row-by-row. In
row-by-row processing, all Correction Rules are applied to each
record in the specified Instrument table one row at a time.
Therefore, a single pass on the table is used to complete all
Correction Rules, applied to one individual record at a time.
For more information on this option, refer to the “Data
Correction Processing ID” chapter in the Oracle Balance & Control
Reference Guide.
Process Bulk SQL The SQL statements used to perform the data correction are
processed in this step.
Next SQL statement? This decision point illustrates how each Bulk SQL statement is
processed individually until all statements have been completed.
Read Instrument Records Prior to processing records individually, the instrument records
for each table that satisfy the filter conditions for the Data
Correction Processing ID are retrieved.
Process Individual Each record retrieved in the Read Instrument Records step above
Records is corrected in this step. Records are processed individually, one
at a time.
Next Record? This decision point illustrates how each individual instrument
record is processed record by record. When processing is
complete for all instrument records, the process moves to the
Update Log Only? decision point.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-10 Oracle Financial Services Technical Reference Manual


Data Correction Processing

Processing Step Description


Update Log Only? If the Update Log Only? box is checked in the Data Correction
Processing ID, then the process does not complete any
instrument updates. Rather, log information for the process is
written to the OFSA_PROCESS_ERRORS table.
Note that the ’Update Log Only?’ option is not functional for
bulk processing. This option is activated only during
row-by-row processing.
For more information on the log information written to
OFSA_PROCESS_ERRORS, refer to the “Data Correction
Processing ID” chapter of the Oracle Balance & Control Reference
Guide.
Write Process Errors Each record corrected by the ’Data Correction’ process is
inserted into the OFSA_PROCESS_ERRORS table. For bulk
processes, each record is inserted along with the new corrected
value for the specified field.
For ’Individual’ processes, each record is inserted along with the
original value and corrected value for the specified field. The
number of records inserted is limited to the Process Errors
setting in the Configuration ID.
For more information about how data is stored in the
OFSA_PROCESS_ERRORS table, see Chapter 2, "Detail Design".
Terminate The process is complete.

Additional Data Correction Processing Notes


Oracle Balance & Control enables the user to select either row-by-row or bulk as the
processing method. Refer to the Glossary in this manual for the definitions of
row-by-row and bulk processing.
Row-by-row processing for Data Correction Rules is implemented as follows:
1. Each individual row from the table being processed, that satisfies the Data Filter
conditions (in the Data Correction Processing ID), is read into RAM.
2. The row is evaluated based on the logical hierarchy of the Correction Rule ID.
3. The row is updated, based on the Correction Rule branch in which it belongs.
4. If the row does not belong to any of the Correction Rule branches, it is updated
using the assignment specified in the ’Otherwise’ branch.
5. The OFSA_PROCESS_ERRORS table stores the ’before’ and ’after’ for each
record processed (up to the error limit defined in the Configuration ID).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-11


Market Manager Processing

Bulk processing for Data Correction Rules is implemented as follows:


1. Each termination branch represents a single SQL statement. Each of these SQL
statements is executed against the table reverse sequentially (from bottom to
top). Filter conditions at each branch represent the where condition.
2. The ’Otherwise’ branch is the last SQL statement executed.
3. Records are inserted into the OFSA_PROCESS_ERRORS table to store values
updated for each row (up to the error limit defined in the Configuration ID).
For performance purposes, bulk ’Data Correction’ processing is generally more effi-
cient than row-by-row processing for situations where the Correction Rule IDs
being processed have a small number of individual branches. Bulk processing is less
efficient than row-by-row processing in situations where the number of branches
increases in the Correction Rules being processed, because each branch is an indi-
vidual SQL statement.
Bulk ’Data Correction’ processing is always ’database bound’.
Row-by-row ’Data Correction’ processing is ’database bound’ for a small number of
Correction Rules, but may be ’OFSA bound’ if there are a large number of Correc-
tion Rules in a single Data Correction Processing ID. Refer to the “OFSA Multipro-
cessing” chapter in the Oracle Financial Services Installation and Configuration Guide
for detailed information about ’database bound’ and ’OFSA bound’.

Market Manager Processing


This section provides additional logic and process flow information for some of the
key processes that are performed by the Market Manager Update or initiated from
the Campaign Navigator interface. To understand the context in which these tasks
are performed, refer to the Oracle Market Manager Update Administration Guide and
the Oracle Market Manager Reference Guide.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-12 Oracle Financial Services Technical Reference Manual


Market Manager Processing

The Market Manager processes documented in this section include:

Process Name Process Description/Purpose


Customerization Attempts to identify duplicate customer records for the same
customer and links all of the associated account records to the
most recent customer record.
Customerization also includes the sub-process Merge Customers.
This section includes separate Merge Customers Processing
Diagrams for Individual customers and Business customers.
Householding For non-business customers, attempts to group individuals into
households based on their names and addresses.
Promotion Tracking by Identifies new accounts opened in response to a promotion, as
Product specified in Campaign Navigator.
Promotion Tracking by Identifies target customers in a promotion that meet the criteria
Query specified in Campaign Navigator for identifying responses to
that promotion.
Promotion Generation Identifies the target customer group for a promotion, subdivides
these customers into cells and assigns each customer to the
contact group or the control group for each cell, according to the
definitions created in Campaign Navigator.
Promotion Results Calculates multiple measures of promotion success, including
response rate, return on investment and changes in relationship
profiles, such as number of accounts, balances and so forth.
These measures are calculated at the cell, promotion and
campaign levels.
Promotion Roll Up Aggregates budget costs, actual costs, forecast changes, forecast
aggregates and forecast return on investment values from the
customer level to the cell, promotion and campaign levels.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-13


Market Manager Processing

Customerization Processing Diagram

Read a Customer
Record and its Address
Record

Convert to Uppercase,
Remove Space and
Punctuation

Process Name and RFM


Address Lines
Processing

No

Build CCN7 Key

Write Customer,
Address, and CCN7 Key
to RFM Record

Load RFM Files to _DAT


Last Customer? Yes Tables

Assign CCN4 Buckets to


Processes

Read CUST_DAT Rows


for Next Bucket

RAW Merge Customers


Processing

Yes

Write Customer Records


to RAW Files

More Buckets to
Process?
No Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-14 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Customerization Processing Steps

Processing Step Description


Read a Customer record Read one customer record from the ASCII customer file.
Convert Uppercase, Convert all characters in the name and address fields to
Remove Spaces and uppercase and remove all spaces and punctuation characters
Punctuation Characters from all of the name and address fields.
Process Name and ■ Extract city, state and ZIP code and validate ZIP code
Address Lines format. Canadian processing is different than U.S.
processing for this.
■ Eliminate nominal strings, such as ’ST’, ’ND’, ’RD’ and ’TH’.
■ Standardize representations of P.O.BOX and ROUTE.
■ Eliminate street suffixes, such as BLVD or AVE and
direction strings such as EAST or SW.
■ For individual names only (not business), parse the name
into Last Name/First Name/Title format, attempting to
standardize the form of title suffixes, such as MD and CPA.
Build CCN7 Key For business customers, the CCN7 key is built from the first 4
characters of the name and the first 3 characters or digits from
the Street Address line.
For individual customers, the CCN7 key is built using the first 2
characters from the last name, followed by the next 2 consonants
in the last name and the last 3 characters taken from the first
name.
Write Customer, Address The customer and address information for the current customer
and CCN7 Key to is written, along with the CCN7 key, to a single RFM customer
Reformatting (RFM) record.
Record
Last Customer? If the customer just processed was the last customer in the ASCII
customer file, then the RFM processing portion of
customerization is complete. Customerization then continues the
'Load RFM Files to _DAT Tables' step. Otherwise, the process
returns to the 'Read a Customer Record.
Load RFM Files to _DAT This step is not specifically part of customerization. It is actually
Tables the last step of the RFM process. It must be completed before the
RAW processing portion of customerization can proceed. All of
the RFM files created during RFM processing are loaded, using
SQL*Loader, into Oracle tables, which are all named with a
’_DAT’ suffix. Specifically, the RFM Customer file is loaded to
CUST_DAT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-15


Market Manager Processing

Processing Step Description


Assign CCN4 Buckets to The multiprocessing feature of Market Manager Update forks
Processes into several separate processes at this point and assigns sets of
RFM customer records (from the CUST_DAT table) to each
individual process. This involves:
■ Reading the CCN7 key from every row in the CUST_DAT
table.
■ Grouping the keys by the first 4 characters (referred to as
the CCN4 key).
■ Counting how many RFM customer records are in each
CCN4 key group.
■ Assigning each CCN4 key to one of the concurrent
processes.
■ Writing the Process ID, the CCN4 key and the CCN4 group
(bucket) count into a row in the CCN4LINK table for each
unique CCN4 key.
All CUST_DAT rows belonging to one CCN4 key bucket are
assigned to the same process. The CCN4 buckets are divided
equally across the number of processes. However, each process
processes a different number of CUST_DAT rows because the
number of rows varies from bucket to bucket. Once this process
is complete, the forked processes are activated.

The following steps apply to each individual forked process.

Processing Steps Description


Read CUST_DAT Rows Read all of the CUST_DAT rows for the current bucket into a
for Next Bucket tree structure in memory.
Merge Customers See the Merge Customers Processing diagram for details on
Customer Merging
Write Customer Records Once all of the records in the current bucket have been
to RAW Files compared with each other, the merged set is written out to the
RAW Customer file and the RAW Address file and the next
bucket is processed.
More Buckets to Process? Is there another bucket assigned to this process? If so, go to the
’Read CUST_DAT Rows for Next Bucket’ step. If not, terminate.
Terminate The forked process is terminated. When all forked processes
have been terminated, the customerization process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-16 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Merge Customers Processing Diagram


The Merge Customers logic occurs during the Customerization Process. The Mar-
ket Manager Update engine evaluates customer records individually to find records
that reference the same customer. This occurs, for instance, when the Tax ID num-
ber and Date of Birth exactly match for 2 separate Individual customer records, they
are the same customer. This customer consolidation process identifies matching cus-
tomers based on specific requirements for the Customerization Process.
The Market Manager Update engine merges Business Customers and Individual
Customers separately. Customer records identified as ’Business’ are merged using
logic described in the Business Customer Merge Diagram, while records identified
as ’Individual’ are merged using the logic described in the Individual Customer
Merge Diagram.
The end result of each of the ’Merge’ processes is to identify customer record
matches. The Market Manager Update engine merges matched customer records
into a single customer. The engine returns processing control to the Customeriza-
tion Process when all customer records have been evaluated.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-17


Market Manager Processing

Merge Business Customers Diagram

From Merge Customer of


Customerization Processing
For each
Business
Customer
record

Compare with all


other Business
Customer records

CCN
match?
No

Yes

TAXIDNO
match?
No

Yes

STRADDR
match?
No

Yes

CITY
match?
No Yes

Yes

STATE
match?
No

Yes

ZIP
match?
No

Yes

NAME
match?

Yes No

Merge matched
customer records

Next
Customer
record?

No

Return to
Customerization

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-18 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Merge Business Customers Processing Steps


Processing Step Description
For each Business Each CUST_DAT record where CUS_TYPE = ’B’ is identified as a
Customer record ’Business’ customer record and is evaluated using the logic
described in the Merge Business Customers diagram.
Compare with all other The attributes of the Business customer records are compared
Business Customers with the attributes of all other Business customer records.
CCN match? If the CCN field from the CUST_DAT table matches the CCN
field for any other Business customer records, then continue to
the TAXIDNO test. Otherwise, the record does not match any
other Business customer records, and the Merge process gets the
next business record from the CUST_DAT table.
TAXIDNO match? If the TAXIDNO field from the CUST_DAT table matches the
TAXIDNO field for the Business customer records matched
above, then continue to the STRADDR test. Otherwise, the
record does not match any other Business customer records, and
the Merge process gets the next business record from the
CUST_DAT table.
STRADDR match? If the STRADDR field from the CUST_DAT table matches the
STRADDR field for the Business customer records matched
above, then continue to the CITY test. Otherwise, the record
does not match any other Business customer records, and the
Merge process gets the next business record from the
CUST_DAT table.
CITY match? If the CITY field from the CUST_DAT table matches the CITY
field for the Business customer records matched above, then
continue to the STATE test. Otherwise, the record does not
match any other Business customer records, and the Merge
process gets the next business record from the CUST_DAT table.
STATE match? If the STATE field from the CUST_DAT table matches the STATE
field for the Business customer records matched above, then
continue to the STATE test. Otherwise, the record does not
match any other Business customer records, and the Merge
process gets the next business record from the CUST_DAT table.
ZIP match? If the ZIP field from the CUST_DAT table matches the ZIP field
for the Business customer records matched above, then continue
to the NAME test. Otherwise, the record does not match any
other Business customer records, and the Merge process gets the
next business record from the CUST_DAT table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-19


Market Manager Processing

Processing Step Description


NAME match? If the NAME field from the CUST_DAT table matches the
NAME field for the Business customer records matched above,
the process merges the customer records together as a single
customer. Otherwise, the record does not match any other
Business customer records, and the Merge process gets the next
business record from the CUST_DAT table.
Merge matched customer The matched customer records are merged into a single
records customer in this step.
Next Customer record? The Market Manager Update engine evaluates each Business
customer record from the CUST_DAT table for customer
matching.
Return to When evaluation of all customer records from the CUST_DAT
Customerization table is complete, the process returns to the “Write Customer
Records to RAW files” step of the “Customerization Processing
Diagram.”

Merge Individual Customers Diagram


The merge logic for Individual customer records relies on five sequential tests for
determining customer matching. A merge results when one of the five tests results
in a customer record match.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-20 Oracle Financial Services Technical Reference Manual


Market Manager Processing

From Merge Customers of


Customerization Processing
For each
Individual
Customer

Compare with
all other
Individual
Customers

CCN
match?

Test 1 Test 2 Test 3 Test 4 Test 5


Yes

No

TAXIDNO
DOB DOB No No
DOB DOB similar?
Test on? Test on?
Test on? Test on?

Yes Yes Yes Yes


No
No No
DOB No DOB No DOB No DOB DOB
No No No No Yes
match? similar? match? match? similar?
Yes
Yes
Yes Yes
No
TAXIDNO
No
match? TAXIDNO TAXIDNO
No No Full
match? similar? Yes
Yes Name No
match?
Yes
Yes Yes Yes

TAXIDNO <> Full Name Full Name Address


No No No No
'111111111' match? match? match?

Yes

Yes Yes Yes

Merge matched
customer records

Next
Customer No
record?

No

Return to
Customerization

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-21


Market Manager Processing

Merge Individual Customers Processing Steps


Processing Step Description
For each Individual Each CUST_DAT record where CUS_TYPE = ’I’ is identified as
Customer record an ’Individual’ customer record and is evaluated using the logic
described in the Merge Individual Customers diagram.
Compare with all other The attributes of the Individual customer records are compared
Individual Customers with the attributes of all other Individual customer records.
DOB Test On? By default, the DOB (Date of Birth) test is activated. To
de-activate the DOB test, insert a line in the pupdc.prm
parameter file on the server with the text ’NO_DOB’. Setting the
DOB test to Off means that the Market Manager Update engine
assumes that the Date of Birth always matches.
DOB match? If Date of Birth test is set to ’On,’ the engine compares the Date
of Birth of the customer records. An exact match enables the
engine to proceed to the next step in the current test.
DOB similar? If Date of Birth test is set to ’On,’ the engine compares the Date
of Birth of the customer records. The ’Date of Birth similar’ test
analyzes for possible transpositions in the Date of Birth values
(possibly caused by data entry errors). If the records are
significantly similar, process proceeds along the ’Yes’ track.
TAXIDNO match? The engine compares the TAXIDNO field of the CUST_DAT
table for each of the customer records. If the TAXIDNO values
do not match, the process gets the next Customer record.
TAXIDNO similar? The engine compares the TAXIDNO field of the CUST_DAT
table for each of the customer records. This test analyzes for
possible transposition in the TAXIDNO values (possibly caused
by data entry errors). If the records are significantly similar,
process proceeds along the ’Yes’ track.
TAXIDNO <>’111111111’ The value ’111111111’ is a filler value for the TAXIDNO field and
is therefore an invalid TAXIDNO. If TAXIDNO fields are set to
this value, the test is invalid and the engine proceeds to Test 2 in
the processing diagram.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-22 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Processing Step Description


Full Name match? The Full Name test compares the JPREFIX, JSUFFIX and NAME
fields of the CUST_DAT table for each customer record. The tests
for these fields are as follows:
■ The JPREFIX field must be identical for both customer
records.
■ The JSUFFIX field must be identical for both customer
records.
■ Both customer records must have a first name (in the
NAME field).
■ Both customer records must have a last name (in the NAME
field).
■ The last name (in the NAME field) must be identical for
both customer records.
■ If there is a middle name (in the NAME field), it must be
identical for both customer records.
Address match? The engine compares the Street Number (STRNO), Street Name
(STRNAME), Supplementary Number (SUPPNO) and Zip code
(ZIP) fields of the CUST_DAT table for each of the customer
records. If the records match in all fields, the process proceeds
along the ’Yes’ track.
Merge matched customer The matched customer records are merged into a single
records customer in this step.
Next Customer record? The Market Manager Update engine evaluates each Individual
customer record from the CUST_DAT table for customer
matching.
Return to When evaluation of all customer records from the CUST_DAT
Customerization table is complete, the process returns to the “Write Customer
Records to RAW files” step of the “Customerization Processing
Diagram.”

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-23


Market Manager Processing

Householding Processing Diagram

Read CUST_DAT
Rows for Next
Bucket

Compare
Customer Records
and Assign
Customers to
Households

Yes

Write Household
Entries to RAW
Household File

More Buckets
No Terminate
to Process?

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-24 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Householding Processing Steps


Householding is performed entirely during the RAW processing step and is depen-
dent on completion of the customerization step. Householding is performed by
multiple concurrent Unix processes. The following steps apply to each individual
forked process.

Processing Step Description


Read CUST_DAT Rows Read all of the CUST_DAT rows for the current bucket into an
for Next Bucket array in memory. Householding uses the same buckets defined
by the customerization process in the CCN4LINK table.
Compare Customer For each CUST_DAT record, compare it with the other customer
Records and Assign records in the bucket. Comparisons use exact matching logic. In
Customers to order for two customers to be assigned to the same household,
Households their last names and all of their address fields must match
exactly.
Business customers are not householded; each is assigned as the
sole member of its household. This process continues until all
customer records in the current bucket have been compared
with all other records in the bucket.
Write Household Entries Once all of the records in the current bucket have been
to RAW Household File compared with all other records in the bucket the household
assignments for the set are written out to the RAW Household
file and the next bucket is processed.
More Buckets to Process? Is there another bucket assigned to this process? If so, go to the
’Read CUST_DAT Rows for Next Bucket’ step. If not, terminate.
Terminate The forked process is terminated. When all forked processes
have been terminated, the householding process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-25


Market Manager Processing

Promotion Tracking by Product Processing Diagram

Get Account
Record

No

Is Open Date in
Date Range for Any
Active Promotion?

Yes
No
Do
Serv, Prod, and
Subprod Match Any Active
Promotion?

Yes
No
Is Open
Date in Update
Period?

Yes
No
Does Account
Belong to Any Contact
Group?

Yes

Perform Final
Check Against
Each Active
No Promotion

Is the
Account a "Hit" for Any
Promotion?

Yes

Write a Row to
PROMO_CUST_RESP
for Each Promotion
Yes

Is There
Another Account to
Process?

No

Copy
PROMO_CUST_RESP
to TBP_RESPONSES

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-26 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Promotion Tracking by Product Processing Steps


Promotion Tracking by Product (TBP) is performed during the RAW processing
step, in conjunction with the Account Summarization process.

Processing Step Description


Get Account Record Account records are read from the _DAT versions of the
services tables.
Is Open Date in Date Range for Is the date that an account was opened within the date
Any Active Promotion? range (Tracking Start Date and Tracking End Date) of an
active promotion. If not, process the next account.
Do Serv, Prod and Suprod Does the service (defined by the name of the table from
Match Any Active Promotion? which the account was read), product and sub-product for
the account match a service, product and sub-product
combination defined as tracking criteria for any active
promotion? If not, process the next account.
Is Open Date in Update Is the Open Date of the account greater than the previous
Period? Update End Date and less than or equal to the current
Update End Date? If not, process the next account.
Does Account Belong to Any Does the customer who owns the account belong to the
Contact Group? target group for any active promotion? If not, process the
next account.
Perform Final Check Against Verify that the customer who owns the account was
Each Active Promotion actually promoted to for this promotion, by comparing the
customer’s name, social security number and date of birth
with the corresponding columns in the PROMO_CUST
table.
Is the Account a "Hit" for Any Based on the checks in the previous step, was the current
Promotion? account opened as the result of any active promotion? If
not, process the next account.
Write a Row to For each promotion to which the current account has been
PROMO_CUST_RESP for Each identified as a response, write a row to the
Promotion PROMO_CUST_RESP table to record the current account
as a response for that promotion.
Is there Another Account to Is there another account remaining to be processed? If so,
Process? return to the ’Get Account Record’ step.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-27


Market Manager Processing

Processing Step Description


Copy PROMO_CUST_RESP to When there are no more accounts to process, copy all the
TBP_RESPONSES rows from the PROMO_CUST_RESP table to the
TBP_RESPONSES table. This action is not performed
during the RAW processing step, but later in the reporting
(REP) processing step.
Terminate The process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-28 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Promotion Tracking by Query Processing Diagram

Get a Promotion

Get an Active Cell for


the Promotion

Build the Union of all


the Tracking Queries
for the Current Cell

Build the Join of the


Unioned Tracking
Yes Queries with the Target
Yes Customers for the Cell

Execute the Join


Statement and Insert
the Selected Rows into
TBQ_RESPONSES

Are
There More
Active Cells for
This Promotion?

No

Are There More


Promotions?

No

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-29


Market Manager Processing

Promotion Tracking by Query Processing Steps


Promotion Tracking by Query (TBQ) is performed after the REP processing step.

Processing Step Description


Get a Promotion Read one promotion number.
Get an Active Cell for the Read the cell number for the promotion’s next active cell.
Promotion
Build the Union of all the Read all of the tracking queries from CN_QUERY and
Tracking Queries for the CN_SQL_STMT for the current cell and build a single SQL
Current Cell statement that is the UNION of all of them.
Build the Join of the Build an INSERT-SELECT SQL statement that joins the
Unioned Tracking statement created in the previous step with the rows from the
Queries with the Target PROMO_TARGET_GROUP table. The table contains the target
Customers for the Cell customers for the current cell and inserts the selected rows into
TBQ_RESPONSES. The rows selected represent the intersection
between the target customers and the rows selected by all of the
cell’s tracking queries.
Execute the Join Execute the statement built in the previous step to insert the
Statement and Insert the rows representing responses to this promotion cell into
Selected Rows into TBQ_RESPONSES.
TBQ_RESPONSES
Are There More Active If there are more active cells for the current promotion, then
Cells for This Promotion? return to the ’Get an Active Cell for the Promotion’ step and
process the next cell.
Are There More If there are more promotions to be considered for processing,
Promotions? then go to the ’Get a Promotion’ step and process the next
promotion.
Terminate When all active cells for all promotions have been processed, the
Tracking by Query process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-30 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Promotion Generation Processing Diagram

Determine Customer
List for Promotion

Write data for Customer


List

Identify Promotion
cells

Get a Cell

Determine
Customer List for
Cell

Assign Control Group


members

Calculate Customer
Counts for Cell

Write Promotion Cell


data

YES
Are there more
Cells?

NO

Re-query Customer
counts for the
Promotion

Calculate/Write Pre-
activation aggregates
for the Promotion
and its Cells

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-31


Market Manager Processing

Promotion Generation Processing Steps


Promotion Generation is performed within the Campaign Navigator interface.

Processing Step Description


Determine Customer List Determines the customer list for the promotion based on the
Include and Exclude criteria defined in the Campaign Navigator
interface. The Customer Keys for these customers are obtained
from the CUST table.
See Chapter 2, "Detail Design", for more information about the
CUST table.
Write Customer List The Customer Keys retrieved in the Determine Customer List
step are written to PROMO_TARGET_GROUP for the
promotion.
Identify Promotion Cells This step retrieves the cells in the promotion for processing.
Promotion cell information is stored in PROMO_CELL.
See Chapter 2, "Detail Design", for more information about the
PROMO_CELL table.
Get a Cell Each cell is processed individually.
Determine Customer List Determines the subset of customers in the parent promotion that
for Cell belong to the cell, based on the cell’s Assignment Method. The
appropriate Cell Number is then written to
PROMO_TARGET_GROUP for each of the cell’s customers.
Assign Control Group Randomly assigns customers in the cell (from the Determine
members Customer List for Cell step above) into the Control Group. The
number of customers assigned to the Control Group is
determined from the user-specified percentage or number.
Calculate Customer Calculates the customer counts for:
Counts for Cell
■ Contact Group - number of customers in the cell contacted
for the promotion
■ Control Group - number of customers in the cell tracked but
not contacted for the promotion
■ % Promotion Target Group - percentage of customers in the
Promotion Target Group that belong to the cell
Write Promotion Cell Writes the Contact, Control and % Promotion Target Group
Data information calculated above to the PROMO_CELL table for the
cell.
Are there more Cells? If there are more cells for the promotion, then return to the Get a
Cell step and process the next cell.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-32 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Processing Step Description


Re-query Customer The customer counts for the promotion are re-queried from the
Counts for the Promotion PROMO_TARGET_GROUP table.
Calculate/Write Pre-activation aggregate values for several relationship
Pre-Activation measures (number of accounts, balances and so forth) are
Aggregates for the calculated from the CUST table for the promotion and each of its
Promotion and its Cells cells. The results of these calculations are written to the
CAMPAIGN_RESULTS table.
For more information about how data is stored in the
CAMPAIGN_RESULTS table, refer to Chapter 2, "Detail Design".
Terminate The process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-33


Market Manager Processing

Promotion Results (Release 4.0) Processing Diagram

Get a Campaign

IdentifyPromotions for
specified Campaign

Get a Promotion

Identify Active Cells

Get a cell

Evaluate Formulas

Write Data

YES Are there


more Active
Cells?

NO

YES Are there


more
Promotions?

NO

YES Are there


more
Campaigns?

NO

Aggregate to Parent
Promotions and
Campaigns

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-34 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Promotion Results (Release 4.0) Processing Steps


Promotion Results is performed after the REP processing step.

Processing Step Description


Get a Campaign Each campaign specified by the user is processed separately.
Identify Promotions for The promotions for the specified campaign are retrieved from
Campaign the CAMPAIGN_PROMO table.
Get a Promotion Each promotion is processed individually.
Identify Active Cells This step retrieves the cells designated as Active in the
promotion for processing. Promotion cell information is stored
in PROMO_CELL.
See Chapter 2, "Detail Design" for more information about the
PROMO_CELL table.
Get a Cell Each cell is processed individually.
Evaluate Formulas Formulas used to calculate measures of promotion success,
including response rate, return on investment and changes in
relationship profiles (number of accounts, balances and so forth)
are evaluated for the cell.
Write Data Writes the results of the formula calculations to the
CAMPAIGN_RESULTS table for the cell being processed.
See Chapter 2, "Detail Design" for more information about the
CAMPAIGN_RESULTS table.
Are there more Active If there are more active cells for the current promotion, then
Cells? return to the Get a Cell step and process the next cell.
Are there more If there are more promotions within the campaign, then return to
Promotions? the Get a Promotion step and process the next promotion.
Are there more If there are more campaigns to be processed, then return to the
Campaigns? Get a Campaign step and process the next campaign.
Aggregate to Parent Aggregates cell-level formula values to the parent promotion
Promotions and and campaign levels.
Campaigns
Terminate The process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-35


Market Manager Processing

Promotion Rollup Processing Diagram

Is Promotion YES
generated?

NO

Calculate Customer
Counts

Identify Promotion Cells

Get a Cell

Identify Cost
Components

Get a Cost
Component

Multiply by Contact YES Variable Cost


Customer Count Component?

NO
Increment Total
Increment Total
Variable Costs for
Fixed Costs for cell
Cell

YES Are there more


Cost
Components?

NO

Identify Forecast
Changes and
Aggregates

Write data for Cell

YES Are there


more Cells?

NO

Aggregate to Parent
Promotions

Write data for


Promotion

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-36 Oracle Financial Services Technical Reference Manual


Market Manager Processing

Promotion Rollup Processing Steps


Promotion Rollup is performed within the Campaign Navigator interface.

Processing Step Description


Is Promotion generated? Identifies whether or not the promotion specified for the process
has been previously generated. If ’YES’, skip to Identify
Promotion Cells. If NO, go to Calculate Customer Counts for
Promotion and its Child Cells.
Calculate Customer Calculates the customer counts for:
Counts for Promotion
■ Contact Groups - number of customers contacted for the
and its Cells
promotion and its cells
■ Control Groups - number of customers tracked but not
contacted for the promotion and its cells
Identify Promotion Cells This step retrieves the cells in the promotion for processing.
Promotion cell information is stored in PROMO_CELL.
See Chapter 2, "Detail Design", for more information about the
PROMO_CELL table.
Get a Cell Each cell is processed individually.
Identify Cost This step retrieves the cost components in the cell for processing.
Components Cost component information is stored in CAMPAIGN_COST.
See Chapter 2, "Detail Design", for more information about the
CAMPAIGN_COST table.
Get a Cost Component Each cost component is processed individually.
Variable Cost If the cost component is Variable, the process proceeds to the
Component? Multiply by Customer Count step. For fixed cost components,
the process proceeds to the Increment Fixed Cost step.
Multiply by Customer The value for the variable cost component is multiplied by the
Count contact customer count for the cell determined in the Calculate
Customer Counts step above.
Increment Total Variable A running total for each of the variable cost components is
Costs for Cell maintained for the cell.
Increment Total Fixed A running total for each of the fixed cost components is
Costs for Cell maintained for the cell.
Are there more Cost If there are more cost components for the current cell, then
Components? return to the Get a Cost Component step and process the next
cost component.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-37


Risk Manager Processing

Processing Step Description


Identify Forecast Identifies the forecast changes and aggregations for the cell from
Changes and Aggregates the CAMPAIGN_FORECAST_INPUT table.
Write data for Cell Forecast measures are written to CAMPAIGN_RESULTS.
Aggregated fixed and variable costs are written to
PROMO_CELL. Refer to Chapter 2, "Detail Design", for
information about how data is stored in each of these tables.
Are there more Cells? If there are more cells for the promotion, then return to the Get a
Cell step and process the next cell.
Aggregate to Parent This step aggregates all costs and forecast measures to the
Promotions promotion level.
Write data for Promotion Promotion costs are written to the PROMOTION table.
Promotion forecast measures are written to the
CAMPAIGN_RESULTS table.
Terminate The process is complete.

Risk Manager Processing


The goal of Risk Manager processing is to provide asset/liability management mod-
eling by employing account level data and supporting structured analysis of inter-
est rate risk, as well as tactical balance sheet and income statement forecasting. Risk
Manager provides cash flow simulations based on different modeling assumptions,
such as prepayment and new business at the product level and account level auto-
balancing. It is designed to meet the needs of “what-if” modeling of the balance
sheet under alternative rate environments.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-38 Oracle Financial Services Technical Reference Manual


Risk Manager Processing

Risk Manager Processing Diagram

Read application
parameters

Read
Configuration ID

Read RM Process
ID

Type of RM Read Stochastic


STOCHASTIC
Process? Assumptions

SCENARIO

Read Scenario Error in


Assumptions Assumptions?
YES

NO
Error in Write to:
YES
Assumptions? PROCESS_ERRORS Read Instrument
Data

NO

Delete applicable
Selective Result table Terminate
data in YES YES
reprocessing? exists? Process data
RES_DTL_xxx

NO NO

Truncate Create
RES_DTL_xxx RES_DTL_xxx Write Detail
Write to: YES
table table Cashflow?
PROCESS_CASH_FLOWS

Read Instrument
Data
Write to: Write one
YES
OFSA_INTEREST_ month rates?
Process data RATES_AUDIT

Write to: Write Detail Write to the following result


YES table:
PROCESS_CASH_FLOWS Cashflow?
TM_STOCH_MKT_VAL

Write to the following result


tables: Write to:
IDT_RESULT_HEADER Value at Risk
Write to: Processing TM_STOCH_VAR YES
YES RESULT_SCENARIO Processing?
PROCESS_ERRORS Errors? TM_STOCH_TOT_VAR
RESULT_BUCKET
RES_DTL_xxx
RESULT_MASTER
NO

Processing Copy results to Transform


YES Write to: Processing
Errors? transformed table Results? YES
PROCESS_ERRORS Errors?

YES
NO
NO
Write to:
PROCESS_ERRORS
Terminate

Terminate NO

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-39


Risk Manager Processing

Risk Manager Processing Steps

Processing Step Description


Read Application Session-wide parameters are set and user access rights are
Parameters retrieved. Application processing parameters are retrieved from
the OFSA_PROCESS_ID_STEP_RUN_OPT table. The
parameters from this table designate how data partitioning will
occur. Information is also retrieved from the
OFSA_FISCAL_YEAR_INFO.
See the Oracle Financial Services Installation and Configuration
Guide for more information on the
OFSA_PROCESS_ID_STEP_RUN_OPT and
OFSA_FISCAL_YEAR_INFO tables.
Read Configuration ID The Configuration ID designates such elements as:
■ Processing as-of-date
■ Products used for processing
■ Process error limits
■ Autobalancing leaves
■ Modeling and dynamic bucket information
■ ’Update Instrument’ data flag for ’Market Value’
■ ’Market Value’ and ’Dynamic Gap’ calculation flags
Read Risk Manager The Risk Manager Process ID parameters are retrieved in this
Process ID step. These parameters designate:
■ Processing type (stochastic or scenario based).
■ Instrument table to be processed.
■ Interest rate assumptions.
■ Processing platform (server or client).
For more information on Risk Manager processing parameters,
see the “Process ID” chapter in the Oracle Risk Manager Reference
Guide.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-40 Oracle Financial Services Technical Reference Manual


Risk Manager Processing

Processing Step Description


Read Scenario Retrieves scenario-specific assumption information including
Assumptions payment pattern and repricing pattern information. Information
for the following IDs may be accessed by Risk Manager during
’Scenario-Based’ processing:
■ Forecast Rates ID
■ Prepayment ID
■ Transaction Strategy ID
■ Formula Leaves ID
■ Forecast Balance ID
■ Pricing Margin ID
■ Maturity Strategy ID
Read Stochastic Retrieves stochastic-specific assumption information, including
Assumptions payment pattern and repricing pattern information. Information
for the following IDs may be accessed by Risk Manager during
’stochastic’ processing:
■ Valuation curve
■ Rate Index ID
■ Prepayment ID
■ Transaction Strategy ID
Error in Assumptions? This decision point identifies any unrecoverable errors. Such
errors would be caused by corruption of Assumption IDs or
insufficient memory for the assumptions used by the process.
Result table exists? For scenario-based processing, OFSA checks the database for the
existence of the RES_DTL_XXXXXX and CONS_DTL_XXXXXX
tables required to store processing results.
Selective Reprocessing? OFSA determines whether this is a process that requires only a
subset of the original result set to be processed. If a ’Selective
Reprocessing’ option has been designated in the Process ID, then
this decision point is ’Yes’.
Delete applicable data in This is applicable only during selective reprocessing. The
RES_DTL_XXXXXX portion of the result set that needs to be reprocessed is deleted
from the RES_DTL_XXXXXX table.
Truncate For scenario-based processing, all rows in the
RES_DTL_XXXXXX and RES_DTL_XXXXXX and CONS_DTL_XXXXXX tables are
CONS_DTL_XXXXXX deleted in this step.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-41


Risk Manager Processing

Processing Step Description


Create For scenario-based processing, in this step new
RES_DTL_XXXXXX and RES_DTL_XXXXXX and CONS_DTL_XXXXXX tables are
CONS_DTL_XXXXXX created.
See Chapter 2, "Detail Design", for more information regarding
the structure of the Result Detail tables.
Read Instrument Data The instrument records for each table that satisfy the filter
conditions are read into memory. Included in the filter
conditions are the following:
■ As of Date from the active Configuration ID
■ Filter ID (which could be a Data Filter ID, Tree Filter ID, or a
Group Filter ID)
Process Data The instrument data retrieved in the Read Instrument Data step
above is processed in memory.
Write Detail Cashflow? This decision point determines whether or not detail cash flow
records should be output. This is used primarily as an audit
function. This is ’Yes’ if the Detail Cash Flow Audit checkbox is
marked on the Process ID.
Write to: This process is applicable only if Write Detail Cashflow step
above is ’Yes’. The detail cashflows for the first five instrument
OFSA_PROCESS_CASH
records processed are written to the
_FLOWS
OFSA_PROCESS_CASH_FLOWS table.
See the OFSA_PROCESS_CASH_FLOWS table in Chapter 2,
"Detail Design", for more information.
Write to the following The processing results are written to this table if the process is
result tables: scenario based.
OFSA_IDT_RESULT_ See Chapter 2, "Detail Design", for more information.
HEADER
OFSA_RESULT_
SCENARIO
OFSA_RESULT_
BUCKET
RES_DTL_XXXXXX and
CONS_DTL_XXXXXX
OFSA_RESULT_
MASTER and
OFSA_CONSOLIDATED
_MASTER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-42 Oracle Financial Services Technical Reference Manual


Risk Manager Processing

Processing Step Description


Processing Errors? This decision point identifies any errors encountered during
processing of the Instrument table data.
Write to: Any errors encountered are written to this table.
OFSA_PROCESS_
For more information about how data is stored in the
ERRORS
OFSA_PROCESS_ERRORS table, refer to Chapter 2, "Detail
Design".
Transform Results? This decision point identifies whether or not the Transform
Result Detail Table checkbox has been marked in the Process ID.
Copy results to The transformed table is created and the data in the
transformed table. corresponding RES_DTL_XXXXXX and CONS_DTL_XXXXXX
tables is copied to it.
Refer to the Transformation Process diagram in this chapter for
more information on Transformation processing.
Write one month rates? This determines whether the rates generated by a Risk Manager
stochastic process should be written out to a table. This is ’Yes’ if
the ’One Month Rates’ checkbox in the Process ID has been
marked. This is used primarily as an audit feature.
Write to: This is applicable only if Write one month rates is true. The
monthly rates generated by the rate generator are written to the
OFSA_INTEREST_
OFSA_INTEREST_RATES_AUDIT table.
RATES_AUDIT
Write to the following The OFSA_TM_STOCH_MKT_VAL table stores the market
result table: value results from a Risk Manager ’stochastic’ process.
OFSA_TM_STOCH_
MKT_VAL
Value at Risk processing? This decision point determines whether ’value at risk’
processing is calculated. This is ’Yes’ if the Calculate Value at
Risk checkbox in the Process ID is marked.
Write to: The OFSA_TM_STOCH_VAR and
OFSA_TM_STOCH_TOT_VAR tables store the value at risk
OFSA_TM_STOCH_VAR
results from a Risk Manager ’stochastic’ process.
and
OFSA_TM_STOCH_TOT
_VAR
Terminate The process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-43


Risk Manager Processing

Additional Risk Manager Processing Notes


The processing elements such as the Configuration ID, Process ID and processing
assumptions are read into memory once, at the beginning of the process. Instru-
ment record processing is row-by-row. Therefore, each instrument record that is
read into memory in the ’Read Data’ step above is processed, one row at a time.
Output for Risk Manager processing depends on the processing type selected. Out-
put logic, by type, is summarized in the following sections.

Stochastic-Based Processing
Output logic for stochastic-based processing is summarized in this section.

Table Name/Process Description


OFSA_TM_STOCH_MKT_ ■ Always populated
VALUE table
OFSA_INTEREST_RATES_ ■ Populated with rate paths if ’One Month Rates’
AUDIT table is selected

OFSA_TM_STOCH_VAR table ■ Populated if ’Value at Risk’ is selected

OFSA_TM_STOCH_TOT_VAR ■ Populated if ’Value at Risk’ is selected


table
OFSA_PROCESS_ERRORS table ■ Stores any errors generated during the process

OFSA_PROCESS_CASH_FLOWS ■ If the ’Detail Cash Flow Audit’ option is


selected, Risk Manager writes the detail cash
flow information to
OFSA_PROCESS_CASH_FLOWS for the first
five instrument records processed.

Scenario-Based Processing
Output logic for scenario-based processing is summarized in this section.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-44 Oracle Financial Services Technical Reference Manual


Risk Manager Processing

Table Name/Process Description


RES_DTL_XXXXXX and ■ Output table named with the sys_id_num of
CONS_DTL_XXXXXX tables the process:
- New output table created if a table does
not already exist
- If output table already exists for the
Process ID, it is truncated (unless
’Selective Reprocessing’ is selected)
■ Risk Manager Result Detail data output to the
RES_DTL_XXXXXX and CONS_DTL_XXXXXX
tables:
- Financial element results are written by
unique Risk Manager product leaf or by
Product/Organizational Unit/Currency
combinations.
OFSA_RESULT_MASTER ■ Stores current position summary and market
table values.
OFSA_IDT_RESULT_ ■ Stores assumption information for process.
HEADER table
OFSA_RESULT_BUCKET ■ Stores time bucket information for the process.
table
OFSA_RESULT_SCENARIO ■ Stores information on scenarios for the process.
table
OFSA_PROCESS_ERRORS ■ Stores any errors generated during the process.
table
Instrument table update ■ Occurs only if the ’Calculate Market Value’ and
’Update Instrument Data’ flags are set in the
Configuration ID and the ’Calculate Market
Value’ flag is set in Process ID.
■ Updates the market_value_c column for each
record in the Instrument table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-45


Transfer Pricing Processing

Table Name/Process Description


Output options ■ Detail Cash Flow Audit:
- If the ’Detail Cash Flow Audit’ option is
selected, Risk Manager writes the detail
cash flow information to
OFSA_PROCESS_CASH_FLOWS for the
first five instrument records processed.
Calculation options ■ ’GAP’ designates additional financial elements
generated for the process output.
■ ’Transfer Pricing’ designates additional
financial elements generated for the process
output.
■ ’Autobalancing’ designates additional
processing logic to ’balance’ the results.
Financial element output ■ Designates financial elements to be included in
the output.
Selective Reprocessing ■ Reprocess a subset of the results.
■ RES_DTL_XXXXXX and CONS_DTL_XXXXXX
tables are not truncated. Only those records
specified for the Selective Reprocessing are
affected.

Transfer Pricing Processing


The goal of Transfer Pricing processing is to generate transfer rate values for instru-
ment accounts. The transfer rate represents the cost of funds for an instrument
account. This is the foundation of profitability analysis. The results from Transfer
Pricing provide analytical tools to create performance profitability measures.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-46 Oracle Financial Services Technical Reference Manual


Transfer Pricing Processing

Transfer Pricing Processing Diagram

Read Fiscal Year

Read
Application
Parameters

Read
Configuration
ID

Read Process ID

Read Prepayment
ID

Read Transfer
Pricing ID

Load
Historical
Rates

Read User
Defined
Payment Data

Read User Defined


Repricing Pattern

Read Filter
ID

Error in YES Write Terminate


Assumption? Process If Critical
Errors Error

NO

Determine
Partition
Points

Read Instrument
Records

Process
Individual
Records

Write
Process
Errors

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-47


Transfer Pricing Processing

Transfer Pricing Processing Steps

Processing Step Description


Read Fiscal Year Information from the OFSA_FISCAL_YEAR_INFO table is
retrieved in order to determine how date values are used. See
Chapter 2, "Detail Design", for more information on the
OFSA_FISCAL_YEAR_INFO table.
Read Application Application processing parameters are retrieved from the
Parameters OFSA_PROCESS_ID_STEP_RUN_OPT table. The parameters
designate how data partitioning will occur.
Read Configuration ID The Configuration ID designates such elements as the
processing as-of-date, the product used for processing and
process error limits.
See the Oracle Transfer Pricing Reference Guide for more
information.
Read Process ID The Process ID parameters are retrieved in this step. The Process
ID designates the type of processing, the tables to be processed,
the process assumptions, and any additional processing options.
For more information on the processing parameters, see the
“Transfer Pricing Processing ID” chapter in the Oracle Transfer
Pricing Reference Guide.
Read Prepayment ID Prepayment ID and Prepayment Table ID information is
retrieved if a Prepayment ID has been designated in the Process
ID.
Read Transfer Pricing ID Retrieves the information for the Transfer Pricing ID that
designates the transfer pricing methodologies to be used.
Load Historical Rates The Historical Rates are loaded from the FDM Rate Manager
tables.
Read User-Defined In this step, user-defined payment and repricing information is
Payment and Repricing retrieved.
data
Read Filter ID Filter ID information is retrieved if one has been specified in the
Process ID.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-48 Oracle Financial Services Technical Reference Manual


Transfer Pricing Processing

Processing Step Description


Error in Assumptions? This decision point identifies any errors that would prevent the
calculation of a transfer rate. Such errors would be caused by
corruption of Assumption IDs or insufficient memory for the
assumptions used by the process (Configuration ID, Historical
Rates, Transfer Pricing ID, Prepayment ID, or Filter ID). Errors
or warnings that do not prevent the calculation of a transfer rate
(even if incorrect) are identified after the transfer rate has been
calculated, later in the process.
Write Process Errors Assumption errors identified above are written to the
OFSA_PROCESS_ERRORS table in this step.
For more information about how data is stored in the
OFSA_PROCESS_ERRORS table, refer to Chapter 2, "Detail
Design".
Determine Partition This step queries the Instrument tables selected for processing in
Points order to determine the partition points for the process. Data
partitioning is used to designate units of work for OFSA
multiprocessing.
For more information on OFSA multiprocessing, see the “UNIX
Server Installation and Configuration” chapter of the Oracle
Financial Services Installation and Configuration Guide.
Process Bulk SQL The SQL statements used to calculate the transfer rates and
matched spreads or remaining term transfer rates for accounts
using a bulk methodology are processed in this step. At the
conclusion of this step, a value is calculated for the transfer_rate
and matched_spread_c columns (or tran_rate_term if using
’Remaining Term Pricing Basis’) in the Instrument tables for
these accounts.
Read Instrument Records Prior to processing records individually, the instrument records
for each table that satisfy the filter conditions are read into
memory. Included in the filter conditions are the As of Date,
Data Filter ID and Transfer Pricing ID specified for the Process
ID.
Process Instrument A transfer rate and matched spread (or ’remaining term’ transfer
Records rate if using ’Remaining Term Pricing Basis’) for each of the
instrument records accessed in the Read Instrument Records
step above is calculated in this step. Records are processed
individually, one at a time.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-49


Transformation Processing

Processing Step Description


Write Process Errors Any errors encountered during the calculation of the transfer
rate values is processed at this time. Error information is
inserted into the OFSA_PROCESS_ERRORS table.
For more information about how data is stored in the
OFSA_PROCESS_ERRORS table, refer to Chapter 2, "Detail
Design".
Terminate The process is complete.

Transformation Processing
Transformation processing provides the functionality necessary to create OFSA
Report Mart tables. This functionality enables the user to transform specified OFSA
tables into a Report Mart structure more applicable for reporting access.
The following tables and table types can be transformed using Transformation pro-
cessing:
■ LEDGER_STAT
■ Risk Manager results tables
■ OFSA hierarchy structure tables

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-50 Oracle Financial Services Technical Reference Manual


Transformation Processing

Transformation Processing Diagram


Read
Transformation ID

Read Application
Parameters

Read
Configuration ID

NO Reserve
Table?

YES
Read Filter
YES
Type and Filter?
Filter
NO

Read OFSA System


Information

Error in YES
Transformation
ID?

NO

Determine
Result Set

YES
Error in Source
Data?

NO

YES NO NO Valid NO
Output Table(s) Drop Table(s) Overlapping NO
Result
already exists? Table(s)? Empty? Data?
Set?
YES YES YES
NO YES
YES Replace NO
Drop existing Data?
Output Table(s)
Valid NO
Result
Set?
Create YES
Output
Delete data
Table(s)

Create OFSA
Meta-Data

Determine
Partition
points

Select
Source Data

Populate Output
Table(s)

YES Write
Tables Process
Build Indexes Analyze
created? Errors
NO

Un-reserve Output
Table(s)

Terminate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-51


Transformation Processing

Transformation Processing Steps

Processing Step Description


Read Transformation ID OFSA retrieves the Transformation ID parameters in this step.
The Transformation ID designates the source data, the name of
the output table and other processing options used by the
process.
Read Application Application processing parameters are retrieved from the
Parameters OFSA_PROCESS_ID_STEP_RUN_OPT table. The parameters
designate how data partitioning will occur.
See Chapter 2, "Detail Design", for more information on the
OFSA_PROCESS_ID_STEP_RUN_OPT table.
Read Configuration ID The Configuration ID designates such elements as the as-of-date
and process error limits.
Reserve Table(s)? In this step OFSA attempts to reserve the table_name(s)
designated as the output table(s) by the transformation process.
The Reserve Table(s) step includes the following two validations:
■ OFSA queries OFSA_TABLE_TRACKING to determine if
the table_name specified for the output table(s) is currently
being used by another process.
■ OFSA estimates the size of the output table(s) and indexes
to verify that there is sufficient space remaining for these
objects in the database.
If the table_name is not currently being used, the Transformation
process reserves the table_name by inserting a record into
OFSA_TABLE_TRACKING. If the table_name is being used by
another Transformation process, the current Transformation
process terminates.
If sufficient space does not exist within the database for the
output table and accompanying indexes, the process terminates.
Refer to Chapter 2, "Detail Design", for more information about
OFSA_TABLE_TRACKING.
Filter? If the user specified either a Data Filter ID or a Tree Filter ID in
the Transformation ID, then the evaluation of this decision point
is ’YES’. Otherwise, this decision point is ’NO’.
Read Filter Type and The filter type may be either Data Filter ID or Tree Filter ID.
Filter ID

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-52 Oracle Financial Services Technical Reference Manual


Transformation Processing

Processing Step Description


Read OFSA System OFSA system information is retrieved from the SYSTEM_INFO
Information table for the tables that have been selected for processing. The
information retrieved from SYSTEM_INFO is used to construct
the SQL statements used to execute the transformation.
See the SYSTEM_INFO section in Chapter 2, "Detail Design", for
more information on how data is stored in this table.
Error in Transformation This decision point validates whether or not the Transformation
ID? ID contains inconsistent parameters. If an error does occur, the
process proceeds to Write Process Errors (described below).
For example, if the Transformation process is utilizing a Data
Filter ID that includes a leaf column designated in the Select
Columns to Exclude section of the Transformation ID, OFSA
writes an error message to OFSA_PROCESS_ERRORS (in the
Write Process Errors step described below) and terminates the
process.
Determine Result Set The Result Set defines the financial elements and other data
elements to be transformed by the process. In this step, OFSA
determines the structure of the output table based on the
financial elements and other data elements used by the process.
Error in Source Data? This decision point validates the source data and result set to be
used by the Transformation process. If the source data and result
set are not consistent, the process proceeds to the Write Process
Errors step.
For example, this step validates the Financial Elements specified
for the Result Set. If information for these Financial Elements
does not exist within the appropriate OFSA Leaf tables, the
process outputs process errors and terminates.
Output Table(s) already If the output table(s) does not exist, the transformation process
exists? creates the required output table(s) and proceeds with
processing. If the output table(s) already exists, the
transformation process designates whether to drop the existing
table(s) or replace data selectively.
Drop Table(s)? If the user has specified Drop Table as the processing option for
the Transformation process, the process proceeds to the Drop
Existing Output table(s) step. Otherwise, OFSA proceeds to the
Table Empty? step to check to see if the specified output table(s)
has existing data.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-53


Transformation Processing

Processing Step Description


Table Empty? If the specified output table(s) does not contain any existing
data, OFSA drops the output table(s) (just as if the user had
specified Drop Table in the Transformation ID). Otherwise,
OFSA proceeds to the Overlapping Data? step to check if any of
the existing data will be overwritten.
Overlapping Data? If the output table(s) does not include any data that will be
overwritten by the Transformation process, the new output data
is appended to the existing output table(s). Otherwise, OFSA
determines if the ’Replace Data’ option is marked in the
Transformation ID before appending the transformation output.
Replace Data? If the user has specified Replace Data, then the process proceeds
to the Validate Result Set step. Otherwise, overlapping data
exists in the output table(s).
Replace Data? is ’NO’ if the output table contains existing data
that will be overwritten by the process, but the user has not
designated Replace Data in the Transformation ID. OFSA
proceeds to the Write Process Errors step for such processes.
Create Output Table(s) In this step OFSA creates the output table(s) specified by the
Transformation ID.
For more information on the definitions used to create
transformation output tables, refer to the “FDM Object
Management” chapter of the Oracle Financial Services Installation
and Configuration Guide.
Create OFSA Meta-Data OFSA metadata for the new output table and accompanying
indexes is created in the SYSTEM_INFO, TSER_TEMP_OBJECTS
and SYSTEM_INDEX_INFO tables.
See Chapter 2, "Detail Design", for more information about these
tables.
Valid Result Set? OFSA validates that the filter specified in the process is
consistent with the filter specified for the original process that
created the output table.
Delete Data For a ’Replace Data’ process, OFSA deletes records from the
existing output table based on the filter criteria specified by the
current Transformation process.
Determine Partition This step queries the tables selected for processing in order to
points determine the partition points for the process. Data partitioning
is used to designate units of work for OFSA multiprocessing.
For more information on multiprocessing, see the “UNIX Server
Installation and Configuration” chapter in the Oracle Financial
Services Installation and Configuration Guide.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-54 Oracle Financial Services Technical Reference Manual


Transformation Processing

Processing Step Description


Select Source Data The source data to be transformed is retrieved from the specified
table. The source data table is specified in the Transformation ID
being processed.
Populate Output Table(s) OFSA populates the output table(s) designated by the
Transformation ID in this step. The population of the output
table(s) includes the data transformations of the selected source
data.
Table(s) created? This decision point determines if the output table(s) was created
by the Transformation process, or if the process appended data
to an existing output table.
If the process appended data to an existing output table, this
decision point is set to ’No’, enabling the process to proceed to
the Un-reserve Output Table step. Otherwise, the
Transformation process created the output table(s), thereby
necessitating the need to create indexes.
Build Indexes If the output table(s) was created by the Transformation process,
OFSA builds any required indexes in this step.
For more information on the definitions used to create the
output table indexes, refer to the Transformation ID in the “FDM
Object Management” chapter in the Oracle Financial Services
Installation and Configuration Guide.
Analyze This step executes the Analyze statement for the output table(s)
and any indexes.
Write Process Errors OFSA writes error messages for errors that occurred during
Transformation processing to the OFSA_PROCESS_ERRORS
table. The number of records inserted is limited to the Process
Errors setting in the Configuration ID.
For more information about how data is stored in the
OFSA_PROCESS_ERRORS table, refer to Chapter 2, "Detail
Design".
Un-reserve Output OFSA always un-reserves the output table(s) just prior to
Table(s) process termination. OFSA updates the appropriate entries in
OFSA_TABLE_TRACKING to release the table_name for future
processing.
Terminate The process is complete.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Process Flow 3-55


Transformation Processing

Additional Transformation Processing Notes


All Transformation processing is executed row-by-row, except for tree rollup trans-
formations, which are processed as bulk. Transformation processing is always ’data-
base bound’.
Refer to the Glossary of this manual for definitions of row-by-row and bulk process-
ing. Refer to the “OFSA Multiprocessing” chapter in the Oracle Financial Services
Installation and Configuration Guide for more information about ’database bound’.
The table name for the Transformation output table is designated in the Transforma-
tion ID.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

3-56 Oracle Financial Services Technical Reference Manual


4
Oracle Budgeting & Planning
Data Transformation

The transformation routines for Oracle Budgeting & Planning data automate the
task of moving information from the Oracle Financial Data Manager (FDM) rela-
tional environment (RDBMS) into the multidimensional Budgeting & Plan-
ning/Oracle Financial Analyzer (Budgeting & Planning/OFA) environment. This
chapter describes the data loading routines for:
■ Execution Environment
■ Data Loading Routines
■ Loading Dimensions and Hierarchies
■ Loading Ledger_Stat Data
■ Loading Risk Manager Data
■ Loading Maturity Mix Data
For each data loading routine, a list of the RDBMS tables, a processing flow dia-
gram, and a description of the processing steps are provided.

Note: Release 4.5 also includes routines for loading interest rate
and exchange rate data to the Budgeting & Planning/OFA
environment, and for transferring budget data back to the FDM
environment from Budgeting & Planning. Refer to the Oracle
Budgeting & Planning Reference Guide for more information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-1


Execution Environment

Execution Environment
Data Movement Routines (DMRs) load all data into the Super Administrator per-
sonal database. From there an administrator can distribute the data to the
super-shared database and to users. The administrator executes the DMRs from
within Oracle Express Administrator using the Express command dialog.
After loading the data, the user should exit Administrator and use Oracle Financial
Analyzer to view the results of the data import.

Data Loading Routines


The data loading routines execute six basic steps:
1. Connect to the FDM relational database.
2. Read the arguments supplied by the user.
3. Pass control to a program to handle that specific type of data.
4. Import the raw FDM relational database data into a staging area in the
Budgeting & Planning/OFA multidimensional database.
5. Transform the FDM relational raw data for use in the Budgeting &
Planning/OFA multidimensional database.
6. Merge the transformed data into the target dimensions and variables in the
Budgeting & Planning/OFA multidimensional database.
7. Report a summary of metrics for the importation.
Data loading routines bring over the following kinds of information:
■ Dimensions and hierarchies—the Organizational Unit and Chart of Accounts
dimensions and hierarchies must be loaded before other data can be loaded
■ LEDGER_STAT data (actual historical data, forecast data, or budget data)
■ Risk Manager (forecasted current position runoff results)
■ Interest Rates (forecasted interest rates, transfer rates and currency exchange
rates)
■ Maturity Mix (forecast mix assumption sets)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-2 Oracle Financial Services Technical Reference Manual


Loading Dimensions and Hierarchies

Loading Dimensions and Hierarchies


The goal of hierarchy DMRs is to convert the node and leaf structures of Tree Rol-
lup IDs from the FDM relational database into dimension values and hierarchies in
the Budgeting & Planning/OFA multidimensional database. The hierarchy DMR
also creates the required supporting metadata for the new dimension values and
hierarchies loaded.
The administrator selects a SYS_NUM_ID representing a Tree Rollup ID that exists
in the FDM relational database for any leaf to load into the Budgeting & Plan-
ning/OFA multidimensional database. Version 4.5 supports loading either Chart of
Accounts or Organizational Unit Tree Rollup IDs, or into any other dimension
except Financial Element, Forecast and Time.

RDBMS Tables
The following RDBMS tables are used for loading dimension and hierarchy data:

Table Name Access


OFSA_CATALOG_OF_ read FDM dimension/leaf environment
IDS
OFSA_CATALOG_OF_ read FDM dimension/leaf identification
LEAVES
OFSA_IDT_ROLLUP read Hierarchy relationship data
OFSA_LEAF_DESC read Leaf/dimension value descriptions
OFSA_NODE_DESC read Node (that is, parent) /dimension value descriptions

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-3


Loading Dimensions and Hierarchies

Dimensions and Hierarchies Data Loading Processing Diagram

Start

Initialization and
Connect to RDBMS

Load
CATALOG_OF_LEAVES OFSA_Catalog_
of_Leaves

Load
OFSA_Catalog_
CATALOG_OF_IDS
of_IDS

Load IDT_ROLLUP OFSA_


IDT_Rollup

Obtain Total Lvl Rollup OFSA_Node_


Desc

Start merge

Start Load Process


Set parent values null
A
Leaf loop: in SEQUENCES order

Nodes loop: Higher order to lower order


Keep orphan
Add node value into leaves?
OFA dimension
NO YES

Parent = null or YES Omit orphaned leaves


node value < 0

NO
Add parent to staging
dimension and relate it
to current node value Omit leafless
nodes
Set previous node as
parent. Add hierarchy
staging dimension values
to OFA dimension
End merge
Update OFA dimension
descriptions and labels
Load OFSA_Leaf_Desc
OFSA_LEAF_DESC
Update OFA dimension
hierarchy relationships
Load
OFSA_NODE_DESC OFSA_Node_Desc
Fix Display names

A Start Load Process End

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-4 Oracle Financial Services Technical Reference Manual


Loading Dimensions and Hierarchies

Dimensions and Hierarchies Data Loading Processing Steps


Step Description
Start Loads the SYS_ID_NUM into FS.DM.CATALOG in the BP.SIDN
property. Updates the BP.OFSA.USER, BP.DATE properties with
the current user name and the date and time.

Load OFSA_CATALOG_ Retrieve correct LEAF_NUM_ID from the OFSA_CATALOG_


OF_LEAVES OF_LEAVES table (used in reading LEAF_DESC table).
Load OFSA_CATALOG_ Declare and Open a SELECT Cursor for the OFSA_CATALOG_
OF_IDS OF_IDS table. Fetch the description for the hierarchy.
Load OFSA_IDT_ Retrieve records from OFSA_IDT_ROLLUP based on the SYS_
ROLLUP ID_NUM. Fetch nodes in SEQUENCES order and store in
hierarchy buffer variables.
Obtain Total Lvl Rollup Retrieve parentage to top level nodes in OFSA_IDT_ROLLUP
from OFSA_NODE_DESC as the total level rollup.
Start Merge This sub-process merges leaves and nodes into hierarchy buffer
dimension by descending OFSA_IDT_ROLLUP SEQUENCES.
Leaf loop: in The first (outer) of two nested loops: Leaves. Sort the leaves by
SEQUENCES order SEQUENCES before processing
Nodes loop: Higher The second (inner) of two nested loops: Nodes. Nodes values in
order to lower order the IDT_ROLLUP table can be in any of 14 columns,
representing the maximum number of levels in a hierarchy in
FDM.
The remaining steps in FS.POP_LEAF are performed up to 14
times for every FDM leaf.
Note that hierarchies are balanced by inserting place-holder
nodes so that all leafs are the same number of levels distant from
the most aggregate, most “ancient” parent node. OFA does not
need balanced hierarchies, so FS.POP_LEAF omits these
superfluous levels.
Add node value into Add the node to the hierarchy staging dimension. If this is the
OFA dimension first node for a leaf (“oldest” parent), the value of the preceding
node is set to null.
Parent = null or node Skip the remaining two steps if there is no parent or if the first
value < 0 character of the node value is a minus sign. In FDM a negative
value indicates that the node is null.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-5


Loading Dimensions and Hierarchies

Step Description
Add parent to staging Parents in the hierarchy must already exist as a dimension
dimension and relate it to values before children can associate with them. Therefore this
current node value subprocess always processes nodes from oldest to youngest, that
is, from most aggregate to finest detail.
After the parent dimension value exists, the current value is
associated to it as a child.
Set previous node as The value of the preceding node is set to the current node.
parent
Load OFSA_LEAF_DESC Retrieve leaf descriptions from the OFSA_LEAF_DESC table
based on the SYS_ID_NUM of the rollup being loaded.
Load OFSA_NODE_ Retrieve node descriptions from the OFSA_NODE_DESC table
DESC based on the SYS_ID_NUM of the rollup being loaded.
Keep or Omit orphaned The Hierarchy Load program enables the user to specify
leaves whether orphaned leaves should be added into the OFA
dimension. Orphan leaves are omitted from the load if the user
specifies.
Omit Leafless Nodes Any nodes that are found not to have a leaf are redefined as
orphans to prevent them from being interpreted as leaves in the
OFA DB.
Move hierarchy from The load comes from the relational to the temporary location.
temporary processing The transformation occurs in the temporary location and the
location to live hierarchy is moved within the multidimensional database.
Budgeting &
Planning/OFA
dimension
Update OFA dimension The data coming in is expected to be numeric. If non-numeric,
hierarchy relationships an error message is printed and processing continues to the last
record in the cursor’s result set.
Fix Display names Update display names of OFA dimension and hierarchy

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-6 Oracle Financial Services Technical Reference Manual


Loading Ledger_Stat Data

Loading Ledger_Stat Data


The goal of the LEDGER_STAT DMR is to copy general ledger data from the FDM
relational database into the Budgeting & Planning/OFA multidimensional data-
base and to create the required metadata.
The LEDGER_STAT table contains three types of data—actual or historical data,
budget data, and forecast data. The administrator specifies the type of data by
selecting the consolidation code in the where-clause argument. Using the Express
command window in the Oracle Express Administrator interface, the user issues a
call to FS.LOAD_DATA to launch the process. The process then populates FS.FIN_
DATA with values from the FDM LEDGER_STAT table.
Non-rate values are divided by a user-defined factor (usually 1000).

RDBMS Tables
The following RDBMS tables are used for loading LEDGER_STAT data:

Table Name Access Description


OFSA_CATALOG_OF_IDS read FDM dimension/leaf environment
OFSA_FINANCIAL_ read Dimension values and descriptions
ELEMENTS
OFSA_LEAF_DESC read Leaf/dimension value descriptions
LEDGER_STAT read Holds actual GL data
OFSA_NODE_DESC read Node (that is, parent) /dimension value
descriptions

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-7


Loading Ledger_Stat Data

LEDGER_STAT Data Loading Processing Diagram

Start

Dynamically Build
SELECT

Execute SELECT
Ledger Stat
tbl

Fetch a record

Do all leaf values


exist?

No

Dim
values Match or Match Skip Record
No Append
Yes

Append

Add Dimension Value

Load data into cube

Done
reading selected
records?

Yes

End

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-8 Oracle Financial Services Technical Reference Manual


Loading Risk Manager Data

LEDGER_STAT Data Loading Processing Steps


Step Description
Start
Dynamically Build Build a SQL SELECT statement to read buckets 1 through 12
SELECT module from the LEDGER_STAT table. Incorporate the free-form
WHERE clause into the SELECT, if the user specified one.
Execute SELECT Select the data from LEDGER_STAT based on the specified
SELECT statement.
Fetch a record Get the next record from LEDGER_STAT.
Match or Append New The match or append argument is specified when the DMR is
dimension value called. If the argument given is “Match,” the DMR ignores any
new dimension values (such as Chart of Accounts or
Organizational Unit) that it encounters in the relational database
during the load. If the argument given is “Append,” the DMR
adds any new dimension values that it encounters in the
relational database during the load.
Load record into data Copy and transform the record from the LEDER_STAT table into
cube the FS.FIN_DATA cube
Done reading selected When no more records from LEDGER_STAT exist to be loaded,
records? the process terminates.

Loading Risk Manager Data


The goal of the Risk Manager RES_DTL_XXXXX DMR is to copy current position
runoff and results data from the FDM relational database into the Budgeting &
Planning/OFA multidimensional database and to create the required metadata.
Each RES_DTL_XXXXX table contains forecasted runoff and the corresponding
future financial results (average and ending balances, interest, and so on.) for cur-
rent position data. Using the Express command window in the Oracle Express
Administrator interface, the user issues a call to FS.LOAD_DATA to launch the pro-
cess. The process then populates FS.FIN_DATA with this data.
Non-rate values are divided by a user-defined factor (usually 1000).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-9


Loading Risk Manager Data

RDBMS Tables
The following RDBMS tables are used for loading Risk Manager data:

Table Name Access Description


OFSA_CATALOG_OF_IDS read FDM dimension/leaf environment
OFSA_FINANCIAL_ read Dimension values and descriptions
ELEMENTS
OFSA_LEAF_DESC read Leaf/dimension value descriptions
RES_DTL_XXXXX read Holds a Risk Manager forecast identified by
XXXXX, where XXXXX is the SYS_NUM_ID
generated by the process.
OFSA_RESULT_BUCKET read Indicates the month/year of each column of RES_
DTL_XXXXX

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-10 Oracle Financial Services Technical Reference Manual


Loading Risk Manager Data

Risk Manager Data Loading Processing Diagram

Start

Initialization

Load Bucket Dates Result


Bucket tbl

Validate Bucket Dates

Report
Bucket Dates OK? No
the error

Yes
Dynamically Build
SELECT module

Execute SELECT
Result
Detail tbl

Done
Yes reading selected No Fetch a record
records?

Transform data in Do all leaf values


processing area exist?

No

Match or Append
Move data in to
Match New Dimension
FS.FIN_DATA
values
Yes

Append

End Add Dimension Value

Load record into


processing area

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-11


Loading Risk Manager Data

Risk Manager Data Loading Processing Steps


Step Description
Start
Initialization Extracts numeric SYS_ID_NUM from name of RM table
specified for loading.
Load Bucket Dates Read the one record in RESULT_BUCKET table for the given
SYS_ID_NUM. All 240 columns are returned in this one record:
FROM_DATE_nnn and TO_DATE_nnn, where nnn = 1 to 120.
Validate Bucket Dates 1. Use buckets [from 1 until the first FROM_DATE =
1-JAN-1901 or null (1 to n)] for all further processing.
2. Verify that the FROM_DATE and TO_DATE for all n
months fall on month-start/month-end boundaries.
3. Verify that all the months represented are consecutive.
4. Verify that all FS.FORECAST dimension value specified in
the call to FS.LOAD_DATA have identical as_of_date.
5. Verify that the AS_OF_DATE falls just prior to the first
month of RM data forecast.
6. Keep only those month buckets that have a currently
existing value in the TIME dimension.
Dynamically Build Build a SQL SELECT statement to read from the RES_DTL_
SELECT XXXXX table buckets 1 through n, where n is the number of
columns passing date validation in the preceding step.
Execute SELECT Retrieve the records from the RES_DTL_XXXXX table.
Done reading selected Each record from the RES_DTL_XXXXXX table is processed one
records? by one.
Fetch a record Get the record from the SELECT.
Match or Append any The match or append argument is specified at the time the DMR
new dimension values is called. If the argument given is “Match,” the DMR ignores any
new dimension values (such as Chart of Accounts or
Organizational unit) that it encounters in the relational database
during the load. If the argument given is “Append,” the DMR
adds any new dimension values that it encounters in the
relational database during the load.
Data value is numeric? The data coming in is expected to be numeric. If non-numeric,
an error message is printed and processing continues to the last
record in the cursor’s result set.
Finish selecting record Continue selecting records until the last record is reached.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-12 Oracle Financial Services Technical Reference Manual


Loading Risk Manager Data

Step Description
Load record into
temporary location for
transformation
processing
Data Transformation The RES_DTL_XXXXX contains rate and balance data. Rates are
stored as extensions and balances are stored as whole numbers.
In Budgeting & Planning, balances are usually stored in
thousands. In other words, balances are written to the Budgeting
& Planning/OFA multidimensional database after they have
been divided by a deflating factor, usually 1000.
Rates are stored as whole rates.
Tier post-processing of incoming RM data performs arithmetic
operations to sum data before moving it to FS.FIN_DATA or to
load percentages rather than balances for specific financial
elements:
1. Rates are divided by their corresponding balance and
multiplied by 100 and stored as a rate. For example, C280
and C290 are divided by C250; the resulting values are then
multiplied by 100. The process continues until all the rate
extensions are converted to whole rates.
2. Balances are divided by the value found in the
CURR.UNITS property in the FS.ENV.CAT; the seeded
value is 1000. For example, C100 is divided by 1000. The
process continues until all the balances are divided by the
factor.
3. Financial elements C230 and C240 are multiplied by 100 and
divided by the sum of C210 and C212.
4. C790 (current positive runoff balance) is set to the sum of
C210 and C212.

Summary of Financial Element Processing


Balances are divided by the CURR.UNITS value, which is stored in the FS.ENV.CAT
variable in the Super Administrator personal database. By default the value is set to
1000. If the value in CURR.UNITS is zero or null, balances are divided by 1. Rates
are computed by dividing the rate extension by the corresponding balance listed in
the Weighting Factor column and then multiplying by 100. Two exceptions to the
above calculations exist:
a. For financial elements C230 and C240, the rate extensions are divided by
the sum of 210 and 212, and then multiplied by 100.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-13


Loading Risk Manager Data

b. C790 is equal to the sum of the values in C210 and C212, which is then
divided by the value in CURR.UNITS.

RDBMS Weighting Resulting Financial


Leaf_Node Factor Element Financial Element Description
60 CURR.UNITS C60 Beginning Balance
80 60 C80 Beginning Net Rate
90 60 C90 Beginning Transfer Rate
100 CURR.UNITS C100 End Balance
120 100 C120 Ending Net Rate
130 100 C130 Ending Transfer Rate
140 CURR.UNITS C140 Average Bal
160 140 C160 Average Net Rate
170 140 C170 Average Transfer Rate
180 CURR.UNITS C180 Prepay Runoff - Positive
181 CURR.UNITS C181 Timing of Prepay Runoff - Positive
190 CURR.UNITS C190 Payment Runoff - Positive
191 CURR.UNITS C191 Timing of Payment Runoff - Positive
192 CURR.UNITS C192 Payment Runoff - Negative
193 CURR.UNITS C193 Timing of Payment Runoff - Negative
195 CURR.UNITS C195 Maturity Runoff - Positive
196 CURR.UNITS C196 Timing of Maturity Runoff - Positive
210 CURR.UNITS C210 Total Runoff - Positive
211 CURR.UNITS C211 Timing of Total Runoff - Positive
212 CURR.UNITS C212 Total Runoff - Negative
213 CURR.UNITS C213 Timing of Total Runoff - Negative
230 210+212 C230 Total Runoff Net Rate
240 210+212 C240 Total Runoff Transfer Rate
250 CURR.UNITS C250 Repricing Balance
255 CURR.UNITS C255 Repricing Balance At End
280 250 C280 Before Repricing Net Rate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-14 Oracle Financial Services Technical Reference Manual


Loading Risk Manager Data

RDBMS Weighting Resulting Financial


Leaf_Node Factor Element Financial Element Description
290 255 C290 After Repricing Net Rate
300 250 C300 Before Reprice Transfer Rate
310 255 C310 After Reprice Transfer Rate
330 100 C330 Fully Indexed Net Rate
430 CURR.UNITS C430 Interest Cash Flow
437 CURR.UNITS C437 Interest Cash Flow T-Rate
440 CURR.UNITS C440 Interest Accrued
450 CURR.UNITS C450 Charge/Credit
455 CURR.UNITS C455 Non-interest Income
457 CURR.UNITS C457 Non-interest Expense
500 CURR.UNITS C500 WARM
510 515 C510 Annual Prepayment Rate
515 CURR.UNITS C515 Balance Before Prepay
520 CURR.UNITS C520 Deferred End Balance
530 CURR.UNITS C530 Deferred Average Balance
540 CURR.UNITS C540 Deferred Runoff
C210+C212 CURR.UNITS C790 Curr Pos Runoff Balance

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-15


Loading Maturity Mix Data

Loading Maturity Mix Data


The goal of the Maturity Mix (MX) DMR is to copy maturity mix assumptions incor-
porated into a Risk Manager Maturity Strategy ID from the FDM relational data-
base into the Budgeting & Planning/OFA multidimensional database and to create
the required metadata.
The Maturity Auxiliary table contains maturity mix assumptions and predictions.
The assumptions corresponding to loading the Maturity Strategy ID are identified
in the Maturity Auxiliary table by the SYS_ID_NUM for that ID. Once loaded into
Budgeting & Planning, these assumptions and predictions can be assigned to val-
ues in the Chart of Accounts to set the default maturity mix assumptions.
Using the Express command window in the Oracle Express Administrator inter-
face, the user issues a call to FS.LOAD_DATA to launch the process. The process
creates FS.MIX_ASSUM_SET dimension values and populates the FS.MIX_
DEFAULT variable with mix percent, term, and amortization term values.

RDBMS Tables
The following RDBMS tables are used for loading Maturity Mix data:

Table Name Used By Access Description


OFSA_MATURITY_ FS.LD_MX read Holds maturity and amortization
AUXILIARY terms and allocation percentage data
for FDM

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-16 Oracle Financial Services Technical Reference Manual


Loading Maturity Mix Data

Maturity Mix Data Loading Processing Diagram

Start

Dynamically Build
SELECT

Maturity
Execute SELECT _Auxiliary

Fetch a record

Check For amort term

Are there more Sort breakouts


breakouts than Mix Yes descending by mix
Breakout dim vals? percentage
Yes

No

Increase the mix


Create Mix Assumption percentage value of the
Set dimension value last breakout to force
the sum to equal 100%

More Records?

No

Load records into Mix


Default cube

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Budgeting & Planning Data Transformation 4-17


Loading Maturity Mix Data

Maturity Mix Data Loading Processing Steps


Step Description
Dynamically Build Build a SQL SELECT statement to return values from the OFSA_
SELECT MATURITY_AUXILIARY table.
Execute SELECT Select the data from the OFSA_MATURITY_AUXILIARY table.
Read in all selected Records are stored in a temporary storage areas in advance of
records the final procession stage.
Check for an If the Amortization Term is equal to the term to maturity, the
amortization term Amortization Term mix element is left as NA. If the
Amortization Term is greater than the term to maturity, the
Amortization Term mix element is populated with the value
from the AMORT_TERM column.
Check for more If there are more breakouts in the relational database than there
breakouts than exist in are values in the Mix Breakout dimension in the
the multidimensional multidimensional database, Budgeting & Planning force loads
database. all the breakouts it can. It then alters the percentage of the last
breakout loaded so that the mix percentage totals 100%.
Budgeting & Planning sorts the breakout from the relational
database in descending order, so the breakouts that have the
largest mix percentage are loaded intact. The seeded number of
mix breakout values is 10.
Load record into data Written to FS.MIX_DEFAULT
cube

Oracle Proprietary, Confidential Information - Use Restricted by Contract

4-18 Oracle Financial Services Technical Reference Manual


5
Batch/Scheduling Tool Kit

OFSA Concepts
This section contains descriptions of technical concepts related to the Oracle
Financial Services Applications (OFSA) suite of products. The remainder of this
chapter assumes that these key concepts are understood by the reader.

OFSA Client-Server Architecture


The OFSA suite of products is based on the three-tier architectural design model.
This design model advocates the use of two complementary perspectives of the
application architecture. The first perspective is the Logical Software Layer (LSL).
An LSL is a logical portion of the application that performs a defined set of
functions or services. The second perspective is the Physical Software Layer (PSL).
A PSL is a physical portion of the application code that implements the functions
and services defined by one or more LSLs.
The OFSA suite of products is composed of three LSLs: the presentation layer, the
application logic layer, and the data layer. The presentation layer is responsible for
presenting information to the user and for interacting with the user. The application
logic layer contains the business process logic for the products. The data layer stores
and manipulates the data of the OFSA product. The LSLs for OFSA are
implemented within three PSLs.
The PSL that implements the presentation layer for OFSA is the client GUI. The
client GUI is located on the PC. The PSL that implements the application logic layer
for OFSA is called the Oracle Financial Services (OFS) Knowledge Engine. The
OFSA Knowledge Engines are portable between the Windows OS and the UNIX
OS. A complete copy of the Knowledge Engines resides on both the PC and the
UNIX server. The PSL that implements the data layer for OFSA is the Oracle
Financial Data Manager (FDM) database.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-1


OFSA Concepts

Level of Integration
The Level of Integration (LOI) is a measure of the dependency between two
integrated software components. The following LOI levels are defined for OFSA.
■ OFSA Enabled
■ Shared OFSA Data
■ Extended OFSA Data Model
■ Code Sharing

OFSA Enabled
This level of integration indicates that the third-party tool or implemented solution
is enabled to use the targeted OFSA components. A tool or solution at this level may
have access to specific OFSA data, but it does not share the OFSA data.
Additionally, this level indicates that the OFSA data model is not expanded to
support the unique features within the third-party tool or implemented solution.

Shared OFSA Data


This level of integration indicates that the third-party tool or implemented solution
shares data with targeted OFSA components. A third-party tool or implemented
solution at this level may access or replicate information stored within the OFSA
data model. Although information is shared at this level, the OFSA data model is
not expanded to support the unique features within the tool or solution.

Extended OFSA Data Model


This level of integration indicates that the OFSA data model has been extended and
that the third-party tool or implemented solution shares the data with the targeted
OFSA components. The modifications to the OFSA data model support the unique
feature of the third-party tool or implemented solution. The sharing of data may be
implemented through data access or data replication for the third-party tool or
implemented solution.

Code Sharing
This level of integration indicates that the software tool or of the implemented
solution shares code with the targeted OFSA components or vice versa. This does
not imply the data model has been expanded, but it does imply that data is shared.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-2 Oracle Financial Services Technical Reference Manual


OFSA Concepts

Automated Processing
Automated Processing is the application of automation technology to a repetitive
process. A process creates a product or a deliverable in a repetitive, sustainable
manner. All regular processes are composed of a series of discrete steps. The
automation of the execution and control of these discrete steps is the goal of
automated processing. This automation increases the productivity of owned
resources and lowers the cost of processing.
The following are characteristics of automated processing systems:
■ The ability to spawn and control tasks.
■ The ability to schedule the execution of a task.
■ The ability to distribute tasks and manage parallel processing.
■ The ability to distribute the workload across the distributed nodes.
■ The ability to handle exceptions and events. The handling of events implies the
ability to trigger predefined corrective actions.
■ The ability to produce system level reports and to store comprehensive audit
information.
■ The ability to apply advanced diagnostic processes to the defined job flow.
These advanced diagnostics include the forecasting of the completion time for
the current production run and the identification of any performance road
blocks. The identification is performed by a discovery process.

Process Flow
The OFSA Process Flow diagram, which follows, illustrates the generic process flow
within an OFSA Knowledge Engine. The process flow includes inputs, outputs, key
decision points, and major processing steps. The key decision points identify events
that affect the Knowledge Engine.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-3


OFSA Concepts

OFSA Process Flow Diagram

ARPI Parameters

ARPI
Parameters Yes
Valid

Begin
Processing

No
Signal Yes

No

Processing
Work

Set Bad Usage


Return Code

Set Canceled
Finished Yes Return Code

No

Set Return
Exit
Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-4 Oracle Financial Services Technical Reference Manual


Adapters

UNIX Signals
In the processing flow diagram shown above, there is a decision point called Signal.
This decision point checks to see if the application caught a UNIX signal. The OFSA
Knowledge Engines catch the UNIX signals listed below. Generally, the signals
represent a request by a user to terminate the execution of a program.
■ SIGINT
■ SIGHUP
■ SIGTERM

Adapters
The traditional approach to integrating two software products is to define the
interface between the products. The interface is an object that defines and
implements interaction between two software products. Interfaces may pass data
from one application to another or may directly call code of another application.
The purpose of the interface is to enable communication between specific layers
within each application. Although the actual layers responsible for the
communication are PSLs, the examples provided in this section reference LSLs.
The recent trend is toward a component architectural model. This type of
architecture requires that components be integrated to form a complete solution.
The method for integrating the two software components is based on a client-server
relationship. The client component requests a service from the server component.
Successful delivery of this service to the client depends on the interaction between
the two components. The server component is responsible for defining an interface
through which the client communicates with the server. The client communicates
with the server using a defined interface protocol. The client component contains an
LSL that handles the communication tasks.
An Adapter is an LSL that connects the client component with the server
component and encapsulates the interaction between the two. This chapter
describes a set of specifications for OFSA Adapters.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-5


Adapters

Application Request Parameter Interface Adapter Specification


The Application Request Parameter Interface (ARPI) Adapter specification provides
information that addresses two issues. The first is a full description of how to
spawn an OFSA engine. The second is a full description of how to interact with an
OFSA Knowledge Engine.
The creation of this specification enables financial institutions to use automation
tools with the OFSA product suite. These automation tools are the key to efficient
processing. There are numerous methods for implementing efficient processing. For
instance, processes may be implemented by using shell scripts, batch scheduling
tools, TP monitor solutions or work flow management. Any of these solutions may
spawn and interact with OFSA products using an ARPI Adapter. The only
restriction to this statement is that the solution must meet the requirements of this
specification.

Purpose The purpose of the ARPI Adapter is to enable a non-OFSA LSL to spawn an
OFSA Knowledge Engine and to interact with the spawned OFSA Knowledge
Engine.

Function The ARPI Adapter connects a non-OFSA LSL to an OFSA Knowledge


Engine. The adapter transforms the IO from the non-OFSA LSL to ARPI protocol.

Level of Integration OFSA Enabled

Requirements
This section describes the requirements that an implementation of the ARPI
Adapter must meet. These requirements are written to be implementation
independent. Any implementation-specific information is provided to ensure that
the requirement is fully understood. However, it is not an implementation
recommendation.
Although the requirements refer to the Adapter implementation, they place
requirements on the entire OFSA Processing system. For more information about
the OFSA Processing system, see "OFSA Concepts", in this chapter. Any component
of the system, including third-party tools, must meet the minimum requirements.
Each specific requirement states if it is an internal requirement for the Adapter or an
external requirement for the system.

Environment Management Requirements This section identifies the type of environment


support required by the OFSA Knowledge Engines.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-6 Oracle Financial Services Technical Reference Manual


Adapters

OFSA Environment Management This is both an external requirement and an internal


requirement. The OFSA Knowledge Engines require that specific environment
variables are set. It is the responsibility of the third-party tool or the implemented
solution to provide an environment management mechanism. The application
environment must be set during the spawning process. It is the responsibility of the
driver to identify the environment variables and to publish the values for each
variable.

Output Management This is both an external requirement and an internal


requirement. The OFSA Knowledge Engines generate information that is written to
the standard output and to the standard error. The generated information details
the current status of the process and the processing errors that have occurred. It is
the responsibility of the third-party tool or the implemented solution to provide a
mechanism for capturing and managing this information. It is the responsibility of
the Adapter to perform two functions. First, it uses the capture mechanism
provided by the output manager to capture the output. Second, it uses the
registration mechanism provided by the output manager to register, with the output
manager, the captured output.

Process Requirements
This section identifies required runtime process mechanisms.

Parameter Management This is an internal requirement. The ARPI Adapter needs to


collect, order, and store the ARPI parameters. The parameters need to be stored in
the appropriate order and format. For more details about the OFSA parameters see
"Application Request Parameter Interface" in the "Inputs to ARPI" section of this
chapter.

Parameter Format Management This is an internal requirement. The OFSA parameters


must be submitted to the ARPI interface in a specific format and order. The Adapter
is responsible for transmitting the parameters to the OFSA Knowledge Engines in
the proper format and order. For more details about the OFSA parameters, see
"Application Request Parameter Interface" in the "Inputs to ARPI" section of this
chapter.

SQL Query Capabilities This is both an external and an internal requirement. The
OFSA Knowledge Engines require information from the OFSA Request Data Model.
Specifically, the Knowledge Engines require the sequenced job number. It is the
responsibility of the third-party tool or the implemented solution to provide a

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-7


Adapters

mechanism for querying the FDM database. The driver is responsible for retrieving
information using the provided query mechanism.

Spawned Process Control This is an external requirement. It is the responsibility of the


third-party tool to control the spawned OFSA Knowledge Engine. The third-party
tool or the implemented solution must provide a mechanism for stopping, killing,
or resuming a spawned OFSA Knowledge Engine.

Security Requirements
This section identifies the security requirements for the OFSA Knowledge Engines.

Password Security This is both an external and an internal requirement. One of the
common parameters of ARPI is the database password of the user. During
parameter passing, the password is neither displayed nor stored in any unsecured
file.

Temporary Secured Files If a file is used for temporary parameter storage or as a


parameter passing mechanism, then the file must be secured. A secured file is one
that meets the following four conditions.
■ The file does not have any group permission rights nor global permission
rights. This implies that only the owner of the file may read from the file or
write to the file.
■ The file must be temporary and it must be stored in a secured directory.
■ The temporary file must be removed from the file system after the job is
completed.
■ The owner of the temporary file is the operational and administrative user for
the third-party tool or the implemented solution.

Secured Directory A secured directory is one that is owned by the operational and
administrative user. All access rights should be set for the owner of the directory.
No other user should have any rights to this directory.

System Design
The design of the ARPI Adapter is related to its function and to its position within
the OFSA Processing system. Its function is to connect the Process Spawn Manger to
an OFSA Knowledge Engine. Its position in the OFSA Processing system is
illustrated in the Information Processing Flow diagram, which follows. The ARPI
Adapter interacts only with other components of the OFSA Processing system. This

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-8 Oracle Financial Services Technical Reference Manual


Adapters

figure illustrates the flow of information through this system with the major
components identified.
These components are the Process Spawn Manager, the FDM database, the OFSA
Knowledge Engine, the Output Manager, and the ARPI Adaptor.

Information Processing Flow Diagram

Process OFSA
ARPI Output
Spawn Application
Adapter Manager
Manager Engine

OFSA
Database

ARPI Adapter This OFSA Processing system component is the focus of this
specification. This component is responsible for enabling the integration of the other
four components of the processing system.

Process Spawn Manager The Process Spawn Manager is the controlling component of
the OFSA Processing. This component is part of the third-party tool or the
implemented solution. It performs the functions described in the Spawned Process
Control requirement. For more information, see "Process Requirements" in this
chapter.

OFSA Knowledge Engine This is the analytical processing component of the OFSA
Processing system.

FDM Database The FDM database is the information repository for the OFSA
Processing system. This component contains the OFSA ID information, detailed
client information, and the data generated by the OFSA Information Factory. For
more information, see both Chapter 1, "High-Level Design" and Chapter 5,
"Batch/Scheduling Tool Kit".

Output Manager The Output Manager is the single point of control for user messages
and error information produced by OFSA Processing system. This component is

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-9


Adapters

part of the third-party tool or the implemented solution. It performs the functions
described in the Output Management requirement. For more information, refer to
"Environment Management Requirements" in this chapter.

System Structure
The structure of the ARPI Adapter is implementation independent. This
implementation-independent focus requires that the ARPI Adapter subcomponents
are presented in an abstract method. The ARPI Adapter is composed of the
following six subcomponents:
■ Data Interface
■ Output Manager Interface
■ Security
■ OFSA Environment
■ OFSA Job Number Interface
The decomposition of the ARPI Adapter into these six subcomponents is illustrated
in the following diagram.

Decomposition of ARPI Adapter

ARPI Adaptor

OFSA
Data Interface Security
Environment

Output Manager OFSA Job


ARPI Interface
Interface Number Interface

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-10 Oracle Financial Services Technical Reference Manual


Adapters

ARPI Interface Subcomponent The ARPI interface subcomponent interacts directly


with an OFSA Knowledge Engine. This subcomponent is responsible for
transmitting the required parameters to the Knowledge Engine. The parameters
must be transmitted in a specific format and order. Additionally, the transmission
mechanism must not violate any security requirements and must use an ARPI-
compliant protocol. The ARPI Interface subcomponent is responsible for the
transmission portion of the Parameter Management requirement.
Another subcomponent, called the Data Interface subcomponent, is responsible for
the format and order portion. For specific formatting and order information, see
"Application Request Parameter Interface" in the "Inputs to ARPI" section of this
chapter.

Data Interface Subcomponent The Data Interface subcomponent gathers all of the
parameters that will be transmitted to the OFSA Knowledge Engine. It is
responsible for two actions. First, it is responsible for the formatting and ordering of
the parameters. Second, it is responsible for passing the parameters to the ARPI
interface subcomponent. Along with the ARPI Interface subcomponent, this
component satisfies the Parameter Management requirement. The details of
interactions of this component are provided in the "System Interactions" section.

Output Manager Interface Subcomponent The Output Manager Interface subcomponent


handles the OFSA Knowledge Engine output. It is responsible for two actions. First,
it uses the application output capture mechanism provided by the third-party tool
or implemented solution. Second, it registers captured output using the provided
output management mechanism. This subcomponent must satisfy the internal
portion of the Output Management requirement.

OFSA Environment Subcomponent The OFSA Environment subcomponent configures


the environment under which each OFSA Knowledge Engine is executed. This
subcomponent is responsible for setting the values of the required environment
variables. The internal potion of the OFSA Environment Management requirement
is satisfied by this subcomponent.

OFSA Job Number Interface Subcomponent The OFSA Job Number Interface
subcomponent retrieves the next valid OFSA Job Number from the FDM database.
This subcomponent satisfies the internal portion of the SQL Querying Capabilities
requirement. For more information about the OFSA Job Number, refer to the
"Request Data Model" section in this chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-11


Adapters

Security Subcomponent The Security subcomponent ensures that the password


security requirement is enforced. It is responsible for two actions. First, it is
responsible for maintaining the security around the database password. Second, it is
responsible for ensuring that the implementation method for the ARPI interface
subcomponent does not violate any security requirements. The method for
implementing the second responsibility must satisfy the Temporary Secured Files
requirement and the Secured Directory requirement.

System Interactions
In the "System Design" section, the flow of information through the OFSA
Processing system is illustrated. This section shows and discusses the system
component relationships. However, it doe not show any of the system component
interactions.
The ARPI Adapter interacts with the OFSA Processing system components. These
external interactions are illustrated in the ARPI External Interactions diagram. In
this diagram, the ARPI Adapter component is decomposed into its subcomponents.
This decomposition enables the illustration to clearly show specific, external
interactions.
Because the subcomponents of the driver are sufficient for interaction identification,
there is no need to decompose the other OFSA production system components.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-12 Oracle Financial Services Technical Reference Manual


Adapters

ARPI External Interactions

Request LSL

Variables
Secured

Parameter File
Security

Data Interface

SQL
OFSA Output
Database Manager
OFSA Job Output Manager
NumberInterface Interface
Next Job Application
Number Log File

ARPI Interface

Application Output

OFSA
Response File

Environment
Environment
Variables

OFS Applications

Spawn Manager Interactions


The Spawn Manager is the OFSA Production System component that initiates all
interactions. It initiates these interactions by spawning an OFSA Knowledge
Engine. During the spawning process, it must transmit information to the OFSA
Knowledge Engine through the ARPI Adapter. Specifically, it must provide the
parameters defined by ARPI Parameter Standard. This topic is addressed by the
Parameter Management requirement. Most of the information may be transmitted
either in a secured manner or in an unsecured manner. The information transmitted

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-13


Adapters

securely is referred to as secured variables, and the information transmitted in an


unsecured manner is referred to as unsecured variables.
■ Secured Variables
The secured variable interaction mechanism must comply with all of the
security requirements defined in this specification. The Spawn Manager
component is responsible for the external portion of the security requirements.
This mechanism sends the secured variables to the Security subcomponent. In
general, the information transmitted using this mechanism is the Common
Parameter Set defined by ARPI. However, there is one exception to this rule.
The OFSA Job Number is not transmitted to the Adapter. The database
password is the only parameter that must use a secured transmission
mechanism. The other Common Parameter Set information may use the
unsecured variables transmission mechanism.
■ Unsecured Variables
The unsecured variable interaction mechanism does not meet any security
requirements. It is used to transmit the ARPI Application Parameter Set
information to the ARPI Adapter. This information is often echoed to the screen
or into a log file. The output of the unsecured variable mechanism is input for
the Data Interface subcomponent.

FDM database Interactions The FDM database is the OFSA Processing system
component that contains the OFSA solution data. Interactions that retrieve
information occur between the ARPI Adapter and the FDM database. The
information stored in the Request Data Model of the FDM database is the only
information accessed during this interaction. The Request Data Model contains
status and configuration information for the OFSA Knowledge Engines. Specifically,
the OFSA Knowledge Engines require an OFSA Job Number value.
■ OFSA Job Number Lookup
The OFSA Job Number is retrieved from the database by one of the
subcomponents of the ARPI Adapter. The OFSA Job Number Interface
subcomponent uses SQL to retrieve this value. The SQL statement should query
the database to obtain the sequenced job number. See the "Request Data Model"
section in this chapter for additional information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-14 Oracle Financial Services Technical Reference Manual


Adapters

OFSA Knowledge Engine Interactions

Configuration The UNIX environment must be properly configured for the OFSA
products. For complete information on the OFSA environment requirements, see
the Oracle Financial Services Installation and Configuration Guide.

Inputs to ARPI

Application Request Parameter Interface The OFSA server Knowledge Engines interact
with the environment through the ARPI. The ARPI contains both an interactive user
interface and a non-interactive user interface. This portion of the specification only
addresses the non-interactive interface. Any information received from a terminal is
ignored by the non-interactive interface.

Purpose The purpose of the ARPI is to define a standard parameter passing method
for OFSA Knowledge Engines.

ARPI Command-line Method All of the ARPI parameter passing examples in this
section use the ARPI command-line method. For the ARPI command-line method,
the following statements are true.
■ The OFSA product is executed at the command-line.
■ The ARPI parameters are stored in a response file.
■ The response file is redirected to the stdin of the OFSA Knowledge Engine.
The following example illustrates the ARPI command-line method:
bcw < response

where:
’bcw’ is the Balance & Control server Knowledge Engine and ’response’ is the
response file. As is typical with most UNIX programs, the OFSA Knowledge
Engines read their input from the “stdin”.

ARPI Protocol Definition The ARPI interface requires that the parameters be
transmitted in a precise order and format.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-15


Adapters

Note: The order requirements differ among OFSA products. The


format of the parameters is the same for each OFSA product and
each parameter is terminated by a newline character (\n).

Product-Specific Parameter Interfaces


This section describes parameter ordering and formatting for the following OFSA
products:
■ Balance & Control
■ Performance Analyzer
■ Risk Manager
■ Transfer Pricing

Balance & Control, Risk Manager and Transfer Pricing Parameter Interfaces
The Balance & Control, Risk Manager, and Transfer Pricing Knowledge Engines use
the same parameter set. The parameters for these three Knowledge Engines are
stored in the response file in the following order:
JobNum
DBAlias
User
Password
ProcID
ConfigID

The following table provides detailed information on the parameters for Balance &
Control, Risk Manager, and Transfer Pricing.

Parameter Type Size Description


JobNum numeric short The job or task identification used by OFSA. The job
number is a sequenced number that must be retrieved
from the FDM database.
DBAlias character array The alias for the FDM database to which the OFSA
Knowledge Engine connects.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-16 Oracle Financial Services Technical Reference Manual


Adapters

Parameter Type Size Description


User character array The database user account used by the OFSA
Knowledge Engine. The user account is used to attach
to the FDM database identified by the DBAlias
parameter.
Password character array The password for the user account identified by the
User parameter.
ProcID numeric / integer / The OFSA Processing ID for the specific OFSA
character array Knowledge Engine being executed.
ConfigID numeric / integer / The OFSA Configuration ID for the OFSA Processing
character array ID identified by the ProcID parameter.

The ProcID parameter and the ConfigID parameter provide both integer values and
character string values. This is explained in detail below.

Oracle Balance & Control ARPI Examples Examples of parameter settings for Balance &
Control are discussed in this section. These example apply to Risk Manager and
Transfer Pricing, as well.

Example of a Balance & Control ARPI Correctly Ordered and Formatted The response file
shown below passes the parameter validation step shown in the OFSA Process Flow
diagram in this chapter.
Response file:
100\r\n
Test\r\n
Admin\r\n
Ad125min\r\n
25765\r\n
25766\r\n

where:
JobNum = 100
DBAlias = "Test"
User = "Admin"
Password = “Ad125min”
ProcID = 25765
ConfigID = 25766

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-17


Adapters

Example of a Balance & Control ARPI Incorrectly Formatted The response file shown
below fails the parameter validation step shown in the OFSA Process Flow diagram.
The failure occurs because there is no \n character between the DBAlias parameter
“Test” and the User parameter “Admin”. After the failure occurs, the return code is
set to reflect a Bad Usage error. This failure causes the application to terminate.
Response file:
100\r\n
Test Admin\r\n
Ad125min\r\n
25765\r\n
25766\r\n

where:
JobNum = 100
DBAlias = "Test"
User = "Admin"
Password = "Ad125min"
ProcID = 25765
ConfigID = 25766

Example of a Balance & Control ARPI Incorrectly Ordered The response file shown below
fails the parameter validation step shown in the Information Processing Flow
diagram, in this chapter. The failure occurs because the parameters are in the wrong
order. The order discrepancy is shown in the table below. After the failure occurs,
the return code is set to reflect a Bad Usage error. This causes an application to
terminate.
Response file:
Admin\r\n
100\r\n
Ad125min\r\n
25766\r\n
Test\r\n
25765\r\n

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-18 Oracle Financial Services Technical Reference Manual


Adapters

where:
Performance Analyzer
JobNum = 100
DBAlias = "Test"
User = "Admin"
Password = "Ad125min"
ProcID = 25765
ConfigID = 25766

The following table shows the ordering of parameters for a failed response file and
the correct ordering.

Failed Response File Order Correct Order


User JobNum
JobNum DBAlias
Password User
ProcID Password
DBAlias ProcID
ConfigID ConfigID

Oracle Performance Analyzer ARPI Example Using the ARPI Command-line


The following examples are for Performance Analyzer and show the use of the
ARPI command-line method:
prw < response

where:
"prw" is the Performance Analyzer server Knowledge Engine and "response" is
the response file. The parameters are stored in the response file in this order.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-19


Adapters

Example of the Oracle Performance Analyzer Parameter Interface The parameters in the
response file below are the parameter set for Performance Analyzer. The parameters
for Performance Analyzer are stored in the response file in the following order:
JobNum
DBAlias
User
Password
ProcID
IDType
AsOfDate
Preview
The following table shows the ARPI parameters for Performance Analyzer.

Parameter Type Size Description


JobNum numeric short The job or task identification used by the OFSA
Suite. The job number is a sequenced number that
must be retrieved from the FDM database.
DBAlias character array The alias for the FDM database to which the OFSA
Knowledge Engine connects.
User character array The database user account used by the OFSA
Knowledge Engine. The user account is used to
attach to the FDM database identified by DBAlias.
Password character array The password for the user account identified by
User.
ProcID numeric integer / The OFSA processing ID for the specific OFSA
/character array Knowledge Engine being executed.
IDType numeric short An identifier that differentiates between
Performance Analyzer processing ID types.
Currently, this parameter is always set to 0.
AsOfDate date date The date that identifies the month that is processed
Preview numeric short Used by the GUI/Knowledge Engine interface of the
client software. This parameter should always be set
to 0.

Example of a Performance Analyzer ARPI Correctly Ordered and Formatted The response
file shown below passes the parameter validation step shown in the Process Flow
diagram.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-20 Oracle Financial Services Technical Reference Manual


Adapters

Response file:
100\r\n
Test\r\n
Admin\r\n
Ad125min\r\n
39115\r\n
0\r\n
‘05/25/97’\r\n
0\r\n

where:
JobNum = 100
DBAlias = "Test"
User = "Admin"
Password = "Ad125min"
ProcID = 39115
IDType = 0
AsOfDate = "05/25/97"
Preview = 0

Additional Parameter Information


This section presents additional information regarding ARPI parameters.

Multiple Type Enabled Parameters Most of the ARPI parameters accept only one type of
value. For instance, the ’JobNum’ parameter accepts only numeric values of short
size. However, there are two parameters that are exceptions to this generalization:
the ’ProcID’ parameter and the ’ConfigID’ parameter. These parameters accept two
both numeric and character value types. The numeric value that is accepted is the
System ID Number, and the character value that is accepted is the ID Name. For
more information on a System ID Number or an ID Name, see the "Physical Data
Models" section in this chapter.

System ID Number Value The System ID Number is the most accurate method for
identifying an OFSA ID. The System ID Number is the value of the SYS_ID_NUM
column in the FDM database.

ID Name Value The ID Name is a useful method for identifying an OFSA ID. The ID
Name is the value of the ID_DESC_SHORT column in the FDM database.
Sometimes it may be preferable to use the ID Name to identify an OFSA ID.
However, the ID name is not guaranteed to be unique. ARPI provides a method for

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-21


Adapters

differentiating between two identical ID Names. This method specifies the group
name of the ID in question. When using this identification method, the group name
is appended to the ID name. A period separates the group name and the ID name.
The following is an example:
MONTHLY.<OFSA>

where:
MONTHLY is the name of the ID and <OFSA> is the name of the group. When
no group is specified, the group defaults to <ALL>.

Example of an ID Name The response file shown below passes the parameter
validation step shown in the OFSA Process Flow diagram in this chapter. It uses an
ID Name identification for the ProcID and ConfigID parameters
Response file:
100\r\n
Test\r\n
Admin\r\n
Ad125min\r\n
MONTHLY.<OFSA>\r\n
NY.<OFSA>\r\n

where:
JobNum=100
DBAlias=“Test”
User=“Admin”
Password=Ad125min”
ProcID=“MONTHLY.<OFSA>”
ConfigID=“NY.<OFSA>”

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-22 Oracle Financial Services Technical Reference Manual


Adapters

Outputs from ARPI


The OFSA Knowledge Engines send all messages and errors to the standard output.

Error Conditions The following headings describe the types of errors that may occur.
OFSA errors are documented in detail. For all other types of errors, you are referred
to the appropriate documentation.

Error Type Description


Middleware Errors Many of the errors the OFSA generates are actually generated
by the middleware. Oracle Database errors are an example of
middleware errors. If an Oracle Database error occurs, refer to
the Oracle Database documentation.
OFSA Application Errors This section describes errors that occur within the OFSA suite
of products.

Server Application Return Codes The following table defines the OFSA server-side
application return codes.

Return Code Return Type Description


0 Normal The application completed its execution
successfully.
1 Internal Error An internal error occurred in the application.
This is an OFSA suite-specific error.
2 Bad Usage The arguments passed to the application were
incorrect.
3 Session Failure The application was unable to attach to an
additional session.
4 Cancelled The application process was cancelled by the
user.
5 Failed to Execute The Oracle Request Queue was unable to fork
off the child application.
6 Bad Connect The application failed to connect to the DBMS
system.
7 Memory Fault The application was unable to allocate
additional memory.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-23


Adapters

Return Code Return Type Description


8 Rights Violation The user did not have the appropriate rights
to execute this application.
9 Version Mismatch An internal error occurred in the application.

Required Action Return Codes Of the return codes listed above, these return codes
may require handling by the ARPI Adapter. These return codes may indicate an
error in the adapter code or a data entry error by a user.

Bad Usage A ’Bad Usage’ return code (Return Code 2 in the preceding table)
indicates the parameters passed to the OFSA Knowledge Engine were not properly
formatted. A ’Bad Usage’ return code is the result of an adapter formatting error or
a data entry error by a user. For information on the correct parameter format, refer
to the "Application Request Parameter Interface Adapter Specification" section in
this chapter.

Cancelled A ’Cancelled’ return code (Return Code 4 in the preceding table) indicates
that the application process was terminated by the user. A ’Cancelled’ return code is
the result of a UNIX signal. For more information about how OFSA products handle
UNIX signals, refer to the "Process Flow" section in the chapter.

Output Manager Interactions


The Output Manager is the system component that controls how the registered
output is presented. The manner in which the registered output is presented is
dependent on the implementation. However the following list contains some
standard presentation mechanisms:
■ File viewer
■ Printer
■ Stored copy

Registered Application Output Before the output can be handled by the Output
Manager system component, it must be registered. The registration process may
vary between different implementations of the Output Manager system component.
The Output Manager Interface subcomponent must invoke the defined registration
mechanism.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-24 Oracle Financial Services Technical Reference Manual


Adapters

Internal Interactions
Within the ARPI Adapter, there are internal interactions between some of the its
subcomponents. These internal interactions perform the consolidation of the
information obtained through the external interactions. Figure , "ARPI Adapter
Internal Interactions" illustrates these internal interactions. The illustration shows
that the interactions are all related to the Data Interface subcomponent.

ARPI Adapter Internal Interactions

Secure Variables

Security

OFSA Job
Number

Data Interface
OFSA Job
Number Interface

Output Manager
Interface
Prepared Parameters

OFSA
Environment
ARPI Interface

Data Interface Interactions


The Data Interface subcomponent gathers and organizes the parameter-related
information. This subcomponent interacts with the external system and with the
other adapter subcomponents. The method for transmitting the information
internally depends on the specific implementation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-25


Physical Data Models

Secured Variables The Security subcomponent owns the secured variables once the
variables are received by the ARPI Adapter. The secured variable information is
replicated by the Security subcomponent. The replicated information is passed to
the Data Interface subcomponent. The Data Interface subcomponent reformats the
secured variables upon reception and places the variables in the appropriate order.

OFSA Job Number The OFSA Job Number Interface subcomponent owns the OFSA
job number. This subcomponent transmits the OFSA job number to the Data
Interface subcomponent.

Prepared Parameters After all of the parameter information is received by the Data
Interface subcomponent. It performs two actions. First, it reformats the parameters
and orders the parameters. Second, it transmits these prepared parameters to the
ARPI interface subcomponent.

Physical Data Models


The information in this section provides supporting information for the material
presented in this chapter. They are intended to provide the user with the
information needed to implement Adapters. The models of this section are small
segments of the Physical Data Model; they are not intended to describe the
database.

Process Data Model


The information common to all IDs is stored in the OFSA_CATALOG_OF_IDS
table. The ARPI uses information stored in the following four columns of the
OFSA_CATALOG_OF_IDS table:
■ SYS_ID_NUM
■ ID_DESC_SHORT
■ ID_TYPE
■ FOLDER_NAME
Each of these columns is described below.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-26 Oracle Financial Services Technical Reference Manual


Physical Data Models

Note: The OFSA products assume that the combination of ID_


DESC_SHORT, ID_TYPE, and FOLDER_NAME is unique.
However, the database does not include nor enforce this
relationship, therefore duplication may occur.
The true unique identifier for IDs is found in the SYS_ID_NUM
column of the OFSA_CATALOG_OF_IDS table. This is described in
the SYS_ID_NUM section, which follows.

SYS_ID_NUM
The SYS_ID_NUM column is the primary key for the OFSA_CATALOG_OF_IDS
table. The values stored in the SYS_ID_NUM column uniquely identify an ID. ARPI
requires that two types of IDs be identified: the Processing ID and the
Configuration ID. Both types are usually transmitted to ARPI using a System ID
Number format. A System ID Number is the value of the SYS_ID_NUM column
that corresponds to the specified ID. Using the System ID Number is the only
method guaranteed to uniquely identify the specified ID.

ID_DESC_SHORT
The ID_DESC_SHORT column is the short character column. The values stored in
this column are the names of the individual IDs. Because ARPI accepts either the
System ID Number or the name of the ID, the ID_DESC_SHORT column may be
used to identify the Processing ID and the Configuration ID. Although the System
ID Number is the only guaranteed unique identifier, there is a method for
differentiating IDs with identical values in the ID_DESC_SHORT column. The
combination of the ID_DESC_SHORT column and the FOLDER_NAME column
should be unique; however, there may be duplication.

ID_TYPE
The ID_TYPE column identifies the type of ID to which the record applies. The
value in this column is used to determine the validity of the parameter passed to
ARPI. The validity check applies to both a System ID Number value or the ID name
value. The ID_TYPE value also differentiates between the different types of
Processing IDs.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-27


Physical Data Models

FOLDER_NAME
The FOLDER_NAME column controls permission rights to the ID information. The
information stored in this column is used for ID security and identification. The
OFSA products use the FOLDER_NAME column to differentiate between two IDs
with identical names and types.

Request Data Model


The Request Data Model stores information about OFSA processing tasks initiated
on a server. The tables are used by the Oracle Request Queue to control the OFSA
Knowledge Engines and to track the status of the processing.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-28 Oracle Financial Services Technical Reference Manual


Physical Data Models

Shown below are the columns of the OFSA_REQUEST_QUEUE table and this
table’s relationship to the REQUEST_QUEUE_SEQ sequence and the OFSA_
RESULT_QUEUE table.

OFSA_REQUEST_QUEUE
JOB_NUM
LOGIN_NAME
STATUS OFSA_REQUEST_QUEUE_SEQ
PROCESS_ID
RETURN_CODE
PRIORITY
APPLICATION
SERVICE_REQUEST
REQUEST_DATE
REQUEST_TIME
SCHEDULE_DATE OFSA_RESULT_QUEUE
SCHEDULE_TIME JOB_NUM
APP_ARGUMENTS RESULT_TYPE
HOST_NAME RESULT_MESSSAGE
END_DATE
END_TIME
LANGUAGE
TERRITORY

JOB_NUM
The value of the JOB_NUM column uniquely identifies an OFSA processing task.
This value is used by the OFSA products to track status updates and label
application output. To ensure that the identifier is unique, the value for the JOB_
NUM column is generated by an Oracle sequence. The OFSA Job Number Interface
subcomponent of the ARPI Adapter queries this sequence to obtain the next unique
value. This query should select OFSA_REQUEST_QUEUE_SEQ.NEXTVAL to
obtain the unique identifier. This query is shown below:
select ofsa_request_queue_seq.nextval from dual;

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Batch/Scheduling Tool Kit 5-29


Physical Data Models

Oracle Proprietary, Confidential Information - Use Restricted by Contract

5-30 Oracle Financial Services Technical Reference Manual


6
Boundaries and Limitations

This chapter lists boundaries and limitations imposed on the database, interface and
processing routines of the Oracle Financial Services Applications (OFSA) product
suite. This list includes specific OFSA products, where limitations are applicable, as
well as report, common dialog and configuration considerations for the database.

Oracle Balance & Control


One limitation is applicable to this product.

Correction Rules
Bulk mode cannot be used when, within a single Correction ID, the column to
which assignments are made differs between nodes.

Oracle Budgeting & Planning


The following limitations are applicable to this product.

Product Tree
Product trees (chart of account trees) can fully display the name of the product only
when the quantity is less than 2,000. For charts of accounts greater than 2,000, the
name is truncated to 24 characters.
The add-in does not truncate product names.

Organizational Unit Tree


The maximum number of organizational units in any one tree is 16,000. When
expanding and collapsing the organizational tree in the outline control, only 200

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Boundaries and Limitations 6-1


Common Dialogs

values can be displayed at any one time. In order to display more organizational
units, other units need to be collapsed(hidden).
The default number of units allowed in the outline control is 250. However, you can
increase this with an.INI setting. The upper limit depends on the length of the
strings describing the business units.

Currency Values
The largest value that can be input for a single balance sheet amount is 99,999,999.
This represents 99,999,999,999 (1 less than 100 billion) in thousands.
The largest value that can be input for a single income item is 9,999,999.999. This
represents 9,999,999,999.999 (.001 less than 10 billion) in thousands.

Consolidation/Elimination Limits
Only 254 accounts can be eliminated from any given consolidation.

Time Periods
There is a maximum of 120 time periods in Oracle Budgeting & Planning. Of these
time periods no more than 71 can be historical time periods and no more than 60
can be forecast time periods.

Balances and Spreads


You can view history for the current year only. When forecasting the first month of
the year, no history is visible in this interface.

Fiscal Year
Budgeting & Planning recognizes only a 12 month fiscal period.

Common Dialogs
The following limitations are applicable to these common dialogs.

Tree Rollup
In the right pane of the tree rollup display, only the first 6,528 nodes are displayed.
This limitation is imposed by the Windows control.
Node values within a Tree Rollup ID cannot exceed 14 characters.
The maximum number of levels in a Tree Rollup ID is 14.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

6-2 Oracle Financial Services Technical Reference Manual


Database Configuration

Transformation ID
The ’Transform into’ table name has a limit of 26 characters.

SQL Talk
Within the SQL Talk interface, you can request a maximum of 255 columns.
A maximum of 16,000 rows are fetched from the database for any single query. This
may be further limited by the size of the rows returned (the longer the rows, the
fewer rows that can be selected).

Data Filter ID
A maximum of 60 values or ranges can be entered for each column in a Data Filter
ID.

Formula ID
The maximum length of a formula is 128 characters. This limitation should be
considered within the Report ID as well as the Formula ID. In a Formula ID, a
component of the formula can be parameterized and defined later, when it is used
within a Report ID. Because the definition of the parameter may increase the total
number of characters in the formula, the complete formula may be longer than 128
characters.

Request Queue
Request Queue supports a maximum of 2147483647 jobs.

Database Configuration
The following limitations are applicable to the configuration of the OFSA database.

Users and Groups


User names and User Group names have a maximum of 15 characters.

OFSA ID Names
The maximum number of characters in a short description name is 15, and in a long
description name is 60.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Boundaries and Limitations 6-3


Database Configuration

Number of IDs
The maximum ID number in the system is 9,999,999,999. The maximum number of
IDs for each ID type is 16,000.

SQL Statements in All Processes


SQL statements within processes are limited to a maximum length of 65,535
characters.

Instrument Table ID Numbers


ID numbers can have a maximum length of 25 digits.

User Interface Display of Dates


All dates displayed in user interfaces have an input and display range of
01/01/1901 to 12/31/2499.

Leaf Set Up
Leaf values can have a maximum of 14 digits.
Only 15 leaf types are allowed in the database. Examples of leaf types are Common
COA ID, Organizational Unit ID, Performance Analyzer (PA) COA ID and Transfer
Pricing (TP) COA ID.

Balances
Balances stored in Instrument tables are limited to 999,999,999,999.99. Balances
stored in the LEDGER_STAT table are limited to 99,999,999,999.9999.
The maximum precision for a balance used in a calculation process is 15 digits, with
the range of 1.7e-308 to 1.7e+308. Calculation precision on larger numbers is
compromised.

Rates
By default, rates stored in instrument tables are limited to 999.9999 and -999.9999.
More precision can be achieved by increasing the number of decimals in the
column. Internally, rates are stored with the same precision as balances.

Terms and Frequencies


The maximum size of a term used within any process, including Balance & Control,
Risk Manager and Transfer Pricing is 32,767, although interface limits are imposed

Oracle Proprietary, Confidential Information - Use Restricted by Contract

6-4 Oracle Financial Services Technical Reference Manual


Reporting

to restrict this number to 999 when entered through a dialog. Terms affected by this
restriction include payment frequency, reprice frequency, original term,
amortization term, negative amortization frequency and payment change frequency.

Oracle Performance Analyzer


The following limitations pertain to this product.

Allocation ID
There is a maximum of 16,535 rows per page of an allocation and a maximum of
32,767 pages.

Note: System memory limits may reduce this number.

Table ID
Table IDs are limited to five tiers through the user interface. The Table ID definition
is limited to three leaf tiers, one helper leaf tier, and one target leaf tier.

Reporting
The following limitations are applicable to reports.

Stratification ID
On stratifications by range, there is a maximum of 60 ranges.
With low levels of available memory, stratification reports may not complete
successfully. The current limits affect reports that generate many levels of stratifying
buckets along with a lengthy report. This scenario eventually uses all of the
available memory and results in the system’s inability to finish the report.

Report ID
A maximum of 255 cells is allowed in a given report template page.
Cell positioning is rounded to device coordinates at runtime, so exact cell
positioning is not guaranteed. The rounding is very small in comparison to normal
cell positioning.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Boundaries and Limitations 6-5


Oracle Risk Manager

Picture cells are limited to bitmap files (.bmp) only and must reside either on a
network drive or on every machine that requires the file.
There is a maximum of 8 digits for parameters in Reports.

Standard Risk Manager Reports


Due to the complexity of the SQL statements generated in Forecast Stratification
reports and Forecast Financial reports, content is limited by the environment in
which they are processed. Particularly complex reports, such as the Detail Cash
Flow report, are limited in the number of modeling buckets that can be displayed
on any single report to ten or less.
To reduce the complexity of the report and thereby increase the number of
modeling buckets reported, reduce the number of financial element formula cells.

Oracle Risk Manager


The following limitations are applicable to this product.

Modeling Buckets
There is a maximum of 120 modeling buckets available for processing. There is no
limit on the modeling horizon. However, the interface display of dates within the
Configuration ID is limited to dates less than or equal to 12/31/2499.
Because the Risk Manager simulation engine uses the frequency of the modeling
bucket, as expressed in units and multipliers, this interface restriction does not
impact the calculations nor the output into the result tables. To model periods
extending beyond the year 2499, enter bucket frequencies as needed. Although
dates beyond the year 2499 do not appear in the interface, the calculation engine can
properly handle them.

Dynamic Buckets
There is a maximum of 120 GAP buckets and no limit to the number of dynamic
start dates. The GAP bucket display of dates is restricted, as with the modeling
buckets, to dates less than or equal to 12/31/2499. As described in the modeling
bucket section, this restriction does not impact the calculation nor the output of
dynamic results.

Leaf Characteristics ID
The valid range for Option Adjusted Spread is between 5.000 and -5.000.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

6-6 Oracle Financial Services Technical Reference Manual


Oracle Risk Manager

Transaction Strategies ID
The maximum balance or deferred balance within a single entry in the Transaction
Strategies ID is 9,999,999,999. To create transactions with larger values, create
multiple entries in this interface.
The maximum origination date that can be entered is 12/31/2499.
Terms and frequencies are restricted to a maximum value of 999.

Rate Index ID
There is a maximum of eight components to the Rate Index formula per Interest
Rate Code (IRC) and term.

Term Structure ID
Valid values for mean reversion are between .00001 and 1.00000.
Valid values for volatility are between 0.000001 and 9.999999.
When using the Extended Vasicek method, combinations of high volatility with low
speed of mean reversion may cause unreasonable results.

Processing
When a process generates a balance value larger than 999,999,999,999.99, the
database cannot support the value and a numeric overflow occurs.
This may be caused by large buckets in combination with large balance amounts
per product leaf and short terms. For example, a large balance that matures monthly
in a multi-year modeling bucket may overflow the results of the total runoff timing
financial element.

Formula Leaves ID
Leafs larger than 10 digits are restricted from input into a function that has leaf as a
parameter. To input leaves with more integers into these functions, use the decimal.
For example, 1234567890123 should be entered as 1234567890.123.
Formulas within the Formula Leaf ID can have a maximum of 1,024 characters.
There is maximum of 999 coefficients within the Formula Leaves ID.

Forecast Balance ID
The maximum balance that can be entered into a Forecast Balance ID is
999,999,999,999.98

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Boundaries and Limitations 6-7


Oracle Transfer Pricing

Forecast Rates ID
There is a maximum of nine scenarios within a single Forecast Rates ID.

Prepayment Table ID
There is a maximum of three dimensions per Prepayment Table ID.

Prepayment ID
There is a maximum of 100 origination date ranges per product within a
Prepayment ID. The maximum origination date that can be entered through the
interface is 12/31/2499.

User-defined Patterns
The valid range for user-defined pattern codes is 1000-29999.

Cash Flow Calculations


The maximum number of events that can be modeled for a single instrument within
the Cash Flow Knowledge Engine is 16,400.

Monte Carlo Processing


There is a maximum of 2,000 rate paths.
The Value at Risk (VaR) Term has a maximum of 10 years.

Oracle Transfer Pricing


Prepayment ID
There is a maximum of 100 origination date ranges per product within a
Prepayment ID.
The maximum origination date that can be entered through the interface is
12/31/2499.

Prepayment Table ID
There is a maximum of three dimensions per Prepayment Table ID.

User-defined Patterns
The valid range for user-defined pattern codes is 1000-29999.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

6-8 Oracle Financial Services Technical Reference Manual


Oracle Transfer Pricing

Cash Flow Generation


The maximum number of events that can be modeled for a single instrument within
the Cash Flow Knowledge Engine is 16,400.

Transfer Pricing Calculations


When processing on the client there is a maximum of 16,400 date/term
combinations that can be loaded into memory for processing.
There is a maximum size of transfer rate and matched spread of 9999.9999. If a
transfer rate or matched spread larger than this value is inserted into an instrument
table, an error, “value too large for column” or “numeric overflow,” occurs.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Boundaries and Limitations 6-9


Oracle Transfer Pricing

Oracle Proprietary, Confidential Information - Use Restricted by Contract

6-10 Oracle Financial Services Technical Reference Manual


7
Consolidation of Results

This Consolidation of Results feature enables the user to combine the results set
from multiprocessing runs. This chapter contains the following sections, which
describe how to merge multiple Oracle Risk Manager processing IDs:
■ Check the Processing IDs
■ Create a New Processing ID for Your Consolidated Results
■ Two Approaches to Consolidating Results
■ Columns in the Result Detail Table
■ Result_Master Table (Market Value Results)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Consolidation of Results 7-1


Check the Processing IDs

Check the Processing IDs


Confirm that the results were generated with identical assumptions for the
following:
■ Modeling Date Buckets
■ Dynamic Gap Date Buckets and Start Dates
■ Gap Profiles (were gap profiles generated on all processing runs?)
■ Market Value Start Dates
■ Market Valuation (were market values performed on all processing runs?)
■ Multiple Modeling Rates (Model with Transfer rates
■ Auto-Balancing (was auto-balancing performed in each processing run?)
■ All assumption IDs are the same (Optional: see “Pre-Populate the Supporting
Result Files”).
If any of these assumptions are not consistent (with the possible exception of
Assumption IDs) your consolidated results are not valid.

Create a New Processing ID for Your Consolidated Results


In order to be able to report off your consolidated results, you must create a Risk
Manager Processing ID for your consolidated results. Remember that you cannot
consolidate multiple Risk Manager processing IDs through the OFSA interface. This
step merely enables you to report off your consolidated results using OFSA’s
reporting interface.

Pre-Populate the Supporting Result Files


There are four tables that get updated with the results of a Risk Manager processing
run. Two of them do not hold actual results, but rather the supporting information
necessary to report off a processing run:
■ OFSA_Result_Bucket: The Result_Bucket table is updated with all of the date
bucket header information (that is start and end dates for all date buckets). This
table is accessed in all date related reports.
■ OFSA_Result_Header: The Result_Header table is updated with the names of
all Assumptions IDs that make up the processing run. The ID names can also be
accessed when generating reports.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

7-2 Oracle Financial Services Technical Reference Manual


Create a New Processing ID for Your Consolidated Results

To populate these tables for your Consolidated Results Processing ID, you can set
up a process with a single record and run it. The result is that both Result_Bucket
and Result_Header are populated as well as the results in Result_Master and Res_
Dtl_<Sys_ID_Num>. The results in Result_Master and Res_Dtl_<Sys_ID_Num> are
not accurate and must be replaced in Step 4. Consolidate Results Data.
The ID names that you used in your processing IDs may or may not have been
consistent. They are used only for reporting purposes. You have the option to report
the name of each assumption ID in the header section of your reports. If you used
separate Pricing Margin assumption IDs for two processing IDs that you want to
consolidate, for example, you can select one of them in this step. Then, remember to
remove the Pricing Margin ID from the header section of the report so that it is not
misleading.

Consolidate Results Data


Results in Risk Manager get stored in four tables:
■ Detail Results Tables: RES_DTL_<Sys_ID_Num> and Cons_Dtl_<Sys_ID_
Num>. This contains cash flow and gap results for an individual Risk Manager
processing ID.
■ RESULT_MASTER and OFSA_CONSOLIDATED_MASTER: This contains
market value results for all processing IDs.

Detail Results Tables (Cash Flow and Gap Results)


Any Risk Manager processing run has an associated table for the storage of detailed
results. A few key characteristics of this table that are important to understand
when consolidating results:
■ There are 120 columns used to stored forecast information BUCKET_001...
BUCKET_120
■ The meaning in any of the BUCKET columns is determined by the key columns
(as listed below). In other words, the same column is used to store any type of
financial information - you must interpret the key columns to determine what
the value represents.
■ All information can be consolidated by simply summing up the Bucket
columns. The numbers are stored so that for weighted average purposes you
need only to sum up the values and group by the relevant key columns.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Consolidation of Results 7-3


Two Approaches to Consolidating Results

Two Approaches to Consolidating Results


There are two approaches you can take to consolidating results:
■ Physically consolidate the data into the existing Result Detail table
If you want to physically update the Res_Dtl_<Sys_ID_Num> table, remember
to delete all of the data that exists in the table (if any) from Step 3. Pre-Populate
the Supporting Result Files.
■ Drop the existing Result Detail table and replace this with a database view
An alternative to physically inserting the consolidated data into the Res_Dtl_
<Sys_ID_Num> table is to drop the physical Res_Dtl_<Sys_ID_Num> table and
create a Database View with the identical name. Advantages to this approach
are: a view saves disk space, and always reflects the latest underlying results. If
you want to store the consolidated results, but not the underlying detail,
however, you must store the consolidated results in a physical table.

Sample SQL: View Approach


CREATE VIEW RES_DTL_101 AS
SELECT * FROM RES_DTL_1
UNION
SELECT * FROM RES_DTL_2
This approach merely appends the results from both underlying results set. This is
acceptable because all reports sum records with the same key values together.

Note: If Database Administrators create a view, you must grant


access to that view to the appropriate users.

An easy way to consolidate the results is to append the records from both
underlying results set into the consolidated results set. This does not violate the
unique key because the Sys_ID_Num from both underlying results is different. The
OFSA Reports sums all records with the same key values together.

Note: After creating a consolidated results table, you must register


it through FDM Administration before you can use it for reporting
or any OFSA related activity.
Make sure to use the table classification RM Detail Results (140).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

7-4 Oracle Financial Services Technical Reference Manual


Columns in the Result Detail Table

Columns in the Result Detail Table


There are three categories of columns in the Result Detail table:
■ Key Columns: Always include these columns in your group-by statement
■ Result Columns: These columns should always be summed
■ Other Columns: These columns are irrelevant to the results, but must be
included in the consolidation table or view for reporting to function properly.
If you want to use a more efficient method for physically consolidating data, create
a SQL statement that groups by the Key Columns, sums the Result Columns, and
Plugs the Other Columns. This approach saves space over the simple approach of
appending the results from all detailed Processing IDs.

Result Detail: Key Columns (Group-By)

Column Description
Risk Manager Product Your Risk Manager product (or Chart of Accounts) leaf as
Leaf specified in the Configuration ID.
Common Chart of Your Common Chart of Account Leaf - see Leaf Setup
Account Leaf
Org Unit Leaf If results are consolidated to the corporate level, this may be
irrelevant.
ISO_Currency_Code Currency in which results are held.
Financial_Elem_ID The leaf that gives meaning to the row of data in the table - for
example, are the numbers in bucket_001-bucket_120 referring to
ending balance, ending rate, average balance, and so on.
Scenario_Num Results are stored by scenario number (1-9).
Start_Date_Index Start Date 0 = Cash Flow Information and >= 1 are used for Gap
Start Dates.
Sys_ID_Num Although this is a key column in the table - for reporting
purposes it is ignored because the assumption is that all results
are from the same processing ID - and therefore the same Sys_
ID_Num. Plug with the value from the Consolidation Processing
ID.
Result-Type Code Code describing the source of the record, current position, new
business, or formula leaves. This column may be omitted in the
group by statement if you do not want to maintain this
distinction in your consolidated results.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Consolidation of Results 7-5


Result_Master Table (Market Value Results)

Result Detail: Result Columns (Sum):


BUCKET_001 ... BUCKET_002

Result Detail: Other Columns (Plug - But do not omit)

Column Description
All other Leaf Columns These columns are not relevant to your simulation

Result_Master Table (Market Value Results)


The market value results in the result_master table must be manually consolidated
via a SQL statement. As with the Detail Results table, the columns in the Result_
Master Table can be grouped into the same three categories:

Result Master: Key Columns (Group By)

Column Description
Risk Manager Product Your Risk Manager product (or Chart of Accounts) leaf as
Leaf specified in the Configuration ID.
Common Chart of Your Common Chart of Account Leaf - see Leaf Setup
Account Leaf
Org Unit Leaf If results are consolidated to the corporate level, this may be
irrelevant.
ISO_Currency_Code Currency in which results are held.
Scenario_Num Results are stored by scenario number (1-9).
Start_Date_Index Start Date 0 = Cash Flow Information and >= 1 are used for Gap
Start Dates.
Financial_Rollup A code for the account type of the line item
Result Type Code Code describing the source of the record, current position, new
business, or formula leaves. This column may be omitted in the
group by statement if you do not want to maintain this
distinction in your consolidated results.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

7-6 Oracle Financial Services Technical Reference Manual


Result_Master Table (Market Value Results)

Result Master: Result Columns (Sum):


CUR_PAR_BAL
CUR_NET_PAR_BALANCE
CUR_DEFER_BAL_C
CUR_NET_RATE_W
CUR_WARM
CUR_INTR_REC_ACCR
NEW_GROSS_BALANCE
NEW_NET_BALANCE
MARKET_VALUE
DURATION
CONVEXITY
CUR_TRANSFER_RATE

Result Master: Other Columns (Plug - But do not omit)

Column Description
Result_Sys_ID This is actually a key column for associating the results with
your processing ID (Plug this with the value of the Sys_ID_Num
for your consolidated Processing ID).
All other Leaf Columns These columns are not relevant to your simulation

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Consolidation of Results 7-7


Result_Master Table (Market Value Results)

Sample SQL:
The following statement was used to consolidate the results of sys_id_num = 1 and
2 into a sys_id_num = 101:
INSERT INTO RESULT_MASTER
SELECT 101 AS RESULT_SYS_ID,
SCENARIO_NUM,
ORG_UNIT_ID,
0 AS GL_ACCOUNT_ID,
COMMON_COA_ID,
TM_PROD_ID,
FINANCIAL_ROLLUP,
START_DATE_INDEX,
SUM(CUR_PAR_BAL),
SUM(CUR_NET_PAR_BAL),
SUM(CUR_DEFER_BAL_C),
SUM(CUR_NET_RATE_W),
SUM(CUR_WARM),
SUM(CUR_INTR_REC_ACCR),
SUM(NEW_GROSS_BALANCE),
SUM(NEW_NET_BALANCE),
SUM(MARKET_VALUE),
SUM(DURATION),
SUM(CONVEXITY),
SUM(CUR_TRANSFER_RATE)
FROM RESULT_MASTER
WHERE RESULT_SYS_ID IN (1,2)
GROUP BY SCENARIO_NUM,
ORG_UNIT_ID,
COMMON_COA_ID,
TM_PROD_ID,
FINANCIAL_ROLLUP,
START_DATE_INDEX
RESULT_TYPE_CD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

7-8 Oracle Financial Services Technical Reference Manual


8
Detail Cash Flow Audit Options

By selecting the Detail Cash Flow option in the Process ID (the Audit tab in Oracle
Risk Manager and the Process Mode tab in Oracle Transfer Pricing), you can view
daily cash flow results. Selecting this option writes out all cash flow and repricing
events that occur for processed records. The number of records written is
determined by the environment on which the process is running: client or server. If
you are running under multiprocessing, you may get fewer records, for example,
OFSA_PROCESS_ID_STEP_RUN_OPT.NUM_OF_PROCESSES > 1.
The relevant financial elements for each instrument record and the cash flow results
are stored in the OFSA_PROCESS_CASH_FLOWS table:

Column Name Description


Result Sys ID Key column that corresponds to the Sys ID Num of the
Processing ID. All cash flow results for the processing run are
stored with the same Result Sys ID value. See "Determining the
Value of Result Sys ID" in this chapter.
Calc Source Cd The type of cash flow processing (selected in the Process ID):
0 - RM - Regular (scenario-based processing)
1 - RM - Stochastic processing
2 - TP - Regular (scenario-based processing)
3 - TP - Forward Rates
4 - TP - Stochastic processing
Record Sequence The processing order of the records.
Cash Flow Sequence The order of the events (cash flows, repricings).
Scenario Num The scenario number assigned in the Forecast Rates ID for
scenario-based processing or the rate path number determined
in stochastic processing.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Cash Flow Audit Options 8-1


The Detail Cash Flow Process

Column Name Description


Financial Elem ID The numeric code describing a piece of financial information
described in the row of results data.
ID Number The unique record identifier for the instrument records
processed.
Cash Flow Date The date of the event.
Cash Flow Cd The code identifying the type of event.
Float Value The value assigned to each financial element.
Product Leaf Node The product leaf number.
Org Leaf Node The organizational unit leaf number, an optional output
dimension in Risk Manager and always used in Transfer Pricing
output.
ISO_Currency_Cd Currency associated with the cash flow values.

This chapter contains the following sections:


■ The Detail Cash Flow Process
■ Data Verification ID Results
■ Data Verification

The Detail Cash Flow Process


After processing cash flows from either Risk Manager or Transfer Pricing, do the
following to view the audit results:
■ Determine the value of Result Sys ID
■ View data by:
■ Creating a Data Filter ID associated with the Sys ID Num
■ Creating a Data Verification ID to view the results
Or you can use SQL Talk or SQL*Plus. For example, you can write the following
SQL statement to view cash flow results:
SELECT * FROM OFSA_PROCESS_CASH_FLOWS WHERE RESULT_SYS_ID = <your ID number>
ORDER BY SCENARIO_NUM, RECORD_SEQUENCE, CASH_FLOW_DATE, FINANCIAL_ELEM_ID;

Oracle Proprietary, Confidential Information - Use Restricted by Contract

8-2 Oracle Financial Services Technical Reference Manual


The Detail Cash Flow Process

Determining the Value of Result Sys ID


1. From the File menu, select Open -> Process ID.
2. Select the folder and Process ID.
3. With the pointer in the Select Process ID window, right-click.
4. Note the value of Sys ID Num.

Creating a Data Filter ID


Create a Data Filter ID associated with the Sys ID Num (step 4 of "Determining the
Value of Result Sys ID"):
1. From the File menu, select New -> Data Filter ID.
2. From Folder, select a folder name.
3. Type a descriptive name for the ID.
4. Type a description for the ID. This is an optional field.
5. Click Read/Write.
6. Click OK.
7. In the Data Filter ID window, do the following:
a. From Table, select Process Cash Flows.
b. From Columns, select Result File System ID Number and click Add.
c. Under Defined Filter, click Process Cash Flows.Result File System ID
Number.
d. From Filter Type, select Specific Values.
e. For Number of Ranges, type 1.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Cash Flow Audit Options 8-3


The Detail Cash Flow Process

f. In the spreadsheet, type the value of Result Sys ID.

8. From the File menu, select Save.

Creating a Data Verification ID


Create a Data Verification ID to view the results:
1. From the File menu, select New -> Data Verification ID.
2. From Folder, select a folder name.
3. Type a descriptive name for the ID.
4. Type a description for the ID. This is an optional field.
5. Click Read/Write.
6. Click OK.
7. In the Data Verification ID window, do the following:
a. From Table Types, select Client Tables.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

8-4 Oracle Financial Services Technical Reference Manual


The Detail Cash Flow Process

b. From Table, select Process Cash Flows.


c. From Sort By, select one of the following combinations:
■ Cash Flow Date, Financial Element ID—if one instrument record was
processed in one rate scenario
■ Record Processing Sequence, Financial Element ID, Cash Flow Date—if
more than one record was processed in a single scenario
■ Scenario Number, Cash Flow Date, Financial Element ID—if one instrument
record and multiple rate scenarios were processed
d. From Filter ID, select Data and the name of the Data Filter ID you created.
e. Under Columns, select column names and click Add.
f. Under Defined View, order the columns. (For example: ID Number,
Organizational Leaf Node, Product Leaf Number, Financial Element ID,
Cash Flow Code, Cash Flow Date, Float Value, and so on.)

8. From the Process menu, select Run.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Cash Flow Audit Options 8-5


Data Verification ID Results

Data Verification ID Results


The results of running the Data Verification ID appear in a spreadsheet.

Financial Elements
The Financial Element ID column lists the financial elements written for each
payment and repricing event processed by the cash flow engine. An initial set of
data is also written, recording the balance and rate as of the last payment date. The
base set of financial elements written during a cash flow audit process may include
some or all of the following:

Financial Element Description


Payment Events
100 Ending Par Balance. Final balance on payment date, after the
payment has occurred.
430 Interest cash flow.
210 Total Principal Runoff, including scheduled payments,
prepayments, and balloon payments.
60 Beginning Par Balance. Starting balance and payment date, prior
to payment.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

8-6 Oracle Financial Services Technical Reference Manual


Data Verification ID Results

Financial Element Description


120 Runoff Net Rate. Rate at time of payment, weighted by ending
balance. To view actual rate, divide financial element 120 by
financial element 100.
490 (Stochastic Processes Only) Discount factor used during Monte
Carlo process to determine present value of cash flow on the
payment date.
Repricing Events
250 Par Balance at time of repricing.
280 Before Reprice Net Rate. Rate prior to repricing, weighted by
reprice balance. To determine true rate, divide this financial
element value by financial element 250.
290 After Reprice Net Rate. Newly assigned net rate after repricing
occurs, weighted by reprice balance. To determine true rate,
divide this financial element value by financial element 250.
Initial Event
100 Initial par balance at start of processing.
120 Initial net rate at start of processing.

In addition to these financial elements, other data may be output, depending on the
type of processing and the optional financial elements selected. See Chapter 16,
"Oracle Risk Manager Financial Elements", for more information on financial
elements.

Cash Flow Codes


The Cash Flow Code column lists a code for each row that describes the event
modeled by the cash flow engine:

Cash Flow Code Description


1 Initial recording of balances and rates
2 Payment event only
20 Reprice event only (not during tease period)
8 Reprice during tease period
22 Reprice and payment event together (not during tease period)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Detail Cash Flow Audit Options 8-7


Data Verification

Cash Flow Code Description


10 Reprice and payment during tease period.

Data Verification
You can copy the results from the Process Cash Flows table and paste them into
a spreadsheet to facilitate analysis against validated data. If the cash flows do
not behave as expected, examine instrument table data or your assumptions.
See Chapter 9, "Cash Flow Calculations" for more information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

8-8 Oracle Financial Services Technical Reference Manual


9
Cash Flow Calculations

Oracle Risk Manager uses a cash flow engine to ensure modeling consistency across
the OFSA suite of products.
This chapter describes the calculations performed by the OFSA cash flow engine,
defines concepts that are vital in forming a complete understanding of the
capabilities of the cash flow engine, and contains the following topics:
■ Instrument Level Modeling
■ Modeling Flexibility Defined by Instrument Data
■ Daily Cash Flows
■ Event Driven Logic
■ Financial Elements
■ Multicurrency Accounting and ConsolidationTerminology Used in This
Chapter
■ Cash Flow Calculation Process
■ Additional Processing Events
■ Accounting for Exchange Rate Fluctuations
■ Market Value Calculation
■ Consolidation of Results
■ Currency-Based Gap Modeling
■ Detail Cash Flow Data
■ Rule of 78’s Example

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-1


Instrument Level Modeling

Instrument Level Modeling


Several processes within the OFSA applications require cash flows in order to
produce results, including:
■ Transfer Pricing
■ Market Valuation
■ Income Simulation
OFSA generates cash flows at the individual instrument level. Each individual
instrument record processed, generates a unique set of cash flows as defined by that
instrument record’s product characteristics. This provides an optimum level of
accuracy. Cash flows on individual instrument records are used. The cash flows
produced are then manipulated to produce the required results.

Modeling Flexibility Defined by Instrument Data


Specific cash flow characteristics defined in an instrument record determine the
cash flow results for each instrument. Each instrument record has:
■ Payment information (dates, frequencies, amounts)
■ Balance information (current balance, original balance)
■ Rate information (gross rate, net rate, transfer rate)
■ Currency (the currency in which the record is denominated)
There are over 50 cash flow columns that drive the results. Depending on the
information in these columns, you can model an unlimited number of unique
instruments.

Daily Cash Flows


Cash flows can occur on any date, and with any frequency thereafter. Not only does
this provide accurate results, but you also have the ability to change the modeling
buckets without having to worry about an impact on the cash flows.

Event Driven Logic


OFSA generates cash flows as a series of events. On any day, and with any
frequency thereafter, depending on the instrument characteristics, any of the
following events can occur:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-2 Oracle Financial Services Technical Reference Manual


Terminology Used in This Chapter

■ Payment
■ Repricing
■ Payment recalculation
■ Prepayment
This reference manual explains the calculations that occur for each event.

Financial Elements
On an event date, OFSA computes the results of that event, the financial elements.
For example, on a payment event, it can compute the following:
■ Interest
■ Principal runoff
■ Total cash flow
■ Ending balance
The OFSA cash flow engine generates over 50 financial elements that can be used in
analysis.

Multicurrency Accounting and Consolidation


Currency fluctuation is a critical risk affecting multicurrency balance sheets. Risk
Manager enables users to model instruments denominated in different currencies,
including the effect of currency fluctuations on earnings, and cross-currency
consolidations.

Terminology Used in This Chapter

Non-Currency-Based versus Currency-Based Processing


Users may select one of four functional dimensions in their Risk Manager Process
ID. These dimensions describe the way the output is aggregated and impact the
approach to translation of multicurrency data. In this chapter, we refer to processing

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-3


Terminology Used in This Chapter

as being either “non-currency-based” or “currency-based,” depending on which


functional dimension is selected:

Currency Processing
Type Functional Dimension in Process ID
Non-Currency-Based Product
Product/Organizational Unit
Currency-Based Product/Currency
Product/Organizational Unit/Currency

Local Currency versus Reporting Currency


When processing multicurrency data, we generally refer to the currency as one of
the following:
■ Local Currency
This can be any active currency. It is the currency in which the record is
denominated; for example, USD (US Dollars) or JPY (Japanese Yen).
■ Reporting Currency
This is the target for currency translation; that is, the cash flow engine translates
cash flows or values on the instrument record by using the exchange rate from
the local currency to the reporting currency.

Default Currency (Code 000)


Risk Manager enables users to define modeling assumptions (for example, market
value Discount Rates, new business Pricing Margins, Maturity Strategies, and so
on.) for each Product/Currency combination. Generally, the cash flow engine
retrieves currency-based assumptions based on Product + Currency. If no such
assumptions exist, it uses the assumptions the user has defined for the Product +
Default Currency (Code ‘000’). If it still cannot find a match, it employs a default or
may write out an error message.

[m] Forecast (in memory) versus [r] Actual (on record)


As a cash flow instrument is modeled through time, the data associated with this
instrument changes due to payments, repricings, or other circumstances. These
changes apply only in memory and do not affect the information stored in the
instrument tables.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-4 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

A subscript notation of [m] for memory and [r] for detail record differentiates
between the forecasted data and the actual data. For example, current paymentr
refers to the current payment stored in the instrument table. Current paymentm
refers to the current payment in memory that is updated each time a payment
recalculation occurs.

Cash Flow Calculation Process


The following steps summarize the cash flow calculation process:
1. Initialize modeling data and parameters for instrument to be modeled.
2. Process modeling event(s) until current date equals the maturity date or the
modeling end date, or the current balance equals zero:
■ Calculate changes to underlying instrument
■ Calculate financial elements associated with event
■ Increment forward event dates
3. Generate secondary results:
■ Deferred amortization recognition
■ Market values
■ Duration
■ Gap
4. Accumulate daily information into appropriate time buckets.
5. Optionally translate and consolidate values in each time bucket for
Risk-Manager currency-based processes.

Initialization of Data
The first step in the process is to gather the information necessary to model the
current instrument. This information is available from several sources, including:
■ the instrument table
■ payment Schedule table
■ the active Configuration ID
■ payment Pattern interface

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-5


Cash Flow Calculation Process

■ repricing Pattern interface


■ the IDs specified in the Process ID
■ the historical exchange rates table

Determine Account Type of Instrument


Account types classify instruments by their use in financial statements and
determine how the cash flow engine processes an individual instrument. The
Common COA ID value determines the account type of an individual record. The
Leaf Setup interface classifies each Common COA ID leaf as an account type. Based
on these account types, there are five categories of cash flow processing, as shown
in the following table.

Cash Flow Process Description -


Category Process Description - Detail New Business Associated Account Type
Detail cash flow Process daily cash flow events and Process daily cash flow Interest-Earning Asset
generate necessary financial events and generate Interest-bearing Liability
elements. necessary financial Off Balance Sheet
elements. Receivable
Off Balance Sheet Payable
Balance Only Process the record originating on Show ending balances Other Asset
the origination date and running equal to the forecasted Other Liability
off on the maturity date. No amounts in each bucket.
payments are processed.
Interest Only Process the instrument as a single Show interest cash Interest Income
interest payment covering the flows/accruals equal to Interest Expense
time from the origination date to forecasted amounts in each
the maturity date. Recognize the bucket.
current balance as an interest cash
flow on the maturity date, but
accrue interest from the
origination date to the maturity
date.
Non-Interest Process the instrument as a single Show non-interest Non-Interest Income
Income/ non-interest payment covering the financial elements equal to Non-Interest Expense
Expense time from the origination date to forecasted amounts in each
the maturity date. Recognize the bucket.
current balance as a non- interest
cash flow on the maturity date.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-6 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Cash Flow Process Description -


Category Process Description - Detail New Business Associated Account Type
Special Detail information is used only to Generate results as needed Taxes
Autobalancing update the current position. during the autobalancing Dividends
process if account is Equity
specified as autobalancing
account.

Note: See the Financial Element Calculations table for more


information about financial element output by account type.

Initialize Interface Data


Data retrieved from the interface impacts how an instrument is processed. The
following pieces of interface data affect processing:
■ Model with Gross Rates
■ Interest Credited
■ Percent Taxable
■ Currency Gain/Loss Basis
■ Pay-Equivalent Compounding Convention
■ User-Defined Payment Patterns
■ User-Defined Repricing Patterns

Model with Gross Rates


The Model with Gross Rates option is available in the Risk Manager Leaf
Characteristics ID, and in the Transfer Pricing product’s Transfer Pricing ID.

Interest Credited
The interest credited switch resides in the Leaf Characteristics ID used by the Risk
Manager product. The switch can be enabled for any leaf. However, it affects only
the cash flows of Simple/Non-Amortizing instruments.
When the switch is enabled for a non-amortizing instrument, interest cash flows are
added to the principal balance at each payment prior to maturity. On the maturity
date, the initial principal balance plus the accumulated interest cash flows are

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-7


Cash Flow Calculation Process

reflected as principal runoff at maturity. When the switch is enabled for amortizing
instruments, it is ignored by the cash flow engine.

Percent Taxable
The Risk Manager autobalancing option requires the Percent Taxable to determine
the percentage of total income/expense that is subject to tax. This can be set up in
the Leaf Characteristics ID, and should be defined for each Product/Reporting
currency (or Product/Default Currency 000) combination.

Currency Gain/Loss Basis


Risk Manager enables users to select the currency accounting method for each
Product/Currency combination modeled in multicurrency simulations. This is
referred to as the Currency Gain/Loss Basis; it is an option in the Leaf
Characteristics ID.

Pay-Equivalent Compounding Convention


This switch is in the Risk Manager Leaf Characteristics ID. When the cash flow
engine calculates interest, this switch indicates when it needs to convert rates from
the quoted compounding basis to the payment basis for the record.

User-Defined Payment Patterns


Payment pattern data is retrieved when the cash flow engine must process an
instrument with an amortization code in the payment pattern range from 1000 to
29999. The amortization code from the detail instrument record is matched to the set
of pattern data with the same code. If no match is found to the amortization code
from the detail record, the record is processed as a non-amortizing instrument.

User-Defined Repricing Patterns


Repricing pattern data is retrieved when the cash flow engine must process an
instrument with an adjustable type code in the repricing pattern range from 500 to
998. If no match is made, the engine defaults to the record characteristics in the
repricing frequency column and processes the instrument as a standard adjustable
instrument.
When a match is made, the instrument is modeled based on the repricing pattern.
The cash flow engine first evaluates what the status of the instrument is as of the
starting date of the cash flow process. The current repricing date is determined by
rolling forward from the origination date to the next repricing date that follows the

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-8 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

process start date. If that date does not correspond to the next repricing date, the
repricing date from the record is used.
A repricing event is triggered when the period of time between events has elapsed.
When this occurs, the defined rates are assigned to the detail record of the
instrument. If the repricing type is Flat Rate, the rate from the event detail of the
repricing pattern is applied to the detail record of the instrument. If the repricing
type is Indexed Rate, a rate lookup is triggered for the customer rate and the
transfer pricing rate. If the interest rate code (IRC) is a yield curve, the point on the
yield curve used is the repricing term associated with the current repricing
information, unless the IRC term has been specified in the repricing pattern event.
This rate, plus the specified margin, is the new fully indexed rate. Rate caps and
floors are applied after this calculation occurs.

Initialize Cash Flow Data


The cash flow engine gathers cash flow data for the instrument to be processed,
representing a subset of the information stored in the instrument tables for this
record. The Detail Cash Flow Data Table lists the columns referenced in this process.
Cash flow data provides current information about the characteristics of a cash flow
instrument. This information must be consistent to ensure consistent output. Prior
to processing cash flows, cash flow edit checks should be run to avoid producing
unreasonable results.
Cash flow data can be classified into categories defining its use during the
processing of an event:
■ Static characteristics
■ Dynamic characteristics
■ Triggers

Static Characteristics
Static characteristics provide information to the cash flow engine about how the
instrument should be modeled. For non-pattern and non-schedule instruments, all
of the following characteristics remain constant during the modeling process.
■ Event frequencies
■ Repricing
■ Payment
■ Payment change

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-9


Cash Flow Calculation Process

■ Financial code values


■ Accrual basis code
■ Amortization type code
■ Rate change round code
■ Leaf values
■ Product leaf
■ Common COA ID
■ Currency Code
■ Repricing parameters
■ Margin
■ Rate caps
■ Rate increase period
■ Rate change minimum
For pattern and schedule instruments, the payment frequency and/or repricing
frequency can vary throughout the life of the instrument.

Dynamic Characteristics
Dynamic characteristics are updated each time an event occurs, as a result of what
has occurred during the event. They include:
■ Balances
■ Current
■ Current deferred
■ Rates
■ Current net
■ Current gross
■ Current transfer
■ Event counters (remaining number of payments)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-10 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Triggers
Triggers signal the cash flow engine, indicating it is time to model a particular event
and can therefore change their value during the modeling horizon:
■ Event dates
■ Next payment
■ Next reprice
■ Payment change
■ Negative Amortization balance in conjunction with neg-am limit

Translation (Non-Currency-Based Processes)


If the process is non-currency-based (for example, the Process ID specifies a
functional dimension of “Product” or “Product/Organizational Unit”), the cash
flow engine compares the local currency (on the instrument) with the reporting
currency (specified in the Process ID) to determine whether balance and payment
amounts in the instrument need to be translated. If the instrument is already
denominated in the reporting currency, no translation is necessary. If it is in a
different currency, the process must translate all amounts prior to processing cash
flows. It translates those values from the local currency to the reporting currency by
dividing by the exchange rate in effect at the As-of-Date.

Note: In currency-based processes (that is, where the Process ID


specifies a functional dimension of “Product/Currency” or
“Product/Organizational Unit/Currency), no translation is
required because the instrument is processed in its local currency
and all results are accumulated in the local currency.

The following is a list of all instrument values requiring translation for


non-currency-based processing:
■ Original Par Balance
■ Current Par Balance (from instrument table or Transaction Strategy)
■ Original Payment Amount
■ Current Payment Amount
■ Negative Amortization Amount
■ Current Deferred Balance (from instrument table or Transaction Strategy)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-11


Cash Flow Calculation Process

Initializing Schedule Records


Processing of scheduled amortization instruments requires gathering additional
data from the OFSA_PAYMENT_SCHEDULE table. An amortization code of 800,
801, or 802 signals to the cash flow engine that this instrument record is a schedule
record. To properly model schedule instruments, the cash flow engine must retrieve
payment dates and payment amounts from the Schedule table. A match is made
between the ID number and Instrument type code from the instrument record to the
same data in the Schedule table. If no match is found, the instrument is processed as
a non-amortizing record.

Amortization Code 800


The different schedule amortization codes relay to the cash flow engine what type
of payment is stored in the schedule table. An amortization code of “800” signifies
that payment amounts are principal and interest amounts. On payment dates, these
payments are processed as conventional amortization payments.

Amortization Code 801


An amortization code of “801” is used for level principal payment schedules. On
the schedules for these instruments, the payment amount represents the principal
portion of the payment only. For 800 and 801 schedules, the payment amounts
should be expressed gross of any participations.

Amortization Code 802


Instruments with amortization code of “802” do not reference the payment amount
column in the schedule tables. These instruments are processed as interest only
records, with all principal, with the exception of prepayments, running off on the
maturity date.
The data in the maturity date, next payment date, last payment date, remaining
number of payments, and current payment columns from the instrument record
should coincide with the same information in the schedule table. When this
information is inconsistent, the information in the detail record supersedes the data
in the schedule table.
In this case, the payment on the next payment date occurs on the date defined in the
next payment date column of the instrument record, for the amount defined in the
current payment column of the instrument record.
All payments after this date and prior to the maturity date are made according to
the payment date in the schedule table. On the maturity date, the date from the
maturity date column of the instrument record is used to pay off the remaining

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-12 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

balance of the instrument record. If payment dates exist in the schedule beyond this
date, they are ignored.
Translation (Non-Currency-Based Processes)
Similar to the considerations discussed earlier under “Initializing Instrument
Records,” if the process is non-currency-based, the scheduled payment amount
must be translated from the local currency to the reporting currency. The cash flow
engine uses the exchange rate in effect at the As of Date, based on the local currency
stated in the instrument record associated with this schedule record.

Initializing Pattern Records


The following logic applies to both User-Defined Payment Patterns and
User-Defined Repricing Patterns. Applicability to repricing is indicated in
parenthesis.

Single Timeline Patterns


To initialize an instrument record whose payment (or repricing) characteristics are
defined by a single timeline pattern, the cash flow engine must synchronize the
detail instrument record with the payment (or repricing) pattern. Synchronization
determines the current payment of the instrument within the payment (or repricing)
pattern.
The synchronization process depends on whether the pattern is relative or absolute.
To synchronize a relative pattern, the cash flow engine calculates the payment (or
repricing) dates for the instrument record by rolling the origination date forward by
the pattern frequencies. Once it calculates a payment (or repricing) date greater than
the as-of-date, it stops. The number of times it was necessary to roll the date
forward determines the current payment (or repricing event) number for the record.

Example
An instrument record processed on an as-of-date of 03/31/1996 with an origination
date of 01/01/1996, and a next payment (or repricing) date of 05/15/1996 is
matched to the following pattern:

ROW # Frequency Repetitions


1 1M 3
2 3M 3

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-13


Cash Flow Calculation Process

The origination date is rolled forward in the following manner:


■ Starting point -- 01/01/1996
■ Add first monthly payment (or repricing) frequency -- 02/01/1996
■ Add second monthly payment (or repricing) frequency -- 03/01/1996
■ Add third monthly payment (or repricing) frequency -- 04/01/1996
After the third roll forward, the payment (or repricing) date is greater than the
as-of-date. The cash flow engine interprets that the record is on its third payment
(or repricing), which is the final monthly payment (or repricing). It models this
payment (or repricing) on the next payment (or repricing) date from the detail
record, in this case, 05/15/1996. The next payment (or repricing) is scheduled for
8/15/1996, using the three month frequency from the fourth payment (or repricing)
in the schedule.
Absolute patterns do not require the same rolling mechanism for synchronization.
The next payment (or repricing) date from an absolute pattern is determined by the
first month and day after the as-of-date. If this date does not correspond to the next
payment (or repricing) date from the detail record, the next payment (or repricing)
date of the detail record supersedes the date of the pattern. From that point on in
the process, the payment (or repricing) dates from the pattern are used.
The cash flow engine has been designed in this manner to provide greater flexibility
in modeling payment and repricing patterns. However, this flexibility increases the
importance of detail data accuracy to ensure that when discrepancies exist between
detail data and patterns, the differences are intended.

Multiple Timeline Patterns (Payment Patterns Only)


To initialize a detail instrument record tied to a split pattern, the cash flow engine
must generate a separate record for each split. The current balance for each split
record is calculated using the percentage apportioned to that split, as defined
through the payment pattern interface. The original balance, original payment, and
current payment columns are also apportioned according to the percent defined
through the interface.
For each timeline resulting from the split of a detail instrument record, the current
payment date must be determined. The method for determining the payment date
is the same as described for single timeline patterns with one exception. For these
instruments, the next payment date from the original instrument record does not
override the calculated next payment date. The date derived from rolling the
origination date forward for relative timelines or locating the next date for absolute
timeliness is assumed to be the correct payment date.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-14 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Translate Values (Non-Currency-Based Processes)


If the Payment Pattern is defined using an absolute payment amount, the engine
may need to translate the amount to the reporting currency specified in the Process
ID. This is similar to the considerations discussed earlier under “Initializing
Instrument Records,” that is, if the process is non-currency-based, the Pattern’s
Payment Amount needs to be translated. The cash flow engine uses the exchange
rate in effect at the As of Date, based on the local currency stated in the instrument
or new business record associated with this pattern record.

Modeling Start and End Dates


Modeling start and end dates are determined by the type of processing (Risk
Manager or Transfer Pricing) and the instrument being processed, as shown in the
following table:

OFSA Transfer OFSA Transfer OFSA Transfer OFSA Transfer Pricing


Pricing - Pricing - Pricing- Adjustable - Fixed Remaining OFSA Risk
Adjustable Fixed Remaining Term Term Manager
start last reprice date origination date As of Date + 1 day As of Date + 1 day As of Date + 1
date (Config ID) (Config ID) day (Config
ID)
end date next reprice maturity date next reprice date maturity date last day of last
date modeling
bucket (Config
ID)

Only records that have a value in the As of Date column of the database equal to the
as of date in the active Configuration ID are processed.

Additionally Derived Data

Initialization of Adjustable Rate Instruments for Transfer Pricing


For transfer pricing of adjustable rate instruments, data is reset to values consistent
with the last reprice date. The next payment date is rolled back by the payment
frequency to the first payment date after the last reprice date. The remaining
number of payments is increased by the number of payments added in the rollback
process.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-15


Cash Flow Calculation Process

The field Last Reprice Date Balance is used in place of the current balance in a
transfer pricing process. If the balance as of the last reprice date is not available,
update this column with the current balance. The transfer pricing program has a
special feature that re-amortizes the current payment if the following conditions are
met:
■ The last reprice date equals the current balance
■ Payments occur between the last reprice date and the as-of-date
■ The instrument is not tied to an amortization pattern or an amortization
schedule
These three conditions signal to the transfer pricing engine that the balance as of the
last reprice date was not available and the current balance should be used as a
proxy.

Percent Sold Adjustment


Balances must be adjusted for participations:
■ Current net balance = current par balance * (100 - percent sold)
■ Current payment net = current payment * (100 - percent sold)
■ Original net balance = original par balance * (100 - percent sold).
■ Last reprice balance net = last reprice balance * (100 - percent sold)
■ Original payment net = original payment * (100 - percent sold)

Forecast Balance assumptions


■ Non-currency-based processing
If the Process ID includes Forecast Balance new business, only the assumptions
for the reporting currency are applied. For associated new business
assumptions in the Pricing Margin ID, Maturity Strategy ID, and Leaf
Characteristics ID and if no assumptions exist for the reporting currency, the
cash flow engine uses assumptions defined for the Default Currency (Code
“000”). If it still cannot find a match, it employs a default or may write out an
error message.
■ Currency-based processing
In currency-based processes, results are produced in their local currency.
Therefore, Risk Manager reads all Forecast Balance assumptions regardless of
their associated currency.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-16 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Process Modeling Events


There are four events modeled in the cash flow engine:
■ Payment
■ Payment change
■ Reprice
■ Prepayment
When multiple events occur on the same day the order of processing is as follows:
Interest in Arrears
1. Payment calculation
2. Payment
3. Prepayment
4. Reprice
Interest in Advance
1. Reprice
2. Payment
3. Prepayment
For interest in advance instruments, payment calculation is not applicable. Payment
calculation occurs only on conventionally amortizing instruments.
Processing of an event includes these steps:
■ Dynamic information is updated
■ Financial elements summarizing the event is generated
■ Event dates are incremented to the next event date

Payment Calculation Event


Cash flow data characteristics are:

Static Information - Conventional Adjustable and Payment Patterns


■ Current gross rate
■ Current par balance

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-17


Cash Flow Calculation Process

■ Amortization term and multiplier


■ Amortization type
■ Adjustable Type Code
■ Compounding Basis Code

Additional Information - Adjustable Neg-Am:


■ Payment increase cycle
■ Payment increase life
■ Payment decrease cycle
■ Payment decrease life
■ Payment change frequency and multiplier
■ NGAM Equalization frequency and multiplier
■ Original payment amount
■ Dynamic Information
■ Current payment

Event Trigger - Transfer Pricing


■ Cash flow transfer pricing of an Adjustable instrument

Event Triggers - Conventional Adjustable and Conventional Payment Patterns


■ Reprice Event

Event Triggers - Adjustable Neg Am


■ Next payment change date
■ NGAM balance > NGAM limit
■ NGAM Equalization date

Payment Calculation Steps


1. Calculate new current payment.
Conventionally Amortizing Payment =

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-18 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Current Par Balancem


 ∧  -1 * rem pmts  
 
1
Current Rate

(
∗ 1 − 1 + Current Rate

C 
C

) a 


where Current RateC = Current compounded customer rate per payment.
rem pmtsa = remaining number of payments based on amortization
Current Par Balancem = current balance at time of payment recalculation
For conventional schedules that reprice, payment recalculation does not occur.
For patterns that reprice, payment recalculation does not occur during the
repricing event. For these instruments, the payment is calculated at the time of
payment. See the Payment Event section for more details.

Current Compounded Customer Rate per Payment


The customer rate must be adjusted to a rate per payment. If no compounding
occurs, the rate can be divided by the payments per year.
Example: current customer rate: 7.5%

Payment Frequency Calculation Rate per Payment


monthly 7.5 ÷12 0.625
quarterly 7.5 ÷ 4 1.875
yearly 7.5 ÷ 1 7.5

If the instrument compounds, the rate must be adjusted for compounding. For
monthly rates that compound daily, an average number of days assumption of
30.412 is used.

Remaining Number of Payments Based on Amortization


If the amortization term is equal to the original term, then the remaining
number of payments is used.
If the amortization term <> original term, the remaining number of amortized
payments are calculated by adding the amortization term to the origination
date to determine the amortization end date. The remaining number of

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-19


Cash Flow Calculation Process

payments are calculated by determining how many payments can be made


from and including the next payment date and this date.
The remaining number of payments is calculated for patterns based on the
payment frequency at the time of repricing. As with conventional instruments,
the amortization end date is used for payment recalculation. The remaining
term is calculating using the difference between this date and the next payment
date. This term is divided by the active payment frequency and one additional
payment is added to it for the payment on the next payment date.
2. Apply periodic payment change limits.
Periodic payment change limits restrict the amount the payment can increase
over its previous value. These limits are applied only when the payment
recalculation is triggered by a payment adjustment date or a negative
amortization limit. Because of these limits, principal may continue to negatively
amortize when the negative amortization limit has been reached.

Increasing Payment Decreasing Payment


Condition Newly Calculated Payment Newly Calculated Payment < (1 +
> (1 + (Payment Increase (Payment Decrease Lifer/100)) *
Lifer/100)) * Original Original Paymentr
Paymentr

Adjustment if True Current Paymentm = (1+ Current Paymentm = (1 + (Payment


(Payment Increase Decrease Lifer/100)) * Original
Lifer/100)) * Original Paymentr
Paymentr

3. Apply lifetime payment change limits.


Lifetime payment caps and floor set a maximum and a minimum amount for
the payment. These limits are applied only when the payment recalculation is
triggered by a payment adjustment date or a negative amortization limit.
Because of these limits, principal may continue to negatively amortize when the
negative amortization limit has been reached.

Increasing Payment Decreasing Payment


Condition Newly Calculated Payment > (1 + Newly Calculated Payment < (1 +
(Payment Increase Lifer/100)) * (Payment Decrease Lifer/100)) *
Original Paymentr Original Paymentr

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-20 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Increasing Payment Decreasing Payment


Adjustment if Current Paymentm = (1+ (Payment Current Paymentm = (1 + (Payment
True Increase Lifer/100)) * Original Decrease Lifer/100)) * Original
Paymentr Paymentr

4. NGAM equalization event:


If the payment recalculation is triggered by a NGAM equalization date,
payment change limits do not apply. If the newly calculated payment is greater
than the lifetime payment cap or less than the lifetime payment floor, the
appropriate lifetime payment limit (cap/floor) is set equal to the newly
calculated payment.
5. Update current payment field.
Once all payment limits have been applied, the new current payment is
updated in memory for processing of future events.

Payment Event
Cash flow data characteristics are:
■ Static Information
■ Dynamic Information
■ Event Triggers
■ Additional Assumption Information

Static Information
■ Amortization type
■ Current Payment
■ Accrual Basis code
■ Current gross rate
■ Current net rate
■ Current transfer rate
■ Origination Date
■ Payment Frequency and multiplier

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-21


Cash Flow Calculation Process

■ Interest Type
■ Compounding Basis Code
■ Last Payment Date

Dynamic Information
■ Current Par Balance
■ Remaining Number of Payments
■ NGAM Balance

Event Triggers
■ Next Payment Date
■ Maturity Date

Additional Assumption Information


■ Interest credited switch
■ Compounding Method

Payment Event Steps


The following are descriptions of the Payment Event Steps:
1. Calculate interest cash flow(s).
The amount of interest to be paid on a payment date is calculated as follows:

Interest Cash Flow Calculation


Interest cash flow gross Current net par balance * gross rate per payment
Interest cash flow net Current net par balance * net rate per payment
Interest cash flow Current net par balance * t-rate per payment
transfer rate

Note: Rule of 78’s Exception: The Rule of 78’s loans have a


pre-computed interest schedule.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-22 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Rate per Payment -- Accrual Adjustment


The annual coupon rate must be adjusted to a rate per payment. The accrual
basis code defines how this adjustment should be made.

Accrual Factor Codes


Example: rate per payment for a June 30 payment (annual rate = 6.0%, payment
frequency = 3 months)

Accrual Basis Code Payment Adjustment Rate per Payment


30/360 (3*30)/360 * 6.0 1.500%
30/365 (3*30)/365 * 6.0 1.4795%
30/Actual 90/365 * 6.0 1.4795%
Actual/Actual (30+31+30)/365 * 6.0 1.4959%
Actual/365 (30+31+30)/365 * 6.0 1.4959%
Actual/360 (30+31+30)/360 * 6.0 1.5167%

This formula assumes a single rate per payment period. If an instrument


reprices multiple times within a payment period, only the last repricing event
affects the interest cash flow.

Rate per Payment -- Compounding Adjustment


Compounding is applied to the rate used in interest calculation if the
compounding frequency is less than the payment frequency. The compounding
formula that is applied to the current rate is as follows:

Compounding Code Calculation


Simple No compounding is calculated.
At Maturity No compounding is calculated
Continuous e^(rate per payment) -1
Daily (1 + rate/365 or 366) ^ (days in payment) -1
Monthly, Quarterly, (1 + rate per pmt/cmp pds per pmt) ^ (cmp pds per pmt) -1
Semi-Annually, Annually

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-23


Cash Flow Calculation Process

Rate per Payment - Stub and Extended Payment Adjustment


An adjustment may be made if the expected days in the payment are different
than the actual days in the payment.
The number of days between the next payment date and the last payment date
is compared to the payment frequency, specified in days. The payment
frequency specified in days depends on the month the payment occurs. If these
numbers are not equal, the interest cash flow is adjusted by the ratio (next
payment date - last payment date) /payment frequency in days.
On the last payment processed in the modeling horizon, the number of days
between the maturity date and the last payment prior to the maturity date is
compared to the payment frequency specified in days. The payment frequency
specified in days depends on the month in which the maturity date occurs. If
these numbers are not equal, the interest cash flow is adjusted by the ratio
(maturity date - last payment date)/ payment frequency in days.
2. Calculate current payment for patterns and schedules.
For amortization patterns, the payment amount can be defined independently
for each payment date. Therefore, on each payment, the payment amount must
be calculated according to the characteristics defined for that date. Payment
amounts can be driven by several different factors. These following factors are
each explained:

Percent of Original Payment


■ Oracle Risk Manager
On the first modeled payment on a detail instrument record, the amount in
the current payment column is assumed to accurately represent the
payment amount as of the next payment date. If this instrument record is
partially sold, the current payment is multiplied by (100-percent sold) to get
the net payment amount.
If this is the first payment made by a new business record, the payment
amount is calculated using the original balance, original rate, and original
number of payments. The original number of payments is calculated by
using the amortization term, as specified through the Maturity Strategies ID
or Transaction Strategies ID, and the original payment frequency.
On subsequent payment dates, OFSA calculates the amount paid by
multiplying the pattern percent by the amount in the original payment
amount column, adjusted for percent sold, if applicable. The pattern percent

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-24 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

is the percent of original payment specified in the interface for that


payment.
■ Oracle Transfer Pricing
For standard transfer pricing, the model calculates the payment amount for
each payment that falls between the last reprice date and the next reprice
date (adjustable rate instruments) or between the origination date and
maturity date (fixed rate instruments) by using the original payment from
the instrument record, and applying the pattern percent from the interface.
For remaining term transfer pricing, the model calculates the payment
amount in the same manner as described above for Risk Manager.

Percent of Current Payment


■ Risk Manager and Transfer Pricing
On the payment date, OFSA determines the amount to be paid by first
calculating a new payment according to the “active” characteristics,
including the current balance, current rate, current payment frequency, and
calculated remaining number of payments. The remaining number of
payments is calculated by determining the amount of time remaining in the
amortization term and dividing this term by the current payment
frequency.
After the payment has been calculated, the pattern percent is applied.

Percent of Current Balance


■ Risk Manager
Percent of Current Balance is applicable only for Level Principal payment
patterns. On the first modeled payment, the amount in the current payment
column is assumed to accurately represent the payment amount as of the
next payment date. If the instrument is partially sold, the amount should be
multiplied by (100- percent sold) to get the net payment amount.
For all subsequent payments, the payment amount should be calculated at
the time of payment by multiplying the outstanding balance by the pattern
percent.
■ Transfer Pricing
Calculations for Transfer Pricing works similarly to Risk Manager.
However, for fixed rate instruments, modeling begins at the origination

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-25


Cash Flow Calculation Process

date, using the original balance. For adjustable rate instruments, modeling
begins at the last reprice date, using the last reprice date balance.

Percent of Original Balance


■ Risk Manager and Transfer Pricing
Percent of Original Balance is applicable only for Level Principal payment
patterns. On the first modeled payment, the amount in the current payment
column is assumed to accurately represent the payment amount as of the
next payment date. If the instrument is partially sold, the amount should be
multiplied by (100- percent sold) to get the net payment amount.
For all subsequent payments, the payment amount should be calculated at
the time of payment by multiplying the original balance, net of
participations, by the pattern percent.

Absolute Value
■ Risk Manager
Absolute value is available for detail instruments; it cannot be used for new
business instruments. On the first modeled payment, the amount in the
current payment column is assumed to accurately represent the payment
amount as of the next payment date. If the instrument is partially sold, the
amount should be multiplied by (100- percent sold) to get the net payment
amount.
For all subsequent payments, the absolute value amount from the pattern is
used. If the instrument has a percent sold, the percent sold is applied to the
absolute payment amount.
■ Transfer Pricing
For standard transfer pricing, the absolute payment amount is used,
adjusted for the participation percent.

Interest Only
■ Risk Manager and Transfer Pricing
On all interest only payments, the payment amount is calculated as the
interest due on that date. No reference is made to the current payment
column from the detail instrument record. Any payments in the current
payment column are ignored.
3. Calculate principal runoff.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-26 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Principal runoff is a function of the amortization type of the instrument and the
current payment. The current payment on a conventionally amortizing record
represents the total P&I payment, while the current payment on a level
principal record represents the principal portion of the total payment.
Simple Amortization (code = 700, 802, and any Non-Amoritizing Pattern
Codes)
General case: Principal Runoff = 0
Interest Credited:-1 * interest cash flow gross
Conventional Amortization (code = 100, 500, 600, 800, and any conventionally
amortizing pattern codes)
Principal Runoff = current paymentm - interest cash flow gross
Level Principal Amortization (code = 820, 801, and any level principal
amortizing pattern codes)
Principal Runoff = current paymentm
Rule of 78’s (code = 710)
Principal Runoff = current paymentm - interest cash flow gross
4. Special negative amortization check.
If principal runoff is negative and the instrument record is adjustable neg-am;
then additional checks must be made to ensure that the record is not exceeding
neg-am limits. The check that is made is the following:
-1 * principal runoff + neg am balancem > neg am limitt /100 * original
balancer
If this condition is true, the payment is not made. The payment is recalculated
(see payment calculation event). After the new payment has been calculated,
the scheduled principal runoff is recalculated, based on the new payment
information.
5. Maturity date case.
If the payment date is also the maturity date, then the remaining balance must
be paid off.
Principal At Maturity = Current Balancem - Scheduled Principal Runoff
6. Update current balance.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-27


Cash Flow Calculation Process

The current balance must be updated to reflect the principal portion of the
payments and any interest credited.
Current Balancem = Current Balancem - Principal Runoff - Principal At
Maturity + Interest Credited
7. Update remaining number of payments.
After a payment has been made, the underlying information must be updated
in preparation for the next event.
The remaining number of payments is reduced by 1. If remaining number of
payments is zero, the modeling for this instrument is complete.
Remaining Paymentsm = Remaining Paymentsm - 1
8. Update next payment date.
For standard amortization instruments, the next payment date is set equal to
the current payment date plus the payment frequency.
Next payment datem = Current payment date + payment frequency
If instrument is an amortization schedule, the next payment date is determined
from the dates in the schedule table.
If the instrument is an amortization pattern, the next payment date is
determined by incrementing the current payment date by the current payment
frequency for relative patterns. For absolute patterns, the next payment date is
determined by the next consecutive date in the pattern.
If the remaining number of payments is equal to 1, or the next payment date is
greater than the maturity date, the next payment date is set equal to the
maturity date

Interest in Advance Calculations


The following steps are applicable to interest in advance records only. Interest in
advance instruments make their first payment on the origination date. The last
payment, on the maturity date, is a principal only payment.
1. Determine new current payment on schedules and patterns.
Current payment is calculated as described in Step 2 above.
2. Calculate principal runoff.
For interest in advance records, the principal runoff occurs before the interest
cash flow is calculated. Because conventionally amortizing instruments cannot

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-28 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

have interest in advance characteristics, amortizing interest in advance


instruments are always level principal. Therefore, the principal runoff equals
the current payment amount.
For the payment on the maturity date, all remaining principal is also paid off.
3. Update current balance.
Prior to calculating the interest cash flow, the current balance must be updated
for the amount of principal runoff. If the payment is the maturity date, the
balance is set to zero, and no further calculations are necessary.
4. Calculate interest cash flow.
If the payment date is not the maturity date, an interest cash flow is made. The
interest cash flow calculation for interest in advance instruments is similar to
the interest in arrears calculation. The calculation differs in the count for
number of days. Rather than counting from the last payment date to the current
payment date, the number of days is counted from the current payment date to
the next payment date.
5. Update remaining number of payments.
After a payment has been made, the underlying data must be updated in
preparation for the next event. The remaining number of payments is reduced
by 1.
6. Update next payment date.
For standard amortization instruments, the next payment date is set equal to
the current payment date plus the payment frequency.
Next payment datem = Current payment date + payment frequency
If the instrument is an amortization schedule, the next payment date is
determined from the dates in the schedule table.
If the instrument is an amortization pattern, the next payment date is
determined by incrementing the current payment date by the current payment
frequency for relative patterns. For absolute patterns, the next payment date is
determined by the next consecutive date in the pattern.
If the remaining number of payments is equal to 1, or the next payment date is
greater than the maturity date, the next payment date is set equal to the
maturity date.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-29


Cash Flow Calculation Process

Prepayment Event
Cash flow data characteristics are:

Static Information
■ Current gross rate
■ Current net rate
■ Payment frequency and multiplier
■ Origination date
■ Original Term
■ Next Reprice Date
■ Reprice Frequency
■ Maturity Date

Dynamic Information
■ Current Par Balance
■ Current Payment

Additional Assumption Information


■ Prepayment Assumption ID
■ Prepayment Table ID
■ Forecast Rates ID

Event Trigger
■ Next Payment Date

Prepayment Event Steps


Perform the following in order to execute prepayment event steps:
1. Update value of prepayment dimensions.
Depending on the prepayment assumptions for the product leaf, values for the
prepayment dimensions may need to be updated. The prepayment assumptions
for the product leaf are defined in a Prepayment ID, which is then selected for
the current processing run.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-30 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

If the prepayment method is Constant Rate, these updates are not necessary. If
the prepayment method is Arctangent, only the rate ratio is necessary to
calculate. For Prepayment Table method, the required updates depend on the
dimension within the table for the proper origination date range.
Listed below are all possible prepayment dimensions and their calculations:
Market Rate
The market rate is selected per product within the Prepayment ID. You must
select an IRC from the list of IRCs contained in the active Historical Rates
database. The chosen IRC provides the base value for the market rate.
Additionally, you must specify the term point you want to use for IRCs that are
yield curves. There are three possible methods for you to select:
■ Original Term
The calculation retrieves the forecasted rate from the term point equaling
the original term on the instrument.
■ Reprice Frequency
The calculation retrieves the forecasted rate from the term point equaling
the reprice frequency of the instrument. If the instrument is fixed rate and,
therefore, does not have a reprice frequency, the calculation retrieves the
forecasted rate associated with the term point equaling the original term on
the instrument.
■ Remaining Term
The calculation retrieves the forecasted rate from the term point equaling
the remaining term of the instrument. See the description of the remaining
term calculation listed below for more details.
The market rate is determined by retrieving the proper forecasted rate and
adding the user-input spread.
Market Rate = f(Current Date, IRC, yield curve term) + spread
Coupon Rate
The coupon rate is the current gross rate of the instrument record (as of the
current date in the forecast).
Rate Difference
The rate difference is the spread between the coupon rate and the market rate.
Prior to calculating this dimension, the market rate must be retrieved.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-31


Cash Flow Calculation Process

Rate Difference = Coupon Rate - Market Rate


Rate Ratio
The rate ratio is the proportional difference between the coupon rate and the
market rate. Prior to calculating this dimension, the market rate must be
retrieved.
Rate Ratio = Coupon Rate / Market Rate
Original Term
The original term is retrieved from the original term of the instrument. If the
original term is expressed in months, no translation is necessary. Otherwise, the
following calculations are applied:
Original Termmonths = ROUND((Original Termdays)/30.412)
Original Termmonths = Original Termyears*12

Reprice Frequency
The value for reprice frequency depends on the adjustable type code and the
tease characteristics of the instrument data.
■ Fixed Rate
If the instrument is fixed rate, as designated by an adjustable type code =
fixed (code value = “0”), the original term, as defined above, is used as the
reprice frequency.
Reprice Frequency = Original Term (months)
■ Non-Tease Floating
If the adjustable type of the instrument is floating (code value of “30” or
“50” and not in a tease period), the reprice frequency is assumed to be one
day, which when rounded to a month value, becomes 0 months.
Reprice Frequency = 0 months
■ Non-Tease Adjustable
If the adjustable type of the instrument is adjustable (code value of “250”)
and not in a tease period, the reprice frequency columns is used. All cases
where terms are not expressed in months should be translated into months,
calculated as follows:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-32 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Reprice Frequencymonths = Reprice Frequencyyears*12


Reprice Frequencymonths = Round (Reprice Frequency days/30.412
■ Teased Loans
The tease period is identified by a tease end date > current date. The reprice
frequency during the tease period is calculated as follows, rounded to the
nearest whole number of months.
Reprice Frequency = ROUND((Tease End Date - Origination Date)
/30.412)
Remaining Term
The remaining term value represents the remaining number of months until
maturity. The value is rounded to the nearest whole number of months.
Remaining Term = ROUND((Maturity Date - Current Date)/30.412)
Expired Term (Age)
The expired term represents the age of the instrument. It represents the time
elapsed since the origination of the instrument. The value is rounded to the
nearest whole number of months.
Expired Term = ROUND((Current Date - Origination Date)/30.412)
Term to Reprice
As with reprice frequency, the calculation of term to reprice depends on the
adjustable type code and tease characteristics of the instrument characteristics.
■ Fixed Rate
If the instrument is fixed rate, as designated by an adjustable type code =
fixed (code value = “0”), the term to reprice is calculated in the same
manner as remaining term. The value is rounded to the nearest whole
number of months.
Term to Reprice = Round (Maturity Date - Current Date/30.412)
■ Non-Tease Floating
If the adjustable type of the instrument is floating (code value of “30” or
“50”), and is not in its tease period, the reprice frequency is taken as 1 day.
The term to reprice is assumed to be one day, which when rounded to a
month value, becomes 0 months.
Term to Reprice = 0 months

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-33


Cash Flow Calculation Process

■ Non-Tease Adjustable
If the adjustable type of the instrument is adjustable (code value of “250”)
and not in its tease period, the term to reprice is calculated as the difference
between the current date and the next reprice date. The value is rounded
to the nearest whole number of months.
Term to Reprice = ROUND((Maturity Date - Current Date)/30.412)
■ Teased Loans
The tease period is identified by a tease end date > current date. The term to
reprice, while in this period, is calculated as the difference between the
current date and the tease end date. The value is rounded to the nearest
whole number of months.
Term to Reprice = ROUND((Tease End Date - Current Date)/30.412)
2. Determine Base Annual Prepayment Rate.
The method for determining the annual prepayment rate depends on the
prepayment method.
Constant Rate
Constant prepayment rates can vary for different origination date ranges. The
rate is determined by finding the proper range of origination dates and using
the constant rate from this range.
Base Annual PP Rate = Constant Rate
Arctangent
The arctangent formula describes the relationship between prepayments and
the ratio of coupon rate to market rate. Four coefficients you enter define the
shape of the curve. These coefficients can vary by origination date range.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-34 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Base Annual PP Rate = Coeff1 - Coeff2 * ARCTANGENT(Coeff3* (Coeff4 -


Rate Ratio))

0.6
0.5
Prepay Rate

0.4
0.3
0.2
0.1
0
0.5 1 1.5 2 2.5 3
Customer Rate/Market Rate

Prepayment Table
Under the Prepayment Table method, a Prepayment Table ID is referenced
within the Prepayment ID for a particular product and origination date range.
This prepayment table may be factored by a coefficient to scale the prepayment
rates that reside in the table up or down. The prepayment table factor is also
defined per product and origination date.
The Prepayment Table ID contains a table of prepayment rates dimensioned by
other characteristics, as listed in Step 1 above. The Prepayment Table ID can
hold a maximum of three dimensions. For each dimension, you can define the
lookup method along that dimension, either range or interpolate.
Range Lookup
Range Lookups treats the nodes within the dimension as a starting value
for a range that extends to the next node dimension. For example, take an
original term dimension with node values of 0,12, and 24. The range lookup
treats these values as three sets of ranges: 0 to 11, 12 to 23, and >= 24.
Interpolation Lookup
If the interpolation method is selected, the lookup applies straight line
interpolation to determine the proper prepayment rate for values that fall
between nodes.
Lookups Outside the Given Range
For both lookup methods, lookup for values less than the lowest node value
receives the prepayment rate associated with the lowest node. Values

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-35


Cash Flow Calculation Process

greater than the highest node receive the prepayment rate associated with
the highest node.
Along each dimension of the table, range lookup or interpolation is performed
to pinpoint the proper prepayment rate from the table. Once the prepayment
rate is retrieved from the prepayment table, the prepayment table factor is
applied to this rate.
Base Annual PP Rate = PPTableFactor * PPTableLOOKUP(dimensionx,
dimensiony, dimensionz)
3. Adjust for Seasonality.
For each prepayment method, seasonality factors can be applied to adjust the
prepayment rate. The seasonality factors are defined per month. The month of
the current date is used to determine the proper seasonality factor to use.
Annual PP Rate = Seasonality Factor(Current Month) * Base Annual PP
Rate
4. Check Prepayment in Full Option.
If the adjusted final prepayment rate is equal to 100%, the instrument is paid off
in full.
5. De-annualize the Prepayment Option.
The annual prepayment rate is adjusted to a rate per payment. The formula is as
follows:
Prepayment Factor = (1-(1- Annual PPRate)^(1/payments per year)
6. Adjust Prepayment Rate for Stub or Extended Payments.
The prepayment rate per payment is adjusted if the payment is a stub or
extended payment. This adjustment is made in the same manner that interest
cash flows are adjusted, as follows:
Adjusted prepayment factor = Prepayment Factor * (next payment date -
last payment date) / (payment frequency in days)
7. Determine prepayment amount.
The amount of runoff due to prepayments is calculated. The prepayment factor
is applied to the current balance.
Prepayment Runoff = Current Balance * prepayment factor
8. Update current balance.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-36 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

The current balance must be reduced by the amount of prepayment runoff.


Current Balance = Current Balance - Prepayment runoff
9. Apply prepayment factor to current payment.
An option exists in the Prepayment ID to reduce the payment proportionally to
reflect the amount of principal that has been prepaid. If the prepayment
treatment is “Refinance”, the current payment is reduced as follows:
Current Payment = Current Payment * (1 - prepayment factor)
If the payment treatment is “Curtailment”, the current payment remains
constant, effectively reducing the term of the instrument.

Reprice Event
Cash flow data characteristics are:

Static Information:
■ Adjustable type code
■ Interest rate code
■ Transfer Rate Interest Rate code
■ Net Margin
■ Net Margin Code
■ Gross Margin
■ Transfer Rate Margin
■ Reprice frequency and multiplier
■ Rate cap life
■ Rate floor life
■ Rate increase period
■ Rate decrease period
■ Rate set lag and multiplier
■ Rate change minimum
■ Rate change rounding code
■ Rate change rounding factor

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-37


Cash Flow Calculation Process

Dynamic Information
■ Current gross rate
■ Current net rate
■ Current transfer rate

Event Triggers
■ Bucket start date
■ Tease end date
■ Next reprice date

Additional Assumption information


■ Forecast Rates ID

Notes About Reprice Event

Transfer Pricing
The modeling of adjustable rate instruments in TP begins at the last reprice date
and ends at the next reprice date, with the next repricing date treated like a
maturity date for funding purposes. Therefore, no repricing events occur during a
transfer pricing process.

Customer Rate Definition


Repricing characteristics (rate caps, floors, periodic change limits) are based on the
customer rate. In a standard processing run, the current net rate is defined as the
customer rate. However, when the Modeling with Gross Rates option is used, the
customer rate is defined as the current gross rate.

Reprice Steps
1. Determine new IRC value(s).
The raw customer rate (Raw RateC) is determined from the set of forecasted IRC
values contained in the Forecast Rates ID chosen within the processing ID.
Additionally, a raw transfer rate (Raw RateT) is derived if the Modeling with
Transfer Rates option is used. The variables used to determine the raw rates are:
Raw RateC = ƒ(Rate set date, IRC, yield curve term)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-38 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

Raw RateT = ƒ(Rate set date, transfer rate IRC, yield curve term)

Rate Set Date


The rate set date is the date from which the IRC value is taken. The date is
determined as follows:
Rate Set Date = Next Reprice Datem - Rate Lagr
If the rate set date is less than the As of Date, the historical rate is retrieved from
up to one year prior to the As of Date.

Yield Curve Term


If the IRC is a single point IRC (Prime, LIBOR), then the forecasted rate is used.
If the IRC is a yield curve (Treasury Yield Curve), the point on the yield curve
equivalent to the repricing frequency is used. If no such point exists, straight
line interpolation is used between the two nearest terms.
Example:
An instrument has a repricing frequency of 18 months, which does not exist on
the yield curve. The two nearest points are the 12 month point and the 24
month point.
The 18 month point is determined as follows:

Term Rate
12 months 6.00%
24 months 9.00%

Interpolated Rate = Rate(Begin) + (Rate(End) - Rate(Begin))*(Term(interpolated


rate)-Term(Begin))/(Term(End)-Term(Begin))
Rate(18 M) = 6.00% + (9.00%-6.00%) * (24 M - 18 M) / (24 M - 12 M) = 6.00% +
3.00% * (6 M) / (12 M) = 6.00% + 1.50% = 7.50%
2. Add applicable margin to raw customer rate.
The margin of the customer is added to the raw customer rate. If using the
Modeling with Gross Rates option, the gross margin is used. Otherwise,
repricing depends on the Net Margin Flag. If the Net Margin Flag is set to
floating net rate, the net margin is used. If the Net Margin Flag is set to fixed net
rate, no repricing occurs.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-39


Cash Flow Calculation Process

Raw RateC = Raw RateC + MarginC


3. Update current transfer rate if modeling transfer rates.
At this point the current transfer rate (Current RateT) can be updated. Unlike the
customer rates, no further adjustments are necessary.
Current RateT = Raw RateT + marginT
4. Apply rounding codes.
The raw customer rate is adjusted using the method defined by the rounding
codes and to the precision specified by the rounding factor. If the rounding
factor is set equal to zero, no rounding occurs.

Example (Raw rate = 5.123;


Method Description rounding factor = 0.01)
No Rounding Rate is not rounded. 5.123
Round Up Rate is rounded to the nearest value 5.13
greater than the Raw rate with the
specified precision.
Round Down Rate is rounded to the nearest value 5.12
less than the Raw rate with the
specified precision.
Truncate Rate is truncated to whole value. 5.000
Round Nearest Rate is rounded to nearest value to 5.12
the Raw rate with the specified
precision.

5. Apply rate change minimum.


The raw customer rate including margin is compared with the current customer
rate (Current RateC). If the amount the current customer rate would change by is
less than the rate change minimum then the rate does not change. Therefore,
raw customer rate is set equal to the current customer rate.

Absolute Value (Raw Rate - Current RateC ) <


Condition Rate Change Minimum
Adjustment if True Raw Rate = Current RateC

6. Set value of fully indexed rate(s).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-40 Oracle Financial Services Technical Reference Manual


Cash Flow Calculation Process

The fully indexed rates are updated after rate change minimums and rounding
codes are applied, and before caps and floors are applied to the raw rate.

Customer Rate
Definition Floating Net Rate Fixed Net Rate
Gross Rate Fully Indexed RateG = Raw RateC Fully Indexed RateG = Raw RateC
Fully Indexed RateN = Raw RateG Fully Indexed RateN = Current
- MarginG + MarginN RateN

Net Rate Fully Indexed RateN = Current Fully Indexed RateN = Raw RateC
RateN

7. Calculate tease effect financial elements for instruments in a tease period.


For instruments in a tease period, determined by tease end date > current date
in modeling horizon, no adjustments are made to the current rate. However, the
effect of the tease is recorded in two financial elements that are used at the next
payment to calculate the income effect of the tease. On a tease record, the
processing of a reprice event is complete at this point.

Financial Element Calculation


tease rate Fully Indexed RateC - Raw RateC

tease balance Current Balancem

8. Check periodic caps and floors.


The customer rate cannot change by more than the amount specified by the
periodic change limits (periodic floor and periodic cap). If the raw customer
rate would effect a change to the current customer rate that exceeds the periodic
change limitations, the current customer rate is adjusted only by the amount
specified by the periodic change limit. If periodic limits are applied to the raw
customer rate, then this adjustment occurred should be recorded in the periodic
cap/floor financial elements.

Decreasing Rate
Environment Increasing Rate Environment
Condition Raw RateC < Current RateC and Raw RateC > Current RateC and
Current RateC - Raw RateC > Raw RateC - Current RateC >
periodic floor periodic cap

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-41


Cash Flow Calculation Process

Decreasing Rate
Environment Increasing Rate Environment
Adjustment if True Raw RateC = Current RateC - Raw RateC = Current RateC +
periodic floor periodic cap

9. Check lifetime caps and floors.


The customer rate cannot be greater than the lifetime cap or less than the
lifetime floor. If the raw customer rate fails either of these conditions, the raw
customer rate is set equal to the appropriate value.

Decreasing Rate
Environment Increasing Rate Environment
Condition Raw RateC > Rate Floor Life Raw RateC > Rate Cap Life

Adjustment if True Raw RateC = Rate Floor Life Raw RateC = Rate Cap Life

10. Update current rates.

Customer Rate = Gross Rate Current RateG = Raw RateC


Current RateN = Raw RateC - MarginG + MarginN

Customer Rate = Net Rate Current RateN = Raw RateC

11. Update next repricing date.


The next reprice date is rolled forward in preparation for the next repricing
event. If the adjustable type code is “Adjustable”, the next reprice date is
calculated as:
Next reprice date = Current reprice date + reprice frequency
If the adjustable type code is “Floating” or “Variable,” the next reprice date is
set equal to the first date in the next modeling bucket.
12. Trigger payment recalculation.
If the amortization type is a standard conventional amortization, the current
payment on the instrument data is updated based on the new rate. (See
payment Calculation Event.)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-42 Oracle Financial Services Technical Reference Manual


Additional Processing Events

Additional Processing Events

Deferred Amortization Calculation Steps


1. Determine the flat rate scenario.
a. The process may already have a flat rate scenario. If the change from the
base rates is zero for all buckets and all interest rate codes, then there is a
flat rate scenario.
b. If there is not a flat rate scenario, then a flat rate scenario is created. This
scenario is created by reading in the base rates and applying a zero change
for all buckets.
2. Determine if a record needs to have deferred amortization records calculation
applied to it.
Deferred amortization records are instrument or new business records where
the column Deferred_cur_bal is not equal to zero.
3. Calculate cash flows for instrument from as-of-date until maturity using the flat
rate scenario.
a. If one of the scenarios within the process is a flat rate scenario, further cash
flows do not need to be generated. The cash flows from the flat rate
scenario can be used.
b. If the instrument is not rate-sensitive, further cash flows do not need to be
generated. The cash flows from any scenario can be used.
c. In all other cases, cash flows in a flat rate scenario must be generated.
4. Calculate the internal rate of return.
a. Calculate the market value of the instrument using the coupon rate, the
cur_net_rate, as the discount rate from as-of-date to maturity date. The
principal and interest cash flows from the as-of-date to the maturity date
should be used in all cases.
b. Use the following simple market value calculation:

N
CFn
Market Value = ∑
n =1 (1 + c) n

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-43


Additional Processing Events

c = coupon rate (cur_net_rate) from instrument record


n = payment number
N = remaining number of payments
CFn= cash flow at payment n = total runoff plus interest cash flow net
c. Calculate the duration of the instrument using the same discount rate.

N
CFn * n
∑ (1 + c ) n +1
n =1
Duration = N
CFn
∑ (1 + c )
n =1
n

d. Find the amount necessary to add to the coupon rate to more closely
approximate the internal rate of return, using the following formula:

MV − ( ParBal + Deferred )
Rate Change =
duration * MV
e. Using a new discount rate equal to the coupon plus the rate change
calculated above, recalculate the market value and duration.
f. Repeat steps 4 and 5 until the rate change is very small (less than 0.001% in
absolute value). The discount rate used when this state is reached is the
internal rate of return. It is negative if:

∑ CF
n =1
n < ParBal + Deferred

5. Calculate the spread to use in each scenario.


a. The calculation is:

spread = ( IRR - c)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-44 Oracle Financial Services Technical Reference Manual


Additional Processing Events

b. The value for the coupon, c, in the formula above is the cur_net_rate after
the first true repricing event. A true repricing event is a non-tease repricing
event.
c. If the instrument is fixed rate, the cur_net_rate from the record is sufficient.
6. Calculate the deferred financial elements in each bucket and each scenario.
a. The deferred runoff must be calculated first.
For each modeling bucket, calculate the amount of total income to be
recognized as:

cb + spread
Total Income = ( ParBal + Deferred ) *
a

Total Income = DeferredRunoff + InterestAccrued

cb + spread
Deferred Runoff = ( ParBal + Deferred ) * − InterestAccrued
a
a = accrual factor, see description below
cb = Average Rate
ParBal = Average Balance
Deferred = Deferred End Balance in previous bucket, Deferred_cur_bal in
bucket 1
InterestAccrued = Interest Accrual Net for Current Bucket
■ The value “a” in the formula above is the accrual factor associated with that
bucket. The accrual factor is the portion of the year that the modeling
bucket represents. This calculation varies according to the accrual basis
code associated with the instrument.
■ The financial element 140, Average Balance should be used for ParBal is the
formula above.
■ The financial element 160, Average Rate should be used for cb in the
formula above.
■ In the bucket in which the instrument matures, if this bucket falls within the
modeling horizon, the deferred runoff should be set equal to the remaining

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-45


Accounting for Exchange Rate Fluctuations

deferred balance. This is to ensure that the entire deferred balance is run off
by the maturity date.
b. Calculate the change in the deferred balance as:

Deferred Balanceend = ( Deferred Balancebeginning - Deferred Runoff )


c. Assume that the average deferred balance is equal to the beginning
deferred balance.

Accounting for Exchange Rate Fluctuations


The following discussion applies to Risk Manager currency-based processing. As
mentioned earlier in this chapter, currency-based processing occurs when a Risk
Manager scenario-based Process ID is set up with functional dimensions of either
Product/Currency or Product/Organizational Unit/Currency.

Definition of Currency Methods


The effect of currency fluctuations on balance sheet accounts can be modeled in
Risk Manager in one of three ways. In the Leaf Characteristics ID, the user selects
one of the following currency accounting methods for each Product/Currency
combination. If no method is specified, the Temporal method is used:
Temporal Method Currency gains/losses on the outstanding balance are
reflected in the income statement each reporting period.
Because currency effects have already been reflected in the
income statement, no additional translation adjustment
accounts are necessary.
Current Rate The reported balance at the end of the period reflects the
Method value at the current exchange rate. An Accumulated
Translation adjustment account is maintained, which stores
the accumulated unrealized gains/losses on principal as a
contra-equity account on the balance sheet. When principal
payments are made, the realized gain/loss is recognized in
the income statement and the contra-equity account is
adjusted appropriately.
Historical Basis Balances are carried at the historical cost. The effect of
Method exchange rate fluctuation on cash flows is recorded as a
realized gain/loss in the income statement when received.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-46 Oracle Financial Services Technical Reference Manual


Accounting for Exchange Rate Fluctuations

For auditing purposes, the currency financial elements are retained separately for
each local currency. Realized and unrealized gain/loss entries are recorded in a
series of financial elements, as described in the following chart.
Terms used in this chart:
■ Current Exchange Rate: Rate in effect for that particular modeling bucket.
■ Previous Exchange Rate: Rate in effect for the previous modeling bucket.
■ Original Exchange Rate: Rate in effect at the origination of the instrument.

Code Description Method(s) Purpose Calculation


950 Accumulated Current Accumulated effect of (FE100 Ending Balance) *
Translation Rate unrealized currency [(1/Current Exchange Rate) -
Amount gain/loss on balances (1/Original Exchange Rate)]
at the end of each
period.
465 Total Temporal Effect of exchange rate (FE60 Beginning Balance) *
Currency fluctuation on the [(1/Current Exchange Rate) -
Gain/Loss existing balance over (1/Previous Exchange Rate)]
(Principal) the current period.
475 Realized Current Actual change in value (FE210,212 Total Runoff) *
Currency Rate and of the principal cash [(1/Current Exchange Rate) -
Gain/Loss Historical flow due to exchange (1/Original Exchange Rate)]
(Principal) Basis rate fluctuation.
485, Realized All Actual change in value Interest Cash Flow *
486 Currency methods of the interest cash flow [(1/Current Exchange Rate) -
or Gain/Loss due to exchange rate (1/Original Exchange Rate)]
487 (Interest-- fluctuation.
Net, Gross,
or Transfer
Rate)

See the Financial Element Calculations chart for a complete listing of financial
elements used for cash flow results.

Examples of Exchange Rate Fluctuations


The following example illustrates the differences among the currency accounting
methods.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-47


Accounting for Exchange Rate Fluctuations

This is a United States Bank (USD) with holdings in Japan (JPY) and Germany
(DEM).

Historical Rate Current Rate


(at origination) (at As of Date) Forecast (Month 1)
Local Exchange USD Exchange USD Exchange USD
Balance Rate Balance Rate Balance Rate Balance
JPY 100,000 120 $833.33 133 $751.88 130 $769.23
JPY/USD JPY/USD JPY/USD
DEM 2,000 1.80 $1,111.11 1.69 $1,183.43 1.60 $1,250.00
DEM/USD DEM/USD DEM/USD

In this example, the Japanese Yen holdings have decreased their US Dollar value
since origination, and the German Mark holdings have increased their US Dollar
value since origination. One month into the forecast, the Yen-to-Dollar exchange
rate is forecast at 130 and the Deutschmark-to-Dollar exchange rate is forecast at
1.60.
■ Temporal Method
If the Temporal method is used, the change in value should be reflected in net
income and passed through to retained earnings. The change in value from the
current USD balances to the USD balance in Month 1 is reflected as a realized
gain. In this case, the currency gain account would reflect a net amount of
$83.92 for Month 1.
JPY currency change $ 17.35
DEM currency change $66.57
Currency gain for Month 1 $83.92

That is, (see Financial Element 465) the formula for total gain/loss on principal
is:
Beginning Balance * [(1/current exchange rate) - (1/previous exchange rate)]
■ Current Rate Method
If we apply the Current Rate method, the Accumulated Translation Amount, a
separate contra-equity account, reflects a total of $74.79. This is derived from
the accumulated difference between the USD balance from origination to Month
1 of the forecast. In this case, no principal payments have been made; USD
value of Yen holdings have decreased in value since origination, but the USD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-48 Oracle Financial Services Technical Reference Manual


Accounting for Exchange Rate Fluctuations

value of Deutschmark holdings have appreciated more, resulting in a net


increase in value.
JPY Accumulated Translation Amount - $64.10
DEM Accumulated Translation Amount $138.89
Accumulated Translation $74.79

That is, (see Financial Element 950) the formula for unrealized gain/loss on
principal is:
Ending Balance * [(1/current exchange rate) - (1/original exchange rate)]
■ Historical Basis Method
All balances are carried at the historical rate, so there is no need for an
accumulated translation account. Currency gains/losses are realized when cash
flows are received.

Effect of Exchange Rate Forecasts on Cash Flows


Let’s modify our example slightly, to show a payment made in Month 1.
Amortization of principal and payments of interest must reflect the effect of changes
in the exchange rate.
All methods treat interest payments in the same manner: They are valued when
received and corresponding gains or losses are then realized (see Financial Elements
485-487). Therefore, the following discussion focuses on currency accounting for
principal amortization. In this example, both the Yen and Deutschmark accounts
have runoff equal to 5% of the outstanding balances.

Local
Currency Realized
Runoff USD Runoff Amount USD Runoff Amount Gain/Loss
Amount (historical rate) (current rate) on Principal
JPY 5,000 120 $41.67 130 $38.46 - $3.21
JPY/USD JPY/USD
DEM 100 1.80 $55.56 1.60 $62.50 $6.94
DEM/USD DEM/USD

■ Temporal Method
In the Temporal method, the effect of exchange rate fluctuations on the balance
sheet is reflected at the period end based on the balance at the beginning of the

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-49


Market Value Calculation

period. This method requires no additional recognition of gain/loss on


principal because it has already been recognized on the beginning balance (see
Financial Element 465, discussed earlier).
■ Current Rate Method
In the Current Rate method, the Accumulated Translation Balance (Financial
Element 950) should reflect only the change in value of the remaining balance,
based on the current and historical exchange rates.
[JPY 95,000 / (130 JPY/$)] – [JPY 95,000 / (120 JPY/$)] =
$730.77 - $791.67 = -$60.90... or compute as:
Ending Balance * [(1/current exchange rate) - (1/original exchange rate)]
In addition to the Accumulated Translation Balance, a realized currency
gain/loss should be reflected in the income statement. Realized currency
gain/loss transactions reflect the change in currency from the time of
origination of an instrument to the time of cash flow repayment, when the
initial balance loaned/invested/borrowed must be translated into the reporting
currency. At each payment, the realized gain/loss on the principal cash flows
(scheduled payments, maturing balances, and prepayments) are calculated
based on the amount of the cash flow and the change in exchange rate. That is,
(see Financial Element 475) the formula for realized gain/loss on principal is:
Principal Cash Flow * [(1/current exchange rate) - (1/original exchange rate)]
■ Historical Basis Method
When payments are made, Historical Basis accounts should also reflect the
realized gain/loss on currency in the income statement. The method used
should be the same as the method described for the Current Rate method; that
is (see Financial Element 475), the formula for realized gain/loss on principal is:
Principal Cash Flow * [(1/current exchange rate) - (1/original exchange rate)]

Market Value Calculation


Cash Flow Inputs
Interest Cash Flow (Net, Gross, or Transfer Rate)
Total Runoff
Repricing Balance

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-50 Oracle Financial Services Technical Reference Manual


Market Value Calculation

Deferred Runoff

Interface Inputs
Discount Rates ID
Forecast Rates ID

Market Value Calculation Steps


1. Define components of cash flow.
Within the interface, you must define what components make up the cash flow
that is discounted to derive the market value. The standard components of a
cash flow are the following:
■ Interest Cash Flow Net
■ Scheduled Principal Runoff
■ Principal At Maturity
■ Prepayments
Choosing special options in the Discount Rates ID adjusts the cash flow
definition in the following manner:

Cash Flow Switches Effect on Cash Flow


Interest Cash Flow Value interest component of cash flow only
Mature At Reprice Value instrument as if it matured on the first
repricing date after the start date

Future Originations Adjustment


Instruments that originate after a designated start date can be included in the
market value for that start date if the issue date is less than or equal to the start
date. In this case, the negative flow of funds on the origination date is
considered to be a cash flow for discounting purposes.
2. Determine discount rate for cash flow.
Within the Discount Rates ID, you specify an IRC and a discount method. The
methodology determines whether current or forecasted rates are referenced and
which yield curve point from the chosen IRC is used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-51


Market Value Calculation

Discount Method Date of IRC Yield Curve Point


Spot Input not applicable not applicable
Spot IRC start date payment date - start date
Forecast Original Term payment date fixed rate: original term adjustable:
reprice frequency
Forecast Remaining Term payment date payment date - start date

3. Calculate market value of cash flow.


For the market value of an instrument as of a particular start date, the present
value of each cash is calculated for all cash flows that occur after the start date,
using the appropriate discount factor.
4. Treat reprice date as maturity where necessary.
For repricing instruments, the cash flows are evaluated from the start date up to
the reprice date, effecting a maturity on the reprice date for duration
calculation. For market values, this method is used if the “Mature At Reprice”
option is enabled in the Discount Rates interface.
If this methodology is used and the reprice date falls mid-payment, an extra
interest cash flow must be calculated. This interest cash flow represents the
portion of the next interest cash flow that applies from the last payment date
prior to the reprice date and the reprice date.
5. Sum market values of cash flows.
The market value per payment are summed to arrive at a total market value
number. n
Total Market Value = ∑( MV )
n=1
cf

6. Calculate duration of instrument.


The duration of the instrument is calculated by weighting the market value of
each payment by time.

∑ ( MV
n=1
cf ∗ t)
Total Duration = n

∑ MV
pmts
cf ∗
n=1
year
Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-52 Oracle Financial Services Technical Reference Manual


Consolidation of Results

7. Update instrument data.


Within the interface, you can write the market value for a specified start date
back to the instrument table. If this option has been selected, the market value
price is written to the Market Value price column in the instrument table. To
calculate the price, the calculated market value is divided by the instrument’s
balance as of the specified start date.
Market Value price = Total Market Value / Balancet

Consolidation of Results
If the Risk Manager Process ID optionally specifies “Consolidate to Reporting
Currency,” a cross-currency consolidation is performed. The local currency results
are consolidated into a single reporting currency based on the historical and forecast
exchange rates. Once translated into the reporting currency, common products are
aggregated and output to a separate table. For example, if the Process ID is
identified by Sys_ID_Num 99999, results would be held as follows:

Results Table(s) Calculations


Detailed Res_Dtl_99999 The instrument is processed
results in its local currency and all
OFSA_Result_Master,
results are accumulated in
identified by Result_Sys_ID
the local currency.
Currency gain/loss is
computed based on currency
method defined for
Product/Currency.
Consolidated Cons_Dtl_99999 Translates cash flows in each
results modeling bucket;
OFSA_Consolidated_Master,
consolidates across
identified by Result_Sys_ID
currencies.

The currency accounting method determines which exchange rates are used for the
translation of each Financial Element. Typically, forecast exchange rates are used for
the Temporal and Current Rate methods, and original exchange rates are used for
the Historical Basis method. For the Temporal and Current Rate methods, some
exceptions apply:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-53


Currency-Based Gap Modeling

■ Deferred Balances
Deferred balances are balances that reflect prepaid amounts, that is prepaid
fees, amortized costs, premiums or discounts. Because the cash flows associated
with these balances have already occurred, there is no currency risk associated
with them. Therefore, these financial elements are reflected at cost, at the
exchange rate at the time of origination.
■ Interest Accruals
The standard historical interest accrual financial element is reflected at the
original exchange rate because the currency gain/loss account already reflects
the change in interest due to currency. However, in order to calculate yields
consistently with the average balance, a separate financial element is calculated
for the current basis interest accrual; this reflects the interest accrual based on
the current bucket exchange rate.
■ Gap Financial Elements
See “Currency-Based Gap Modeling” for further details.
For Consolidated Master results: Deferred balances are translated using the
exchange rate in effect when the instrument was originated; all other balances are
translated using the exchange rate in effect at the As-of-Date or future Start Date:
■ As-of-Date values use the actual exchange rate in effect on the As-of-Date.
■ Future originations and Dynamic Start Date values respectively use the forecast
exchange rate in effect on the future origination date or Start Date.
If no exchange rate is found, the cash flow engine logs an error message and set the
exchange rate equal to 1.

Currency-Based Gap Modeling


The processing steps depend on the relationship between the gap and cash flow
modeling buckets. Because modeling buckets may differ between the cash flow
results and the gap results and exchange rate forecasts are defined for cash flow
modeling buckets only, additional processing steps are employed when there are
bucket differences.
■ “Compatible” (consistent) gap and cash flow buckets
If cash flow modeling buckets and gap buckets are equal, or if multiple gap
modeling buckets can evenly fit into one cash flow modeling bucket, the
forecast exchange rates for the cash flow modeling buckets are used.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-54 Oracle Financial Services Technical Reference Manual


Detail Cash Flow Data

■ “Unevenly-Overlapping” gap and cash flow buckets


If cash flow modeling buckets are smaller than gap modeling buckets or if their
respective start and end dates do not coincide, the engine must derive the
forecast exchange rates for the gap modeling buckets.
In this special case, the cash flow engine calculates a time-weighted exchange
rate forecast for the gap bucket. Bear in mind that with a time-weighted rate,
the consolidated gap results may be different than the consolidated cash flow
results, even though they came from the same local balance. For example, a cash
flow of $10 at an exchange rate of 1 and a cash flow of $20 at an exchange rate of
2 sums up to a translated cash flow of 20 (10 divided by 1, plus 20 divided by 2).
If the weighted-average exchange rate is calculated as 1.5, the translated cash
flow equals 20 (10 plus 20, divided by 1.5).
We recommend that consistent modeling and gap buckets be used in multicurrency
simulations, to eliminate potential data inconsistency issues.

Detail Cash Flow Data

Column Name Column Description Column Type Event use


ID_NUMBER Unique identifier. static I
COMMON_COA_ID Leaf value used to determine financial static I
account type of detail instrument.
ADJUSTABLE_TYPE_CD Determines whether reprice occurs, and, static R
if it occurs, whether it occurs according to
reprice dates or bucket dates.
ACCRUAL_BASIS_CD Method of accrual used in determining static P
the rate per payment.
AMRT_TERM & AMRT_ Determines time over which principal is static P, PC
TERM_MULT amortized; used in payment recalculation.
AMRT_TYPE_CD Determines method for amortizing static PC
principal. Used to match to payment
pattern data.
CUR_PAYMENT Amount of current payment, meaning dynamic P, PC
depends on amortization type code.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-55


Detail Cash Flow Data

Column Name Column Description Column Type Event use


CUR_PAR_BAL Balance on which principal runoff, dynamic P, PC, PP
interest cash flows, deferred runoff are
based.
CUR_NET_RATE Interest rate than the financial institution dynamic P, R, PC, PP
pays/receives.
CUR_GROSS_RATE Interest rate that the customer dynamic P, R, PC, PP
pays/receives; used in determining
payments and prepayments.
DEFERRED_CUR_BAL Holds current unamortized premium, dynamic D
discount, fees, costs, an so on.
ISSUE_DATE Date instrument is recognized as I
“on-the-books”. Used in dynamic gap and
market value calculations.
INTEREST_RATE_CD Code value that determines the forecasted static R
rate to base repricing on.
INT_TYPE Determines how interest is calculated and static P
accrued.
INSTR_TYPE_CD Used to match a schedule instrument static I
record to its scheduled payment dates
and amounts.
LAST_PAYMENT_DATE Date of last payment before the static P
as-of-date, used to calculate days in first
payment for interest in arrears
instruments and to calculate accruals
prior to first payment in interest in
advance instruments.
LRD_BALANCE Balance as of last reprice date static I
LAST_REPRICE_DATE Last date instrument rate repriced. static I
MARGIN Pricing spread added to the IRC value for static R
current net rate.
MATURITY_DATE Date of final payment. static P, PP
NEG_AMRT_AMT Amount of current balance due to dynamic P
negative amortization of interest
payments.
NEG_AMRT_EQ_DATE Date that instrument fully re-amortizes, event trigger PC
irrespective of payment caps.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-56 Oracle Financial Services Technical Reference Manual


Detail Cash Flow Data

Column Name Column Description Column Type Event use


NEG_AMRT_EQ_FREQ &
NEG_AMRT_EQ_MULT Frequency of neg am equalization events. static PC
0 denotes neg-am equalization never
occurs.
NEG_AMRT_LIMIT Maximum amount that instrument can event trigger PC
negatively amortize, stored as a percent of
original balance.
NEXT_PAYMENT_DATE Date of next payment. event trigger P, PC
NEXT_REPRICE_DATE Date of next rate change. event trigger R, PP
ORG_PAYMENT_AMT Payment used for cash flow transfer static PC,I
pricing of fixed rate records. Used by
pattern instruments to calculate payment
amount.
ORG_PAR_BAL Used in conjunction with neg am limit to static PC,I
determine the maximum amount that
instrument can negatively amortize. Used
for Rule of 78ís schedules. Used by
pattern instruments to calculate payment
amount.
ORG_TERM & ORG_ Time from origination date to maturity static PC,PP
TERM_MULT date. Used in determining whether an
instrument balloons for payment
recalculation purposes.
ORIGINATION_DATE Determines age of instrument for static PP,PC
prepayments. Used in calculating
remaining amortization term. Used in
determining payment number in pattern
records.
PERCENT_SOLD Determines net balance. static I
PMT_ADJUST_DATE Date of next scheduled payment event trigger PC
recalculation for neg am instruments.
PMT_CHG_FREQ & Frequency of regular payment change static PC
PMT_CHG_FREQ_MULT calculation for neg-am instruments only. 0
denote payment never changes.
PMT_DECR_CYCLE Maximum percent payment can decrease static PC
from its previous value.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-57


Detail Cash Flow Data

Column Name Column Description Column Type Event use


PMT_DECR_LIFE Minimum payment amount; stored as a static PC
percent of original payment amount; can
be overwritten on ngam equalization
dates.
PMT_FREQ & PMT_ Frequency of payments; should be set static P, PC, PP
FREQ_MULT equal to original term if instrument is
bullet (principal and interest at maturity
date) or account type of other asset, other
liability, interest income, interest expense,
non-interest income, non-interest expense.
PMT_INCR_CYCLE Maximum percent payment can increase static PC
from previous value.
PMT_INCR_LIFE Maximum payment amount; stored as a static PC
percent of original payment amount; can
be overwritten on ngam equalization
dates.
RATE_CAP_LIFE Maximum value to which current rate can static R
reprice.
RATE_CHG_MIN Minimum amount that current rate must static R
change before a rate change occurs.
RATE_CHG_RND_CD Type of rounding to be applied to current static R
rate.
RATE_CHG_RND_FAC Precision of rounding; 0 denotes no static R
rounding.
RATE_DECR_CYCLE Maximum amount rate can decrease static R
within a repricing period.
RATE_FLOOR_LIFE Minimum value to which current rate can static R
reprice
RATE_INCR_CYCLE Maximum amount rate can increase static R
within a repricing period.
RATE_SET_LAG & RATE_ Time lag used when repricing. Used to static R
SET_LAG_MULT determine rate set date on reprice event.
REMAIN_NO_PMTS_C Number of payments left to be made on dynamic P, PC
the instrument from the As of Date to the
maturity date.
REPRICE_FREQ & Frequency that instrument reprices; 0 static R, PP
REPRICE_FREQ_MULT denotes fixed rate.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-58 Oracle Financial Services Technical Reference Manual


Rule of 78’s Example

Column Name Column Description Column Type Event use


ORG_PAYMENT_AMT Payment used for cash flow transfer static I
pricing of fixed rate records.
TEASER_END_DATE Date that teased instrument begins event trigger R, PP
repricing.
MARGIN_GROSS Pricing spread added to IRC for current static R
gross rate.
MARGIN_T_RATE Pricing spread added to IRC for current static R
transfer rate.
T_RATE_INT_RATE_CD Interest rate code used for determining static R
transfer rate.
NET_MARGIN_CODE Defines relationship between gross rate static R
and net rate; 0 denotes floating net rate; 1
denotes constant net rate.

Event Use Code Values

I = Initialization of record
P = Payment
PC = Payment Recalculation
PP = Prepayment
R = Reprice
D = Deferred amortization

Rule of 78’s Example


Example: 12 month loan with current payment of $93.33 and original balance =
$1,000.00
1. Sum all principal and interest payments made over the life of the instrument:
∑cash flow = current payment * total number of payments
= $93.33 * 12
= $1,120.00

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Calculations 9-59


Rule of 78’s Example

2. Determine total amount of interest paid over the life of the instrument
∑ interest = ∑ cash flow - original par balance
= $1,000.00 - $1,120.00
= $120.00

3. Sum the payment numbers.


∑ pmts = total no. payments * (total no. payments + 1)/2
= 12 * 13/2
= 78

4. Calculate principal and interest amount at each payment.


interest = ∑ interest * (payments remaining/∑ pmts)
principal = current payment - interest

Interest Remaining
Month Calculation Interest Principal Balance
1 12/78 * 120 $18.46 $74.87 $925.13
2 11/78 * 120 $16.92 $76.41 $848.72
3 10/78 * 120 $15.38 $77.95 $770.77
4 9/78 * 120 $13.85 $79.48 $691.29
5 8/78 * 120 $12.31 $81.02 $610.27
6 7/78 * 120 $10.77 $82.56 $527.71
7 6/78 * 120 $9.23 $84.10 $443.61
8 5/78 * 120 $7.69 $85.64 $357.97
9 4/78 * 120 $6.15 $87.18 $270.79
10 3/78 * 120 $4.61 $88.72 $182.07
11 2/78 * 120 $3.08 $90.25 $91.82
12 1/78 * 120 $1.54 $91.79 $0.00

Oracle Proprietary, Confidential Information - Use Restricted by Contract

9-60 Oracle Financial Services Technical Reference Manual


10
Cash Flow Dictionary

Cash flow processing is executed from Oracle Risk Manager and Oracle Transfer
Pricing. This processing accesses specific fields from instrument tables to perform
cash flow calculations.
This chapter includes a list of columns required for this processing as well as a list
of columns required to run the Oracle Financial Services Applications (OFSA) cash
flow edits. The OFSA cash flow edits are executed from Oracle Balance & Control
and are used to correct data in the columns used in OFSA cash flow processing.

Note: Both lists overlap for a majority of the columns.

In order for OFSA cash flow processing to generate appropriate results, the data
within the accessed instrument tables must be appropriate and consistent. The
OFSA cash flow edits function provides a measure of validation for this data. How-
ever, the cash flow edits function cannot ensure that the input data from the instru-
ment tables is correct and faithfully reflects reality. Therefore, this chapter contains
detailed information necessary for correct data population, including field defini-
tions, formulas used in the cash flow process calculations, and recommended
default values for the cash flow processing fields.
Unless otherwise stated, when calculations refer to frequency or term fields in this
chapter, the implication is that both the frequency (or term) and its associated multi-
plier field are used. For example, if PMT_FREQ is used in a formula, it refers to
PMT_FREQ and PMT_FREQ_MULT to determine the true payment frequency.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-1


Cash Flow Columns

Cash Flow Columns


This section describes in detail the cash flow processing and cash flow edit columns
for OFSA.

Cash Flow Columns Listed


The OFSA cash flow columns are listed in table format in this section along with
information on whether they are associated with cash flow processing, cash flow
edits or both.

Column Name Cash Flow Processing Cash Flow Edits


ACCRUAL_BASIS_CD Yes Yes
ADJUSTABLE_TYPE_CD Yes Yes
All Leaf Fields Yes No
AMRT_TERM Yes Yes
AMRT_TERM_MULT Yes Yes
AMRT_TYPE_CD Yes Yes
AS_OF_DATE Yes Yes
COMPOUND_BASIS_CD Yes Yes
CUR_BOOK_BAL Yes Yes
CUR_GROSS_RATE Yes Yes
CUR_NET_PAR_BAL_C No Yes
CUR_NET_RATE Yes Yes
CUR_OAS Yes No
CUR_PAR_BAL Yes Yes
CUR_PAYMENT Yes Yes
CUR_STATIC_SPREAD Yes No
CUR_TP_PER_ADB Yes No
DEFERRED_CUR_BAL Yes Yes
DEFERRED_ORG_BAL Yes Yes
HISTORIC_OAS Yes No
HISTORIC_STATIC_SPREAD Yes No

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-2 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Column Name Cash Flow Processing Cash Flow Edits


ID_NUMBER Yes Yes
IDENTITY_CODE Yes Yes
INSTRUMENT_TYPE_CD Yes No
INT_TYPE Yes Yes
INTEREST_RATE_CD Yes Yes
ISSUE_DATE Yes Yes
LAST_PAYMENT_DATE Yes Yes
LAST_REPRICE_DATE Yes Yes
LRD_BALANCE Yes Yes
MARGIN Yes No
MARGIN_GROSS Yes No
MARGIN_T_RATE Yes No
MARKET_VALUE_C Yes No
MATCHED_SPREAD_C Yes No
MATURITY_DATE Yes Yes
NEG_AMRT_AMT Yes No
NEG_AMRT_EQ_DATE Yes Yes
NEG_AMRT_EQ_FREQ Yes Yes
NEG_AMRT_EQ_MULT Yes Yes
NEG_AMRT_LIMIT Yes Yes
NET_MARGIN_CD Yes Yes
NEXT_PAYMENT_DATE Yes Yes
NEXT_REPRICE_DATE Yes Yes
ORG_BOOK_BAL No Yes
ORG_MARKET_VALUE Yes No
ORG_PAR_BAL Yes Yes
ORG_PAYMENT_AMT Yes Yes
ORG_TERM Yes Yes

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-3


Cash Flow Columns

Column Name Cash Flow Processing Cash Flow Edits


ORG_TERM_MULT Yes Yes
ORIGINATION_DATE Yes Yes
PERCENT_SOLD Yes Yes
PMT_ADJUST_DATE Yes Yes
PMT_CHG_FREQ Yes Yes
PMT_CHG_FREQ_MULT Yes Yes
PMT_DECR_CYCLE Yes Yes
PMT_DECR_LIFE Yes Yes
PMT_FREQ Yes Yes
PMT_FREQ_MULT Yes Yes
PMT_INCR_CYCLE Yes Yes
PMT_INCR_LIFE Yes Yes
PRIOR_TP_PER_ADB Yes No
PMT_SET_LAG No No
PMT_SET_LAG_MULT No No
RATE_CAP_LIFE Yes Yes
RATE_CHG_MIN Yes Yes
RATE_CHG_RND_CD Yes Yes
RATE_CHG_RND_FAC Yes Yes
RATE_DECR_CYCLE Yes Yes
RATE_DECR_LIFE Yes No
RATE_FLOOR_LIFE Yes Yes
RATE_INCR_CYCLE Yes Yes
RATE_INCR_LIFE Yes No
RATE_SET_LAG Yes Yes
RATE_SET_LAG_MULT Yes Yes
REMAIN_NO_PMTS_C Yes Yes
REMAIN_TERM_MULT_C No No

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-4 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Column Name Cash Flow Processing Cash Flow Edits


REPRICE_FREQ Yes Yes
REPRICE_FREQ_MULT Yes Yes
T_RATE_INT_RATE_CD Yes Yes
TEASER_END_DATE Yes Yes
TRAN_RATE_REM_TERM Yes No
TRANSFER_RATE Yes No

Field Definitions
This section describes, in detail, the usage of these columns. For each column, the
following information is provided:
■ Column name as it appears in the appendix (upper and lower case) and as it
appears in the database (upper case with underscores).
■ The affected OFSA products are affected (Risk Manager or Transfer Pricing).
■ Data verification requirements and suggested defaults.

Accrual Basis Code (ACCRUAL_BASIS_CD)

Definition
The basis on which the interest accrual is calculated.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies use
ACCRUAL_BASIS_CD for calculating interest income (financial element 430).
The accrual basis values are represented by code values as indicated below:

Code Value Accrual Basis


1 30/360
2 Actual/360
3 Actual/Actual
4 30/365
5 30/Actual

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-5


Cash Flow Columns

Code Value Accrual Basis


6 Actual/365

Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence INT_TYPE in determining whether interest payments are made in arrears or in
advance.
If INT_TYPE = 1, the record is considered interest in arrears. Interest payments are
paid at the end of the payment period along with the principal payments. The cal-
culations detailed below assume that the interest is to be calculated as interest in
arrears.
If INT_TYPE = 2, the record is considered interest in advance. See Interest Type
Code (INT_TYPE) for a description of the formula used to calculate interest in
advance.
For calculation purposes, the accrual basis codes can be grouped in the following
manner.

Note: The calculations below assume a monthly payment


frequency.

1. If the ACCRUAL_BASIS_CD is 30/360, 30/365 or 30/Actual, OFSA uses the


following formula to calculate interest income on a payment date:
Previous Periods Ending Balance * Cur Net Rate/100 * PMT_FREQ
[number of months] * x * (Next Payment Date - Last Payment Date)/(Next
Payment Date - Calculated Last Payment Date)
Replace ’x’ with one of the three accrual basis values from above.

Note: The actual denominator refers to the actual number of days


in the year. Other than leap years, this equals 365 days. Also note
that the Calculated Last Payment Date is the Next Payment Date
rolled back by the number of months in PMT_ FREQ.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-6 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

The final portion of the above calculation,


(Next Payment Date - Last Payment Date)/(Next Payment Date -
Calculated Last Payment Date)
is a ratio that calculates the percentage of the payment frequency period that
should be applied to calculate the Interest Income amount. This adjustment is
necessary because, for the first forecasted payment, the Last Payment Date is
not necessarily equal to the Calculated Last Payment Date. This would be the
case of a stub or extended payment at the origination or maturity of a record.
If the Last Payment Date is precisely equal to the Calculated Last Payment Date,
then the ratio is equal to 1 and therefore does not impact the Interest Income
calculation.
2. If the ACCRUAL_BASIS_CD is Actual/365, Actual/Actual, or Actual/360,
OFSA uses the following formula to calculate interest income on a payment
date:
Previous Period’s Ending Balance * Cur Net Rate/100 * (Next Payment Date
- Last Payment Date)/y
Replace ’y’ with the denominator of one of the three accrual basis values from
above.

Note: The actual numerator refers to the actual number of days in


the current month.

The above two equations represent Interest in Arrears income calculations. The
interest in advance calculations are indicated in the INT_TYPE section.

Note: If a compounding method has been chosen, OFSA derives


the compounded rate before calculating the above interest income
amounts. See Compounding Basis Code (COMPOUND_BASIS_
CD) for further information.

Data Verification Requirements and Suggested Defaults


■ Must be equal to values 1 - 6.
■ Suggested default depends on product characteristics of institution’s data
Default to the most common ACCRUAL_BASIS_CD for the product leaf.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-7


Cash Flow Columns

■ If AMRT_TYPE_CD = 800, 801, or 802 (Schedule) or 1000 to 29999 (Pattern), the


ACCRUAL_BASIS_CD cannot equal ’1’, ’4’, or ’5’.

Adjustable Type Code (ADJUSTABLE_TYPE_CD)

Definition
Identifies the repricing method and repricing characteristics of the record.

Module Usage
For Risk Manager, this field works in conjunction with REPRICE_FREQ to deter-
mine the repricing characteristics of an instrument. An ADJUSTABLE_TYPE_CD
must be specified if the record reprices.

Risk Manager
1. The code values for this field are as follows:

Repricing
Code Value Definition Frequency Repricing Method
000 Fixed 0 No Repricing
030 Administered Rate >0 Reprices when IRC (interest rate code)
changes.*
050 Floating Rate >0 Reprices when IRC (interest rate code)
changes.*
250 Adjustable >0 Last Reprice Date + Reprice Frequency.*

*(if not in tease period)

a. If the ADJUSTABLE_TYPE_CD = 0 and the REPRICE_FREQ = 0, then the


record is fixed-rate.
b. If the ADJUSTABLE_TYPE_CD = 30 or 50 and the REPRICE_FREQ > 0,
then the reprice dates are driven by forecasted yield curve rate changes
rather than by the REPRICE_FREQ. For these codes, Risk Manager reprices
the record by referencing the Forecast Rates ID interest rate code (IRC)
when producing cash flow information at the beginning of each bucket.
There is one reference to the IRC per modeling bucket.
The database field, NEXT_REPRICE_DATE, is not used when the
ADJUSTABLE_TYPE_CD = 30 or 50. The database field, REPRICE_FREQ, is

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-8 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

used to determine the yield curve point when the IRC is a yield curve as
opposed to a single rate IRC.

Note: Floating/Administered ADJUSTABLE_TYPE_CD should


not be used for instruments with periodic caps and/or floors
because periodic caps and floors infer a specific repricing
frequency.

c. If the ADJUSTABLE_TYPE_CD = 250 and the REPRICE_FREQ > 0, then the


repricing frequency of the record is determined by the REPRICE_FREQ and
NEXT_REPRICE_DATE. See these fields for further explanations of the
repricing process.
2. The value input into the ADJUSTABLE_TYPE_CD overrides the REPRICE_
FREQ value. For instance, even though the REPRICE_FREQ > 0 and if the
ADJUSTABLE_TYPE_CD = 0, OFSA treats the record as a fixed-rate instrument.

Transfer Pricing Oracle Transfer Pricing references REPRICE_FREQ to determine


if the record is adjustable.

Data Verification Requirements and Suggested Defaults


■ If the record is an adjustable floating or administered product, ADJUSTABLE_
TYPE_CD = 30 or 50.
■ If the record reprices according to NEXT_REPRICE_DATE and REPRICE_FREQ
information, ADJUSTABLE_TYPE_CD = 250.
■ If the ADJUSTABLE_TYPE_CD > 0, REPRICE_FREQ > 0.
■ If the record is fixed, ADJUSTABLE_TYPE_CD = 0.

Amortization Type Code (AMRT_TYPE_CD)

Definition
Defines the method by which an account’s principal and interest is amortized.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-9


Cash Flow Columns

Module Usage
Oracle Risk Manager and Transfer Pricing cash flow methodologies use AMRT_
TYPE_CD to determine the calculation method of the record’s amortization of prin-
cipal and interest. Listed below are the AMRT_TYPE code values.

Conventionally Amortizing
100 Conventional Fixed
400 Balloon
500 Adjustable Conventional
600 Adjustable Negative Amortizing

Non-conventional Amortizing
700 Simple Interest
710 Rule of 78s
800 - 802 Schedule
820 Level Principal
999 Default Value
1000 - 29999 User-Defined Payment Patterns

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-10 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Below are explanations of each of the amortization type codes.

100, 400, 500, 600 - Conventionally Amortizing AMRT_TYPE_CDs

Interest

Principal

Maturity Date

The conventional amortization loan types have loan payments that are unevenly
divided between principal balance and interest owed. Total payment amount (prin-
cipal + interest) is generally equal throughout the life of the loan. The interest por-
tion (non-shaded portion) of each payment is calculated based on the record’s
interest rate and the remaining balance of the loan. Therefore, close to the loan’s
origination, a higher portion of the payment consists of interest rather than princi-
pal. As the loan is paid down, an increasing portion of each payment is allocated to
principal until a zero balance is reached at maturity.
For these four AMRT_TYPE_CDs, the amount in the CUR_PAYMENT field should
equal principal plus interest.
Below is a breakout of these four conventionally amortizing AMRT_TYPE_CDs:

Conventional Loan Type Description


100 Conventional Fixed (Described above)
400 Balloon A loan in which the amortization term (AMRT_
TERM) of an instrument exceeds the maturity
term (ORG_TERM). For example a loan with an
original term of seven years is amortized
conventionally as if it were a 30-year instrument.
At the end of the 7th year, there exists a large
balloon payment that represents 23 years of
non-amortized loan balance.
500 Conventional Adjustable Repricing instrument with conventional
amortization.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-11


Cash Flow Columns

Conventional Loan Type Description


600 Adjustable Neg Am In a negatively amortizing instrument, the
principal of a loan increases when the loan
payments are insufficient to pay the interest due.
The unpaid interest is added to the outstanding
loan balance, causing the principal to increase
rather than decrease, as payments are made.
Please see NEG_AMRT_AMT for more details.

OFSA does not treat AMRT_TYPE_CD 100, 400 or 500 differently. For a given
record, the use of any of these three types produces identical results. The division is
simply for product distinction purposes. For instance, AMRT_TYPE_CD 100 can be
used for a fixed-rate, adjustable-rate or a balloon record. However only an AMRT_
TYPE 600 record uses the OFSA negative amortization fields.
OFSA does not use AMRT_TYPE_CD to identify whether a record is adjustable or
not. OFSA uses REPRICE_FREQ (and in Risk Manager, ADJUSTABLE_TYPE_CD)
for this purpose. Therefore, any amortization type can be adjustable.
OFSA does not use AMRT_TYPE_CD to determine whether a record is a balloon or
not. OFSA uses AMRT_TERM and ORG_TERM for this purpose. Therefore, even a
level principal AMRT_TYPE_CD could be treated as a balloon instrument.
A record must be AMRT_TYPE_CD 600 in order for OFSA to process the record
using the negative amortization fields.

700 Simple Interest (Non-amortizing)

Principal

Interest

Maturity Date

For simple interest amortization type, no principal is paid until maturity. If NEXT_
PAYMENT_DATE < MATURITY_DATE, OFSA calculates interim interest-only pay-
ments as shown in the above diagram. OFSA pays the entire record’s principal bal-
ance on the maturity date along with the appropriate interest amount.
For this AMRT_TYPE_CD, the CUR_PAYMENT field should equal ’0’.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-12 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

710: Rule of 78s


An amortization type in which the following calculation is used in computing the
interest rebated when a borrower pays off a loan before maturity.
For example, in a 12-month loan, the total is 78 (1 + 2 + ... 12 = 78). For the first
month, 12/78 of the total interest is due. In the second month, this amount is 11/78
of the total.
For Rule of 78 AMRT_TYPE_CDs, the amount in the CUR_PAYMENT field should
equal principal plus interest. See Chapter 9, "Cash Flow Calculations" for further
information.

800 - 802: Payment Schedule


The key for matching the instrument record with its corresponding payment sched-
ule record is the INSTRUMENT_TYPE_CD and ID_NUMBER.

800: Conventional Payment Schedule This AMRT_TYPE_CD conventionally


amortizes a record whose cash flows are defined in the PAYMENT_SCHEDULE
table. Payment amounts should contain both principal + interest.

801: Level Principal Payment Schedule This AMRT_TYPE_CD level principal


amortizes a record whose cash flows are defined in the PAYMENT_SCHEDULE
table. Payment amounts should contain principal only.

802: Simple interest Payment Schedule This AMRT_TYPE_CD simple interest


amortizes a record whose cash flow dates are defined in the PAYMENT_ SCHED-
ULE table. Payment amounts should equal 0 (the engine calculates interest and
ignores payment amount in the schedule records). Principal balanceis paid on the
maturity date as defined in the schedule.

820 Level Principal Payments

Principal

Interest

Maturity Date

Level principal payment is the amortization type in which the principal portion of
the loan payment remains constant for the life of loan. Interest (non-shaded por-
tion) is calculated as a percentage of the remaining balance, and therefore,

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-13


Cash Flow Columns

the interest portion decreases as the maturity date nears. Because the principal por-
tion of payment is constant for life, the total payment amount (principal plus inter-
est) decreases as the loan approaches maturity.
For this AMRT_TYPE_CD, the amount in the CUR_PAYMENT field should equal
the principal portion only.

1000 - 29999: User-Defined Payment Patterns


Records with this range of AMRT_TYPE_CDs are matched to the user-defined
amortizations in the OFSA interface. The key for matching is the AMRT_TYPE_CD
value. These records can only be defined as conventionally amortizing, level-princi-
pal, or simple interest.

999: Other Amortization Type.


If this value is used, OFSA uses the AMRT_TYPE_CD 700, simple interest amortiza-
tion method. Using this AMRT_TYPE_CD for product identification purposes is not
recommended. This should be reserved for indicating erroneous data extraction.
For calculation methods of the different AMRT_TYPE_CDs, see Current Payment
(CUR_PAYMENT).

Data Verification Requirements and Suggested Defaults


■ All accounts require a valid AMRT_TYPE_CD as listed above.
■ If the AMRT TYPE <> 700 or is not a simple interest-amortizing schedule or
pattern record, CUR_PAYMENT must be valid. If CUR_PAYMENT value is too
small or equal to ’0’, OFSA may generate erroneous cash flows, depending on
the AMRT_TYPE_CD selected.
■ If the record is defaulted to AMRT_TYPE_CD 999, or if it cannot find a match in
PAYMENT_SCHEDULE or PAYMENT_PATTERNS, OFSA processes the record
as AMRT_TYPE_CD 700.
■ Suggested defaults in the table below are dependent on basic knowledge of
product characteristics:

Suggested
Loan Type AMRT_TYPE_CD
Non-amortizing, such as Certificates of Deposit 700
Fixed amortizing, such as short term consumer loans 100
Variable amortizing, such as adjustable-rate mortgages 500

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-14 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

■ Rule of 78s instruments are implicitly fixed.


If AMRT_TYPE_CD = 710, REPRICE_FREQ = 0.

Amortization Term (AMRT_TERM)

Definition
Amortization term is used in conjunction with AMRT_TERM_MULT to define the
term over which the payment is amortized.

Module Usage
AMRT_TERM is used by Oracle Risk Manager and Oracle Transfer Pricing adjust-
able-rate cash flow transfer-priced records.

Amortization Term
Amortization term has two main purposes:
■ Identifies whether a record is a balloon and is used in calculation of payment
amounts.
■ Used when re-calculating payment amounts for User-Defined Payment Pattern
records that are defined as % Current Payment and have more than one
payment frequency defined in the OFSA interface.

Balloon Check
As an initial step before processing a record’s cash flows, OFSA compares the
record’s ORG_TERM with its AMRT_TERM. If AMRT_TERM = ORG_TERM. OFSA
then uses the CUR_PAYMENT from the record. When appropriate, OFSA later
recalculates the CUR_PAYMENT if: 1) The record reprices; 2) The TEASER_END_
DATE is reached; or 3) A negative amortization-related recalculation date is
reached.
If the AMRT_TERM > ORG_TERM, OFSA recognizes the record as a balloon, and
recalculates the payment amount. In order to perform this calculation (see Current
Payment (CUR_PAYMENT) for the formula), OFSA must derive the remaining
number of payments until the end of the amortization term. This is calculated by
adding the AMRT_TERM to the ORIGINATION_DATE to determine the amortiza-
tion end date. The remaining number of payments is calculated by determining
how many payments can be made from and including the NEXT_PAYMENT_DATE
and this date. Below is the formula used for determining the remaining number of
payments:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-15


Cash Flow Columns

(((ORIGINATION_DATE - Beginning of Payment Period Date) / 30.41667 +


AMRT_TERM) / PMT_FREQ)
Beginning of Payment Period Date refers to the date of the current payment that
OFSA is calculating. This would equal the detail record’s NEXT_PAYMENT DATE
if OFSA were calculating the first forecasted cash flow. After the remaining number
of payments have been calculated, OFSA derives the CUR_PAYMENT amount and
apply it to the record’s cash flows. Ignoring repricings and other recalculation
events, this payment amount is paid until maturity, at which time OFSA pays the
record’s balloon payment (the remaining principal portion).

User-Defined Pattern
Records that are defined as ’% Current Payment’ in the User-Defined Payment Pat-
tern screen and have more than one payment frequency defined in the OFSA inter-
face also recalculate the payment amount using the above formula.
The remaining number of payments on pattern records is calculated by rounding to
the nearest number of payments when the remaining term is not exactly divisible by
the payment frequency.

Data Verification Requirements and Suggested Defaults


■ If the record is a balloon, AMRT_TERM > ORG_TERM.
■ If the record is not a balloon, AMRT_TERM = ORG_TERM.
■ AMRT_TERM should never be less than ORG_TERM.
■ Do not default AMRT_TERM or ORG_TERM to ’0’. Use ’1’.
■ The validation of AMRT_TERM should always be done in conjunction with
AMRT_TERM_MULT.

Amortization Term Multiplier (AMRT_TERM_MULT)

Definition
Used in conjunction with AMRT_TERM to define the term over which the payment
is amortized.

Module Usage
This field is the multiplier of the AMRT_TERM field. It is used in conjunction with
AMRT_TERM to define the term over which the payment is amortized. Oracle Risk
Manager and Oracle Transfer Pricing cash flow transfer-priced records reference

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-16 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

AMRT_TERM_MULT when recalculating the current payment as defined under the


AMRT_TERM section. AMRT_TERM_MULT determines the units (Months, Days or
Years) of AMRT_TERM.

Data Verification Requirements and Suggested Defaults


Values are:
D = Days
M = Months
Y = Years

As of Date (AS_OF_DATE)

Definition
The date that the extracted data represents.

Module Usage
AS_OF_DATE is used for the following purposes:
■ Configuration ID filter (Oracle Risk Manager and Oracle Transfer Pricing)
■ Market value calculations (Oracle Risk Manager)
■ ’t’ calculation
■ Term of cash flow from AS_OF_DATE is used for matching cash flow for
discounting purposes.
■ Payment Schedules and Patterns - used to determine where in the life of the
loan the record is.
■ Transfer Pricing Remaining Term Pricing Basis

Configuration ID
Oracle Risk Manager and Oracle Transfer Pricing use AS_OF_DATE as a primary
data filter. When executing a Risk Manager or Transfer Pricing processing run,
OFSA compares the AS_OF_DATE in the active Configuration ID against the AS_
OF_DATE field of the detail instrument record. If AS_OF_DATE from the instru-
ment record is the same date as that from the Configuration ID, then OFSA pro-
cesses the instrument record. Otherwise, OFSA does not process the instrument
record.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-17


Cash Flow Columns

Market Value Calculations


■ When calculating the market valuation of a daily paying record (PMT_FREQ_
M = D), Risk Manager uses the AS_OF_DATE when calculating the ’t’ period
variable. See “Market Valuation Calculation” in the Chapter 9, "Cash Flow
Calculations," for calculations.
■ For the Risk Manager Discount ID methods Spot Interest Rate Code and
Forecast Remaining Term, the AS_OF_DATE is used in calculating the cash
flow’s discounting term. The cash flow date (payment date) is subtracted from
the AS_OF_DATE to determine this term. This term is then applied to the
appropriate discount yield curve in the Risk Manager Forecast Rates ID to
determine the discount rate for the record.

Payment Schedules and User-Defined Payment Patterns


■ Relative Patterns - AS_OF_DATE is used to determine where in the life of an
Payment Pattern a record is currently positioned. For relative patterns, the
Payment Frequencies specified in the Pattern interface are rolled forward from
the ORIGINATION_DATE until the rolled date is greater than the AS_OF_
DATE.
■ Absolute Patterns - In determining the first forecasted payment date, OFSA
selects the payment date in the pattern that corresponds to the first date after
the AS_OF_DATE.

Note: If NEXT_PAYMENT_DATE is different from the next


defined payment date in the absolute pattern, the NEXT_
PAYMENT_DATE is used instead. Therefore, OFSA requires that
the NEXT_PAYMENT_DATE correspond to the appropriate date in
the absolute payment pattern. See Next Payment Date (NEXT_
PAYMENT_DATE) for additional information.

■ Payment Schedules - OFSA makes the first forecasted payment based on the
first date in the payment schedule table after the AS_OF_DATE.

Transfer Pricing Remaining Term Pricing Basis When the Remaining Term Pric-
ing Basis is selected for the Transfer Pricing ID, transfer rates for the relevant meth-
odologies are calculated from the AS_OF_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-18 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


Unless the record has a future ORIGINATION_DATE, the following conditions
exist:
■ AS_OF_DATE = MATURITY_DATE - REMAIN TERM C.
■ AS_OF_DATE < NEXT_REPRICE_DATE
■ AS_OF_DATE < NEXT_PAYMENT_DATE
■ AS_OF_DATE < MATURITY_DATE
■ AS_OF_DATE >= ORIGINATION_DATE
■ AS_OF_DATE > ISSUE_DATE
■ AS_OF_DATE < PMT_ADJUST_DATE
■ AS_OF_DATE > LAST_PAYMENT_DATE

Compounding Basis Code (COMPOUND_BASIS_CD)

Definition
Indicates the compounding used to calculate interest income.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow calculations reference
the COMPOUND_BASIS_CD when determining the detail record’s compounding
method to be applied during interest income (financial element 430) calculations.
1. The following table shows the code values for the COMPOUND_BASIS_CD
and the interest calculation logic for an annual-paying instrument with 30/360
accrual basis code.

Code Value Description Annual Payment Calculation


110 Daily Balance * [(1 + Rate/365)^365-1]
120 Monthly Balance * [(1 + Rate/12)^12-1]
130 Quarterly Balance * [(1 + Rate/4)^4-1]
140 Semi-annual Balance * [(1 + Rate/2)^2-1]
150 Annual Balance * [(1 + Rate/1)^1-1]
160 Simple Balance * Rate (no compounding)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-19


Cash Flow Columns

Code Value Description Annual Payment Calculation


170 Continuous eRate Per Payment -1
200 At Maturity Balance * Rate (no compounding)
999 Other Balance * Rate (no compounding)

The annualized rate that is applied to the record for interest income calculations is
compounded according to one of the methods listed above.
2. OFSA compounds the rate on the record at the time of interest income
calculation. If the record has repriced, OFSA calculates the new rate, applies any
rounding, caps/floors, or tease periods, and then applies the compounding
calculation (COMPOUND_BASIS_CD) before calculating interest income
(financial element 430).
3. Simple and At Maturity calculate interest in the same manner. These two codes
do not compound the rate.
4. Compounded interest is calculated only when the compounding frequency is
less than the PMT_FREQ. If the compounding frequency is greater than the
PMT_FREQ, the model assumes simple compounding.

Data Verification Requirements and Suggested Defaults


■ A valid COMPOUND_BASIS_CD must be one of the values listed above.
■ Suggested default - If the record’s compounding is unknown, default to
COMPOUND_BASIS_CD = 160, Simple.

Current Book Balance (CUR_BOOK_BAL)

Definition
Current Gross Book Balance.

Module Usage

Risk Manager
When there is deferred balance (DEFERRED_CUR_BAL), Oracle Risk Manager uses
CUR_BOOK_BAL to calculate accretion/amortization (financial element 540) and
the deferred ending and average balances (financial element 520, 530).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-20 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Transfer Pricing Oracle Transfer Pricing uses CUR_BOOK_BAL during calcula-


tions for LEDGER_STAT transfer pricing.
When Remaining Term Calculation Mode is selected in the TP Process ID, and the
Target Balance for the subject product leaf is Book Balance, Oracle Transfer Pricing
Option Cost calculations use CUR_BOOK_BAL as the target balance to which the
sum of future discounted cash flows is set equal.

Data Verification Requirements and Suggested Defaults


■ Validate that CUR_BOOK_BAL = CUR_PAR_BAL + DEFERRED_CUR_BAL.

Current Gross Rate (CUR_GROSS_RATE)

Definition
Coupon rate of account, expressed in terms of an annualized rate.

Module Usage
When the Model with Gross Rates switch is turned on in the Risk Manager Leaf
Characteristics ID, or in the Process ID in Oracle Transfer Pricing, CUR_GROSS_
RATE is used to calculate forecasted cash flow. When switched on, OFSA uses the
record’s CUR_GROSS_RATE for two calculations:

Amortization When conventionally amortizing a record’s balance with the


’Model with Gross Rates’ option selected, OFSA uses the CUR_GROSS_RATE as the
customer rate. If the option is not selected, then OFSA uses CUR_NET_RATE as the
customer rate for amortization calculation.

Prepayments - In order to determine the rate at which the customer prepays, the
current customer rate must be compared to the market rate. If ’Model with Gross
Rates’ is switched on, then the customer rate is represented by the CUR_GROSS_
RATE. If the switch is not turned on, the CUR_NET_RATE is used as the current
customer rate.
If ’Model with Gross Rates’ is used, the Oracle Risk Manager Knowledge Engine
uses the CUR_GROSS_RATE for gross interest cash flow (financial element 435) cal-
culations. This means that the record amortizes and prepays according to the CUR_

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-21


Cash Flow Columns

GROSS_RATE, but the net cash flows associated interest income (financial element
430) are calculated from the CUR_NET_RATE.

Note: Depending on the NET_MARGIN_CD value, interest


income is calculated differently.

For a complete explanation of the relationship between NET_MARGIN_CD, CUR_


GROSS_RATE, and CUR_NET_RATE see Net Margin Code (NET_MARGIN_CD).
Following is an explanation of how Oracle Risk Manager calculates CUR_GROSS_
RATE:
Before the NEXT_REPRICE_DATE, OFSA uses the CUR_GROSS_RATE from
the detail record as the gross rate.
At or beyond the NEXT_REPRICE_DATE, OFSA matches the REPRICE_FREQ,
INTEREST_RATE_CD and the reprice date to the information contained in the
Risk Manager Forecast Rates ID. This is to assign a forecasted rate. The
MARGIN_GROSS is then added to this forecasted rate. Any rounding, rate
caps/floors, and tease periods are applied and the resulting rate is applied to
the record as the gross rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


Reprice Dates.

Data Verification Requirements and Suggested Defaults


■ All term accounts require a valid CUR_GROSS_RATE.
■ For non-interest earning/bearing accounts, CUR_GROSS_RATE = 0.
■ For transaction accounts where the rate changes daily, based upon average
balances, CUR_GROSS_RATE should be the spot rate at the time the extract
program is run.
■ CUR_GROSS_RATE >= 0.
■ CUR_GROSS_RATE = MARGIN_GROSS + value of index (IRC) that the
account is tied to (assuming periodic/lifetime caps/floors, tease periods do not
apply and rounding is taken into consideration).
■ CUR_GROSS_RATE should be validated while validating CUR_PAYMENT. See
Current Payment (CUR_PAYMENT) for validation formulas.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-22 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Current Net Rate (CUR_NET_RATE)

Definition
Interest rate that interest income due to the bank is based upon.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow calculations reference
CUR_NET_RATE for the following purposes:

Interest Income (Financial Element 430) Calculation CUR_NET_RATE is used to


derive the interest cash flow (income/expense) that is due to the financial institu-
tion (referred to as net). OFSA uses different Interest Income calculations depend-
ing on the ACCRUAL_BASIS_CD and INT TYPE. These calculations are presented
under the field heading Accrual Basis Code (ACCRUAL_BASIS_CD) and Interest
Type Code (INT_TYPE). Interest income is calculated on payment dates or the
record’s maturity date. As the calculations indicate, after referencing the
ACCRUAL_BASIS_CD, OFSA applies the CUR_NET_RATE to the entire payment
period (last ’Previous’ payment date to next ’Current’ payment date). If any repric-
ing occurred during the payment period, OFSA uses the last repriced rate that
occurred immediately before the next ’Current’ payment date.

Note: Whether or not the Model with Gross Rates option has been
selected in Leaf Characteristics (Risk Manager) or the Process ID
screen (Transfer Pricing), OFSA always calculates the bank’s
income according to the CUR_NET_RATE.

Prepayments As defined in the Prepayment ID interface, the Knowledge Engine


compares the customer rate to the market rate when determining the prepayment
rate. If the Model with Gross Rates option is not selected, the CUR_NET_RATE is
the customer rate and therefore is used for prepayment calculations.

Amortization When amortizing a record’s balance, a key input is the record’s cus-
tomer rate. If Model with Gross Rates is not selected, then OFSA uses the CUR_
NET_RATE for amortization purposes.

Note: Depending on the NET_MARGIN_CD value, interest


income are calculated differently. For a complete explanation of the
relationship between NET_MARGIN_CD, CUR_GROSS_RATE,
and CUR_NET_RATE see Net Margin Code (NET_MARGIN_CD).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-23


Cash Flow Columns

Following is an explanation of how Oracle Risk Manager calculates CUR_NET_


RATE:
Before the NEXT_REPRICE_DATE, Risk Manager uses the CUR_NET_RATE
from the detail record as the net rate.
At or beyond the NEXT_REPRICE_DATE, Risk Manager matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained in
the Forecast Rates ID. This is to assign a forecasted rate. The MARGIN is then
added to this forecasted rate. Any rounding, rate caps/floors, and tease periods are
applied and the resulting rate is applied to the record as the net rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

Data Verification Requirements and Suggested Defaults


■ All term accounts require a valid CUR_NET_RATE.
■ For non-interest earning/bearing accounts, CUR_NET_RATE = 0.
■ For transaction accounts where the rate changes daily based upon average
balances, CUR_NET_RATE should be the spot rate at the time the extract
program is run.
■ For interest-bearing accounts, CUR_NET_RATE >= 0.
■ CUR_NET_RATE = MARGIN + value of index that the account is tied to
(assuming periodic/lifetime caps/floors do not apply and rounding is taken
into consideration).

Current Option-Adjusted Spread (CUR_OAS)

Definition
The average spread over all stochastic rate paths that equate the discounted sum of
future cash flows to the target balance at the As Of Date.

Module Usage

Transfer Pricing When Remaining Term Calculation Mode is selected in the TP


Process ID, the Oracle Transfer Pricing option cost module writes the result of its
option-adjusted spread calculations to this column

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-24 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Current Par Balance (CUR_PAR_BAL)

Definition
Represents the starting balance from which Oracle Risk Manager cash flows are
generated.

Module Usage
Oracle Risk Manager and Transfer Pricing Cash Flow Remaining Term Pricing Basis
methodologies use the CUR_PAR_BAL field to derive the starting balance for amor-
tization calculations. For amortizing accounts, CUR_PAR_BAL is the balance the
Knowledge Engine amortizes over the remaining number of payments.

Risk Manager
1. As Risk Manager processes the record’s payment dates and its maturity date,
the CUR_PAR_BAL is reduced by the principal portion of the CUR_PAYMENT
amount until the principal balance reaches ’0’. Once the balance has been
reduced to ’0’, processing of the record ceases. The calculation method that
defines how the CUR_PAR_BAL amount is reduced is represented by the
AMRT_TYPE_CD and the CUR_PAYMENT fields.
2. The CUR_PAR_BAL is represented as Bucket 001 under financial element 60
(beginning balance in Risk Manager Result Detail Table (RES_DTL_XXXXXX))
and as the CUR_PAR_BAL in the RESULT_MASTER Table. Generally the CUR_
PAR_BAL from the detail record matches the balances in the Result Detail and
RESULT_MASTER Tables. However, there are three exceptions.
a. Exception 1 - If the record’s PERCENT_SOLD > 0, OFSA recalculates the
balance to equal CUR_PAR_BAL * (100 - PERCENT_SOLD). This is because
if any percentage of the balance is not actually owned by the financial
institution, it is not included in the forecast. See Percent Sold (PERCENT_
SOLD) for details. In this case, the RESULT_MASTER CUR_NET_PAR_BAL
and Result Detail balances would be smaller than the record’s CUR_PAR_
BAL.
b. Exception 2 - This exception applies to Discount/Premium records where
the DEFERRED CUR BAL <> 0. OFSA reads in the CUR_PAR_BAL amount
but processes only book balances when calculating cash flows. OFSA
calculates the book balance by adding the CUR_PAR_BAL and the
DEFERRED_CUR_BAL. See Deferred Current Balance (DEFERRED_CUR_
BAL) for details.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-25


Cash Flow Columns

c. Exception 3 - This exception applies when the NEXT_PAYMENT_DATE <


AS_OF_DATE. If the record’s NEXT_PAYMENT_DATE is less than the AS_
OF_DATE and the record’s AMRT_TYPE_CD <> 700, OFSA reduces the
CUR_PAR_BAL by the amount of the payments before the AS_OF_DATE.
For example, if the record’s CUR_PAR_BAL = $1000 and there are two
payments (each worth $100 of principal), OFSA’s beginning balance
(financial element 60) would be equal to $800.
3. For User-Defined Payment Patterns where the payment method is defined as ’%
Current Balance’, Oracle Risk Manager references the CUR_PAR_BAL field for
all payment amounts beyond the first forecasted payment amount.

Transfer Pricing
1. For the cash flow ’Remaining Term Pricing Basis’ methodologies in Oracle
Transfer Pricing, as OFSA processes the record’s payment dates and its maturity
date, the CUR_PAR_BAL is reduced by the principal portion of the CUR_
PAYMENT amount until the principal balance reaches ’0’. Once the balance has
been reduced to ’0’, processing of the record ceases. The calculation method that
defines how the CUR_PAR_BAL amount is reduced is represented by the
AMRT_TYPE_CD and the CUR_PAYMENT fields.
2. For User-Defined Payment Patterns where the payment method is defined as
"% Current Balance”, Oracle Transfer Pricing references the CUR_PAR_BAL
field for all payment amounts including the first one.
When Remaining Term Calculation Mode is selected in the TP Process ID, and the
Target Balance for the subject product leaf is Par Balance, Oracle Transfer Pricing
Option Cost calculations use CUR_PAR_BAL as the target balance to which the sum
of future discounted cash flows is set equal.

Data Verification Requirements and Suggested Defaults


■ CUR_PAR_BAL requires a valid balance for all accounts. If CUR_PAR_BAL = 0,
OFSA does not process the record.
■ CUR_PAR_BAL = CUR_BOOK_BAL - DEFERRED_CUR_BAL
■ CUR_PAR_BAL should have the same sign as CUR_PAYMENT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-26 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Current Payment (CUR_PAYMENT)

Definition
Represents the current periodic payment made against the outstanding balance.

Module Usage
For standard amortization types (those that are not non-patterned and non-sched-
uled), Oracle Risk Manager and Oracle Transfer Pricing use the CUR_PAYMENT
from the detail record for the life of the record until a payment recalculation occurs.
A payment recalculation occurs when the record is an:
■ Adjustable record and a reprice date (NEXT_REPRICE_DATE) is reached.
■ Adjustable record and the TEASER_END_DATE is reached (if TEASER_END_
DATE < NEXT_REPRICE_DATE, TEASER_END_DATE takes precedence).
■ AMRT TYPE = 600 and the PMT_ADJUST_DATE, NEG_AMRT_EQ_DATE, or
the NEG_AMRT_LIMIT is reached.
Depending on AMRT_TYPE_CD, CUR_PAYMENT may be composed of principal
or interest or both.

AMRT_TYPE_CD 700 (Simple Interest): CUR_PAYMENT equals interest only.


OFSA always calculates the interest component of any payment amount. Therefore,
for extracting purposes, a simple interest record’s CUR_PAYMENT = 0. If a repric-
ing event (payment recalculation event) occurs, the interest amount of the payment
(financial element 430, and if applicable, 435) is recalculated as indicated under the
ACCRUAL_BASIS_CD. The only principal payment is made at maturity (Maturity
Payment = financial element 195, 197).

AMRT_TYPE_CD 100, 400, 500, 600 (Conventionally Amortizing): For extracting


purposes, CUR_PAYMENT = principal + interest. If a payment recalculation event
occurs, OFSA recalculates the total CUR_PAYMENT amount using the following
formula:

Current Par Balance

1/Current Rate * (1-(1+Current Rate) ^(Remaining # of Payments)

This calculation derives the total payment amount, principal, and interest. To deter-
mine the interest income (financial element 430) portion and the principal (financial
element 190 or 192) portion of this payment amount, OFSA calculates the interest

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-27


Cash Flow Columns

income as indicated under the ACCRUAL_BASIS_CD. This income amount is then


subtracted from the calculated total payment amount to determine the principal
portion.
See Negative Amortization Amount (NEG_AMRT_AMT) for additional informa-
tion on AMRT_TYPE_CD 600.

AMRT_TYPE_CD 820 (Level Principal): For extracting purposes, CUR_PAYMENT


= principal only. If a repricing event occurs, OFSA recalculates the total CUR_PAY-
MENT amount using the following formula:

Current Par Balance

Remaining Number of Payments

This calculation yields the principal payment amount only (financial element 190 or
192). To derive the total payment amount, the interest amount (financial element
430) calculation (see Accrual Basis Code (ACCRUAL_BASIS_CD)) is applied and
added to the principal portion.
■ AMRT_TYPE_CD 800: Conventional payment schedule ’Payment Amount’
should contain both principal + interest. Payment recalculation is the same
as for conventionally amortizing. OFSA uses the CUR_PAYMENT from the
detail record for the first forecasted payment. Therefore, the CUR_
PAYMENT on the detail record should equal the corresponding payment in
the PAYMENT_SCHEDULE table.
■ AMRT_TYPE_CD 801: Level principal payment schedule ’Payment
Amount’ should contain principal only. Payment recalculation is the same
as under level principal AMRT_TYPE_CD 820. OFSA uses the CUR_
PAYMENT from the detail record for the first forecasted payment.
Therefore, the CUR_PAYMENT on the detail record should equal the
corresponding payment in the PAYMENT_SCHEDULE table.
■ AMRT_TYPE_CD 802: Simple interest payment schedule ’Payment
Amount’ should be equal to zero (for simple interest, the engine ignores
this field and just looks at the scheduled payment date). Interest
recalculation is the same as indicated under simple interest AMRT_TYPE_
CD 700.

AMRT_TYPE_CD 1000 - 29999, User-Defined Payment Patterns: Depending on


the payment method defined in the interface, Oracle Risk Manager may or may not
reference the CUR_PAYMENT field from the detail record.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-28 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Below is a grid that outlines the Oracle Risk Manager use of the CUR_PAYMENT
field depending on the payment method.

% Current % Original Interest % Original %Current


Payment Payment Only Balance Balance
Never Risk Manager Never Risk Manager Risk Manager
(always -Referenced for (always -Referenced for -Referenced for
calculated) first cash flow calculated) first cash flow first cash flow
only. only. only

Note: Oracle Transfer Pricing does not reference CUR_PAYMENT


when using the User-Defined Payment Patterns.

The method of recalculating payments for User-Defined Payment Patterns is depen-


dent on the payment type that is defined for the payment pattern: conventional,
level principal, or simple interest. Amortization recalculations correspond to
AMRT_TYPE_CDs 100, 820, and 700 respectively. Each is defined above.

Data Verification Requirements and Suggested Defaults


■ If AMRT_TYPE_CD = 100, 400, 500, 600, 710, 800 or is a
conventionally-amortizing payment pattern, CUR_PAYMENT should include
principal and interest.
■ If AMRT_TYPE_CD = 820, 801 or is a level principal-amortizing payment
pattern, CUR_PAYMENT should include principal only.
■ If AMRT_TYPE_CD = 700, 802, or is a simple interest-amortizing payment
pattern, CUR_PAYMENT can be ’0’.
■ For AMRT_TYPE_CD <> Simple Interest AMRT_TYPE_CDs, CUR_PAYMENT
must have the same sign as CUR_BOOK_BAL.
■ CUR_PAYMENT must be the same sign as the CUR_BOOK_BAL and CUR_
PAR_BAL fields.
■ If AMRT_TYPE_CD = 600 (Negative Amortization) and PMT_DECR_LF <> 0,
CUR_PAYMENT should be greater than or equal to ORG_PAYMENT_AMT * (1
- PMT_DECR_LF/100).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-29


Cash Flow Columns

■ If AMRT_TYPE_CD = 600 (Negative Amortization) and PMT_ INCR_LF <> 0,


CUR_PAYMENT should be less than or equal to ORG_PAYMENT_AMT * (1 +
PMT_INCR_LF/100).
■ CUR_PAYMENT can be validated by performing the following calculations:
■ For conventionally amortizing and Rule of 78s:
CUR_PAYMENT = (CUR_BOOK_BAL* (CUR_GROSS_
RATE/((12/PMT_FREQ[in months]) *100))) / (1 - ((1+(CUR_GROSS_
RATE /((12/ PMT_FREQ [in months])*100))) ^-(REMAIN_NO_PMTS_
C)))
■ For fixed rate accounts:
CUR_PAYMENT = (ORG_BOOK_BAL* (CUR_GROSS_
RATE/((12/PMT_FREQ[in months]) *100))) / (1 - ((1+(CUR_GROSS_
RATE /((12/ PMT_FREQ [in months])*100))) ^-(ORG_TERM/PMT_
FREQ [in months])))
■ For Level Principal records:
CUR_PAYMENT = CUR_BOOK_BAL / REMAIN_NO_PMTS_C
■ For fixed-rate accounts level principal records, the following should also be
true:
CUR_PAYMENT = ORG_BOOK_BAL/ (ORG_TERM/ PMT_FREQ [in
months])
■ For balloon records, the calculated remaining number of payments in the
amortization term (CRPAT) must be calculated first. This is demonstrated in
the Remaining Number of Payments (REMAIN_NO_PMTS_C) section. The
following calculation is used:
CUR_PAYMENT = (CUR_BOOK_BAL* (CUR_GROSS
RATE/((12/PMT_FREQ[in months]) *100))) / (1 - ((1+(CUR_GROSS_
RATE /((12/ PMT_FREQ [in months])*100))) ^-(CRPAT)))
■ For fixed rate accounts, the following should be true:
CUR_PAYMENT = (ORG_BOOK_BAL* (CUR_GROSS_
RATE/((12/PMT_FREQ[in months]) *100))) / (1 - ((1+(CUR_GROSS_
RATE /((12/ PMT_FREQ [in months])*100))) ^-(AMRT_TERM/PMT_
FREQ [in months])))

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-30 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Current Static Spread (CUR_STATIC_SPREAD)

Definition
The spread over the implied forward rates that equates the discounted sum of
future cash flows to the target balance at the As Of Date.

Module Usage

Transfer Pricing When Remaining Term Calculation Mode is selected in the TP


Process ID, the Oracle Transfer Pricing Option Cost module writes the result of its
static spread calculations to this column.

Current Transfer Pricing Period Average Daily Balance (CUR_TP_PER_ADB)

Definition
The average balance at the LAST_REPRICE_DATE.

Module Usage

Risk Manager
Oracle Risk Manager does not reference CUR_TP_PER_ADB or PRIOR_TP_PER_
ADB.

Transfer Pricing
When processing with the mid-period repricing option, Oracle Transfer Pricing ref-
erences CUR_TP_PER_ADB as the average daily balance at the time of the last
repricing event. This field is used in conjunction with the PRIOR_TP_PER_ADB
field.
1. Mid-period repricing produces an average transfer rate over the current
processing month if the LAST_REPRICE_DATE occurred since the beginning of
the processing month. CUR_TP_PER_ADB and PRIOR_TP_PER_ADB are used
as average balance weightings in the mid-period pricing equation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-31


Cash Flow Columns

An example of a mid-period pricing scenario follows. The table provides the


scenario specifics, followed by an explanation.

Fields Scenario
AS_OF_DATE 12/31/1997
LAST_REPRICE_DATE 12/15/1997
lAST_PAYMENT_DATE 12/15/1997 (balance was reduced on this date)
CUR_TP_PER_ADB $10,000
PRIOR_TP_PER_ADB $15,000
TRANSFER_RATE 3% from 11/15/1997 to 12/15/1997 (prior period, 30 days
in the period)
TRANSFER_RATE 5% from 12/15/1997 to 1/15/1998 (current period, 31
days in the period)

Without the mid-period repricing option, OFSA would assign a 5% transfer rate
to the record for the month of December. However, this is the transfer rate only
for the second half of December. The true transfer rate for the month should be
a balance-weighted average transfer rate over the entire month. Mid-period
repricing provides this by calculating the final transfer rate by weighting the
transfer rate results (from current and previous repricing periods) by average
balances and days. This final transfer rate is then applied to the detail record’s
TRANSFER_RATE field.
The equation used by Oracle Transfer Pricing for calculating Mid-Period
Repricing is as follows:
((CUR_TP_PER_ADB * Current Period Transfer Rate * Current Period Days)
+ S(PRIOR_TP_PER_ADB * Prior Period Transfer Rate * Prior Period Days))
/ ((CUR_TP_PER_ADB * Current Period Days) + S(PRIOR_TP_PER_ADB *
Prior Period Days))
From the example from above, the equation would be:
((10,000 * 5% * 31) + (15,000 * 3% * 30))/ ((10,000 * 31) + (15,000 * 30)) =
3.82%
Therefore, the correct transfer rate is 3.82%.
2. In reference to the above calculation, the CUR_TP_PER_ADB is used to
determine the balance as of the LAST_REPRICE_DATE and PRIOR_TP_PER_

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-32 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

ADB is used to determine the balance as of the repricing dates prior to the
LAST_REPRICE_DATE.
3. If the TEASER_END_DATE is greater than the AS_OF_DATE, the Mid-Period
Repricing does not apply and the CUR_TP_PER_ADB and PRIOR_TP_PER_
ADB fields are not used.
4. See the Oracle Transfer Pricing Reference Guide for more information.

Data Verification Requirements and Suggested Defaults


■ If the record is adjustable and repricing occurs within the month, CUR_TP_
PER_ADB = (average) balance at the time of the LAST_REPRICE_DATE.
■ If the CUR_TP_PER_ADB and PRIOR_TP_PER_ADB are not available, use
CUR_PAR_BAL as your default (otherwise mid-period repricing could result in
a zero transfer rate).

Deferred Current Balance (DEFERRED_CUR_BAL)

Definition
Current non-amortized deferred balance representing future income/expense, such
as premium, discount, fees, and costs.

Module Usage
DEFERRED_CUR_BAL holds the discount or premium (fee or cost) associated with
a bond or loan record.

Discounted Instrument A discount loan or instrument is one with interest


deducted from the face amount (CUR_PAR_BAL) of the loan at its origination. The
discount amount (DEFERRED_CUR_BAL) is the difference between the loan’s cur-
rent market price (CUR_BOOK_BAL) and its stated par value (CUR_PAR_BAL).
The DEFERRED_CUR_BAL, which represents income, is amortized over the life of
the instrument according to a constant yield calculation. Therefore, as the instru-
ment approaches maturity, the CUR_BOOK_BAL approaches the CUR_PAR_BAL.
For discounted instruments, the DEFERRED_CUR_BAL should be a negative bal-
ance. This indicates to OFSA that the balance is income.

Premium Instrument A premium bond or instrument is one in which the face


value is issued below the book value. The premium is represented by the
DEFERRED_CUR_BAL field, and, as with discounts, the deferred portion is

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-33


Cash Flow Columns

accreted over the life of the instrument. For a premium instrument the DEFERRED_
CUR_BAL represents an expense.
For instruments sold at a premium, DEFERRED_CUR_BAL should be positive,
indicating that the balance is an expense.
The relationship in OFSA between book, par and the deferred amount is as follows:
CUR_BOOK_BAL = CUR_PAR_BAL + DEFERRED_CUR_BAL
An example of this relationship for a discounted loan follows:
CUR_PAR_BAL = $10,000
CUR_BOOK_BAL = $9,000
DEFERRED_CUR_BAL = $1,000

1. OFSA performs a constant-yield amortization of the DEFERRED_CUR_BAL.


This enables the deferred balance to be accreted evenly over the life of the
instrument. This life-long accretion rather than a one-time realization of the
deferred amount at the inception of the instrument is dictated by general
accounting rules regarding discount or premium instruments. For certain fees
and costs, as well as premiums and discounts, banks must recognize
income/expense over the life of an account instead of at the inception of the
account. Hence, some deferred balances are amortized over an account’s
maturity term even if the account itself does not amortize (Chapter 9, "Cash
Flow Calculations," provides a textual explanation for the constant-yield
calculation.)
2. If the DEFERRED_CUR_BAL = 0, OFSA recognizes this record as having no
discount or premium (CUR_BOOK_BAL = CUR_PAR_BAL).

Data Verification Requirements and Suggested Defaults


■ For deferred income, (fees, discount), DEFERRED_CUR_BAL < 0.
■ For deferred expense, (costs, premium), DEFERRED_CUR_BAL > 0.
■ For accounts with deferred balances, the following equation must hold true:
CUR_BOOK_BAL = CUR_PAR_BAL + DEFERRED_CUR_BAL
■ For accounts with no deferred balances, DEFERRED_CUR_BAL = 0

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-34 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Deferred Original Balance (DEFERRED_ORG_BAL)

Definition
Original non-amortized deferred balance representing future income/expense, such
as premium, discount, fees, and costs.

Module Usage
This field must exist on the instrument table for cash flow processing, but is not
used in any of the cash flow calculations.

Data Verification Requirements and Suggested Defaults


Not applicable.

Gross Margin (MARGIN_GROSS)

Definition
The contractual spread that is added to the pricing index, which results in the cus-
tomer (Gross) rate, for adjustable rate accounts.

Module Usage

Risk Manager
1. If the Oracle Risk Manager Leaf Characteristics ID Model With Gross Rates is
switched on, MARGIN_GROSS is used by Risk Manager during cash flow
generation.
2. For adjustable-type records, MARGIN_GROSS is the contractual spread
above/below the index that is applied throughout the instrument’s life. The
customer’s gross rate (CUR_GROSS_RATE) is equal to the index to which the
record is tied to plus a spread, which is defined by the MARGIN_GROSS field.
3. The events of a repricing involving MARGIN_GROSS are as follows:
At a repricing event (or a TEASER_END_DATE) for an adjustable-rate record,
OFSA matches the INTEREST_RATE_CD, REPRICE_FREQ and repricing date
of the detail record to the Forecast Rates ID of Oracle Risk Manager.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-35


Cash Flow Columns

After matching the rate from the Forecast Rates ID, OFSA adds the MARGIN_
GROSS amount and applies any teases, rate caps/floors, and rounding to
derive the rate that is applied to the record.

Note: As explained in the ADJUSTABLE_TYPE_CD section, OFSA


does not reference repricing date information for ADJUSTABLE_
TYPE_CD = 30 or 50.

4. The repriced rate, defined in Step 3, equals the coupon rate that is used for
amortization and prepayment purposes only. Interest income (financial element
430) are still derived from the CUR_NET_RATE + MARGIN.

Note: If the Risk Manager Process ID has the Model with Gross
Rates option switched off, OFSA uses the CUR_NET_RATE and
MARGIN for amortization, prepayment, and interest income
calculation purposes.
However, there is one exception to this, which is described in Net
Margin Code (NET_MARGIN_CD) section.

For additional information see Current Gross Rate (CUR_GROSS_RATE).

Transfer Pricing
MARGIN_GROSS is not used by Oracle Transfer Pricing.

Data Verification Requirements and Suggested Defaults


■ For fixed rate accounts, MARGIN_GROSS = 0.
■ For adjustable rate accounts with no contractual margin, MARGIN_GROSS = 0.
■ For administered rate accounts, MARGIN_GROSS = 0.

Historic Option-Adjusted Spread (HISTORIC_OAS)

Definition
The average spread over all stochastic rate paths that equates the discounted sum of
future cash flows to the target balance at origination.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-36 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Module Usage

Transfer Pricing When Standard Calculation Mode is selected in the TP Process


ID, the Oracle Transfer Pricing option cost module writes the result of its
option-adjusted spread calculations to this column.

Historic Static Spread (HISTORIC_STATIC_SPREAD)

Definition
The spread over the implied forward rates that equates the discounted sum of
future cash flows to the target balance at origination.

Module Usage

Transfer Pricing When Standard Calculation Mode is selected in the TP Process


ID, the Oracle Transfer Pricing option cost module writes the result of its static
spread calculations to this column.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-37


Cash Flow Columns

ID Number (ID_NUMBER)

Definition
Account number identifying individual customer accounts.

Module Usage
ID_NUMBER identifies the individual customer accounts in instrument tables. The
ID_NUMBER should be unique for a given IDENTITY_CODE within an instru-
ment table. OFSA cash flow processing uses ID_NUMBER to identify each account
as it is processed.
It is also important for instruments with Payment Schedules (AMRT_TYPE_CD 800,
801, 802) because OFSA uses the INSTRUMENT_TYPE_CD and ID_NUMBER to
determine the payment dates and amounts from PAYMENT_SCHEDULE.

Data Verification Requirements and Suggested Defaults


■ ID_NUMBER is loaded into instrument tables from the source data. Because the
database ensures that ID_NUMBER is unique for each IDENTITY_CODE, there
are no edits or defaults for this field.

Identity Code (IDENTITY_CODE)

Definition
Data identifier.

Module Usage
IDENTITY_CODE is an identifier for sets of data loaded into an instrument table.
IDENTITY_CODE identifies the data source for the individual customer account.
OFSA uses IDENTITY_CODE to uniquely identify individual customer accounts.
The combination of ID_NUMBER and IDENTITY_CODE must be unique.

Data Verification Requirements and Suggested Defaults


■ IDENTITY_CODE is loaded into instrument tables from the source data.
Because the database ensures that the combination of IDENTITY_CODE and
ID_NUMBER is unique, there are no edits or defaults for this field.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-38 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Instrument Type Code (INSTRUMENT_TYPE_CD)

Definition
Code identifying the instrument category of the customer account.

Module Usage
INSTRUMENT_TYPE_CD identifies the account’s instrument. The following table
lists each of the available INSTRUMENT_TYPE_CD values:

Code Value Description


110 Commercial loans
120 Consumer loans
130 Mortgages
140 Investments
141 MBS
150 Credit card
210 Deposits
220 Wholesale funding

OFSA uses the INSTRUMENT_TYPE_CD to determine the instrument of an


account when accounts of different instruments are grouped together (on a report or
other query).
It is also important for instruments with Payment Schedules (AMRT_TYPE_CD 800,
801, 802) because OFSA uses the INSTRUMENT_TYPE_CD and ID_NUMBER to
determine the payment dates and amounts from PAYMENT_SCHEDULE.

Data Verification Requirements and Suggested Defaults


The INSTRUMENT_TYPE_CD value for an individual account should match the
instrument type of the table in which it is stored. For example, all account records
stored in the DEPOSITS table should be assigned INSTRUMENT_TYPE_CD = 210.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-39


Cash Flow Columns

Interest Type Code (INT_TYPE)

Definition
Determines whether interest cash flows are paid in advance or in arrears.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence INT_TYPE in determining whether interest payments are made in arrears or in
advance. INT_TYPE impacts the calculation of interest income (financial element
430, 435).
1. If INT_TYPE = 1, the record is considered ’interest in arrears’. Interest payments
are paid at the end of the payment period along with the principal payments.
See Accrual Basis Code (ACCRUAL_BASIS_CD) for interest income formulas.
2. If INT_TYPE = 2, the record is considered ’interest in advance’. Interest
payments are paid at the beginning of the payment period starting from the
ORIGINATION_DATE. Payments are made on every payment date except for
the MATURITY_DATE.
3. The calculation used to determine interest income (financial element 430) for an
interest in advance record depends also on the ACCRUAL_BASIS_CD. Below
are the relevant equations for an ’interest in advance’ calculation:
For ACCRUAL_BASIS_CD 30/360, 30/365 and, 30/Actual the interest income cal-
culation, when PMT_FREQ_MULT = M (assuming no compounding), is:
Current Period’s Ending Balance * Cur Net Rate/100 * PMT_FREQ [number of
months] * [accrual basis] * (Following Payment Date - Next Payment
Date)/(Calculated Following Payment Date - Next Payment Date)
where:
■ ’Following Payment Date’ is the payment after ’Next Payment Date’
■ ’Calculated Following Payment Date’ is the ’Next Payment Date’ rolled
forward by the number of months in PMT_FREQ

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-40 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

In most cases (a) would be the same as (b); however, if there is a short or
extended maturity, (a) <> (b), and therefore the last interest cash flow (in other
words, the payment just prior to maturity) would need to consider this factor.

Note: The ’Following Payment Date’ is the payment that follows


the one currently being calculated.

For ACCRUAL_BASIS_CD Actual/365, Actual/Actual, Actual/360 (the example is


for an Actual/365 record), the interest income calculation is:
Current Period’s Ending Balance * Cur Net Rate/100 * (Following Payment
Date - Current Payment Date)/365
4. Even though OFSA pays ’interest in advance’ on every payment date except for
the MATURITY_DATE, the REMAIN_NO_PMTS_C field should count
MATURITY_DATE as a payment date because principal is still paid on this
date.

Data Verification Requirements and Suggested Defaults


■ If INT_TYPE = 2, AMRT_TYPE_CD = 700, 820, 801, 802 or non-conventionally
amortizing User-Defined Payment Patterns.
■ INT_TYPE valid values are ’1’ and ’2’.
■ If INT_TYPE = 2, REMAIN_NO_PMTS_C should still count MATURITY_DATE
as a payment date.
■ If INT_TYPE = 2 and ORIGINATION_DATE > AS_OF_DATE, NEXT_
PAYMENT_DATE and LAST_PAYMENT_DATE = ORIGINATION_DATE.
■ If the ORIGINATION_DATE > AS_OF_DATE, the NEXT_PAYMENT_DATE
and LAST_PAYMENT_DATE should both equal the ORIGINATION_DATE.
■ For conventionally amortizing records, interest in advance is not a valid INT_
TYPE code. Interest in advance functions with simple interest and level
principal AMRT_TYPE_CDs.
■ If a compounding method has been chosen, OFSA derives the compounded rate
before calculating the above interest income amounts. See Compounding Basis
Code (COMPOUND_BASIS_CD) for further information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-41


Cash Flow Columns

Interest Rate Code (INTEREST_RATE_CD)

Definition
Identifies the index to which adjustable rate accounts are tied.

Module Usage

Risk Manager
The Oracle Risk Manager Knowledge Engine references INTEREST_RATE_CD
when calculating a forecasted interest rate for Oracle Risk Manager.
1. The detail record’s INTEREST_RATE_CD has a corresponding reference in the
Risk Manager Forecast Rate ID and Historical Rate ID. These Risk Manager IDs
contain the term structure and rate values of the yield curve.
2. At a repricing event (or a TEASER_END_DATE) for an adjustable-rate record,
OFSA matches the INTEREST_RATE_CD, REPRICE_FREQ and repricing date
of the detail record to the Forecast Rates ID of Risk Manager. After matching the
rate from the Forecast Rates ID, OFSA adds the MARGIN amount and applies
any teases, rate caps/floors, and rounding to derive the rate that is applied to
the record.

Note: As explained in the Adjustable Type Code (ADJUSTABLE_TYPE_


CD) section, OFSA does not reference repricing date information for
ADJUSTABLE_TYPE_CD = 30 or 50.

3. The exact value of the INTEREST_RATE_CD is user-defined, but it must be


within the range of 001 - 999. However, fixed-rate records, which do not
reference the INTEREST_RATE_CD, can be defaulted to a value of ë0í.

Transfer Pricing
Oracle Transfer Pricing does not reference INTEREST_RATE_CD because it pro-
cesses cash flows within repricing periods.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-42 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ If ADJUSTABLE_TYPE_CD = 0, INTEREST_RATE_CD can be defaulted to ë0í.
■ If ADJUSTABLE_TYPE_CD <> 0, INTEREST_RATE_CD = 001 - 999.

Issue Date (ISSUE_DATE)

Definition
Date the account was originated (issued) by the originating institution.

Module Usage
The Oracle Risk Manager Knowledge Engine references ISSUE_DATE for future
originating accounts.
ISSUE_DATE is referenced by the Knowledge Engine in Market Value and GAP cal-
culations when processing records with future origination dates. If ISSUE_DATE <=
AS_OF_DATE and ORIGINATION_DATE > AS_OF_DATE, the record is an account
which has been traded but not settled. Therefore, the record is included in the Risk
Manager Market Value and GAP results if these processing options have been
selected.
However, if ISSUE_DATE > AS_OF_DATE and ORIGINATION_DATE > AS_OF_
DATE, the record has been neither traded nor originated. Therefore the balance
associated with the record is not included in static Market Value or static GAP
results (static means as of the AS_OF_DATE).

Note: If the dynamic start dates in the Risk Manager


Configuration ID are set on or beyond the future ORIGINATION_
DATE of the record, Market Value and GAP results are calculated.

Data Verification Requirements and Suggested Defaults


■ For accounts originated by the current institution, ISSUE_DATE =
ORIGINATION_DATE.
■ For accounts acquired through acquisition of another institution, or purchase of
a pool of accounts, ISSUE_DATE < ORIGINATION_DATE.
■ If ORIGINATION_DATE from the original institution is not available, ISSUE_
DATE = ORIGINATION_DATE.
■ ISSUE_DATE + ISSUE TERM = MATURITY_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-43


Cash Flow Columns

■ ISSUE_DATE <= LAST_REPRICE_DATE


■ ISSUE_DATE <= ORIGINATION_DATE. ISSUE_DATE cannot be greater than
ORIGINATION_DATE.
■ For adjustable-rate records, when the LAST_REPRICE_DATE is less than the
ISSUE_DATE, transfer pricing does not occur. If ADJUSTABLE_TYPE_CD = 0,
LAST_REPRICE_DATE can be defaulted to be less than or equal to the ISSUE_
DATE.

Last Payment Date (LAST_PAYMENT_DATE)

Definition
The date on which the record’s last payment was made.

Module Usage

Risk Manager
Oracle Risk Manager uses LAST_PAYMENT_DATE to calculate the payment period
and interest income (financial element 430) for the first forecasted cash flow.
1. The first forecasted cash flow from the AS_OF_DATE references NEXT_
PAYMENT_DATE minus LAST_PAYMENT_DATE in order to determine the
payment period for interest income calculations. The use of LAST_PAYMENT_
DATE rather than (NEXT_PAYMENT_DATE - PMT_FREQ) provides for short
or extended first period payments. Beyond the first forecasted cash flow
(NEXT_PAYMENT_DATE), OFSA rolls forward by PMT_FREQ until
MATURITY_DATE. See Next Payment Date (NEXT_PAYMENT_DATE) for
further information.
2. For instruments that have been originated in the past (AS_OF_DATE >=
ORIGINATION_DATE), the LAST_PAYMENT_DATE should always be greater
than or equal to the ORIGINATION_DATE.
3. For future originations (AS_OF_DATE < ORIGINATION_DATE), LAST_
PAYMENT_DATE should always be equal to the ORIGINATION_DATE.
4. Even though the first forecasted cash flow may be extended, the PMT_FREQ
should always be extracted as the records general frequency of payment.
5. For interest income calculation examples that reference LAST_PAYMENT_
DATE, see Accrual Basis Code (ACCRUAL_BASIS_CD) and Interest Type Code
(INT_TYPE).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-44 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Transfer Pricing
Oracle Transfer Pricing does not reference LAST_PAYMENT_DATE.

Data Verification Requirements and Suggested Defaults


■ Default to NEXT_PAYMENT_DATE - PMT_FREQ if actual LAST_PAYMENT_
DATE is not available.
■ LAST_PAYMENT_DATE < NEXT_PAYMENT_DATE.
■ If ORIGINATION_DATE > AS_OF_DATE, LAST_PAYMENT_DATE =
ORIGINATION_DATE.
■ If ORIGINATION_DATE <= AS_OF_DATE, LAST_PAYMENT_DATE >=
ORIGINATION_DATE.
■ If INT_TYPE = 2 and ORIGINATION_DATE > AS_OF_DATE, NEXT_
PAYMENT_DATE and LAST_PAYMENT_DATE = ORIGINATION_DATE.

Last Repricing Date (LAST_REPRICE_DATE)

Definition
For adjustable rate accounts, the‘ last date that the current interest rate changed.

Module Usage

Risk Manager
Oracle Risk Manager does not reference the LAST_REPRICE_DATE field for either
fixed or adjustable-rate records. All rate information in Risk Manager is generated
in the future from the AS_OF_DATE. CUR_NET_RATE, CUR_GROSS_RATE, and
TRANSFER_RATE information from the detail record are referenced to obtain the
rate information from the LAST_REPRICE_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-45


Cash Flow Columns

Transfer Pricing
1. For an adjustable-rate straight term transfer-priced record, Oracle Transfer
Pricing uses the LAST_REPRICE_DATE to identify the assignment date (Yield
Curve Date). The Interest Rate Code’s assignment date just before (or equal to)
the record’s LAST_REPRICE_DATE is used as the transfer pricing yield curve.
For example, if the record’s LAST_REPRICE_DATE = 1/15/1997 and the
Historical Rate ID’s interest rate code (IRC) is defined at monthly intervals and
only at month-end, the assignment date would be 12/31/1996. The REPRICE_
FREQ is then matched to the same term on the transfer pricing yield curve
(IRC) defined in the Historical Rates ID in Oracle Transfer Pricing.
2. For an adjustable-rate cash flow transfer-priced record, OFSA cash flow transfer
prices all payments that occur from the LAST_REPRICE_DATE to the NEXT_
REPRICE_DATE. In this case, the term and date as defined by these two fields
are not used directly to define the transfer rate. They are the starting and ending
points within which OFSA applies cash flow transfer pricing.
3. For fixed-rate records, the LAST_REPRICE_DATE and NEXT_REPRICE_DATE
are not referenced. ORIGINATION_DATE and MATURITY_DATE are used
instead.

Data Verification Requirements and Suggested Defaults


■ Oracle Transfer Pricing specific:
■ If REPRICE_FREQ = 0, LAST_REPRICE_DATE = ORIGINATION_DATE.
■ If REPRICE_FREQ <> 0, LAST_REPRICE_DATE >= ORIGINATION_DATE
■ If REPRICE_FREQ <> 0, LAST_REPRICE_DATE <= AS_OF_DATE
■ If REPRICE_FREQ <> 0 and TEASER_END_DATE <= AS_OF_DATE, LAST_
REPRICE_DATE + REPRICE_FREQ = NEXT_REPRICE_DATE LAST_
Note: In addition to REPRICE_FREQ, Oracle Risk Manager also
uses the ADJUSTABLE_TYPE_CD to determine if a record is
adjustable.

REPRICE_DATE < NEXT_REPRICE_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-46 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Last Reprice Date Balance (LRD_BALANCE)

Definition
Balance as of the record’s previous repricing event.

Module Usage

Risk Manager
Oracle Risk Manager does not reference the LRD_BALANCE.

Transfer Pricing
Oracle Transfer Pricing cash flow methodologies reference LRD_BALANCE when
transfer-pricing adjustable-rate records. LRD_BALANCE holds the balance as of the
LAST_REPRICE_DATE.
When transfer pricing adjustable-rate records, LRD_BALANCE is used as the start-
ing balance from the LAST_REPRICE_DATE. When cash flow transfer pricing an
adjustable-rate record, OFSA calculates the payment events from the LAST_
REPRICE_DATE to the NEXT_REPRICE_DATE. If payments (amortization)
occurred in between the LAST_REPRICE_DATE and the AS_OF_DATE, the record’s
existing CUR_PAR_BAL is smaller than it was on the LAST_REPRICE_DATE.
Therefore, in order to provide an accurate balance amount at the time of the LAST_
REPRICE_DATE, the LRD_BALANCE has been provided. Oracle Transfer Pricing
amortizes the LRD_BALANCE from the LAST_REPRICE_DATE until the NEXT_
REPRICE_DATE.

Data Verification Requirements and Suggested Defaults


■ If the record is fixed-rate, LRD_BALANCE = ORG_PAR_BAL.
■ If the record is adjustable-rate, LRD_BALANCE = balance as of the last reprice
date.
■ If the balance as of the last reprice date is not known, default LRD_BALANCE
to CUR_PAR_BAL.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-47


Cash Flow Columns

Margin (MARGIN)

Definition
MARGIN is the contractual spread in Oracle Risk Manager that is added to the pric-
ing index and results in the financial institution’s retention (net) rate, for adjust-
able-rate accounts.

Module Usage

Risk Manager
1. MARGIN is used during cash flow generation.
2. For adjustable-type records, MARGIN is the contractual spread above/below
the index that is applied throughout the instrument’s life. The financial
institution’s retention rate (CUR_NET_RATE) is equal to the index that the
record is tied to plus a spread, which is defined by the MARGIN field.
3. The events of a repricing involving MARGIN are as follows:
At a repricing event (or a TEASER_END_DATE) for an adjustable-rate record,
OFSA matches the INTEREST_RATE_CD, REPRICE_FREQ and repricing date
of the detail record to the Forecast Rates ID. After matching the rate from the
Forecast Rates ID, OFSA adds the MARGIN amount and applies any teases,
rate caps/floors, and rounding to derive the rate that is applied to the record.

Note: As explained in the Adjustable Type Code (ADJUSTABLE_


TYPE_CD) section, OFSA does not reference repricing date
information for ADJUSTABLE_TYPE_CD = 30 or 50.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-48 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

4. The repriced rate defined in Step 3 equals the coupon rate that is used for
amortization, prepayment, and interest income (financial element 430)
calculations.

Note: If the OFSA/RM Leaf Characteristics ID has the ’Model


with Gross Rates’ option switched on, OFSA uses the CUR_
GROSS_RATE and MARGIN_GROSS for amortization and
prepayment purposes.

For more detailed information on this see the Current Gross Rate (CUR_
GROSS_RATE) section.

Transfer Pricing
MARGIN is used only when mid-period repricing is selected for spread from Note
Rate to compute the rate from a prior period.

Data Verification Requirements and Suggested Defaults


■ For administered rate accounts, MARGIN = 0.
■ For adjustable rate accounts with no contractual margin, MARGIN = 0.
■ For applicable accounts, margin can be positive or negative.

Market Value (MARKET_VALUE_C)

Definition
Market Value Price, calculated by Oracle Risk Manager, or populated by the institu-
tion for use by Oracle Transfer Pricing Option Cost calculations.

OFSA Module Usage

Risk Manager
Oracle Risk Manager computes MARKET_VALUE_C when the Market Value
option is selected in the Risk Manager Process ID and the ’Calculate MV’ and
’Update Instr Data’ options are selected in the active Configuration ID (dynamic
buckets section).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-49


Cash Flow Columns

It is calculated as:
Market Value / CUR_NET_PAR_BAL_C * 100
where the Market Value is based on the Discount Rate ID assumptions used in
the Process ID.

Transfer Pricing
Oracle Transfer Pricing does not use MARKET_VALUE_C, except in Option Cost-
ing. When Remaining Term Calculation Mode is selected in the TP Process ID, and
the Target Balance for the subject product leaf is Market Value, Oracle Transfer Pric-
ing Option Cost calculations use the product of CUR_PAR_BAL and MARKET_
VALUE_C as the target balance to which the sum of future discounted cash flows is
set equal.

Data Verification Requirements and Suggested Defaults


Because Oracle Risk Manager calculates MARKET_VALUE_C, the default can be set
to 0 for organizations that use Oracle Risk Manager only. Organizations that use
Oracle Transfer Pricing option cost calculations may need to populate the column
during the extract and record loading process.

Matched Spread (MATCHED_SPREAD_C)

Definition
Interest margin on a product, calculated by Oracle Transfer Pricing.

Module Usage

Risk Manager
Oracle Risk Manager does not use MATCHED_SPREAD_C.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-50 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Transfer Pricing
Oracle Transfer Pricing computes MATCHED_SPREAD_C when processing using
the standard pricing basis (when the remaining term pricing basis switch in the
Transfer Pricing Process ID is off). It is calculated as follows:
For assets: Current Net Rate - Transfer Rate
For liabilities: Transfer Rate - Current Net Rate

Data Verification Requirements and Suggested Defaults


Because OFSA calculates MATCHED_SPREAD_C, the default can be set to 0.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-51


Cash Flow Columns

Maturity Date (MATURITY_DATE)

Definition
Contractual date on which the principal balance of an earning asset or debt instru-
ment is due and payable to the holder.

Module Usage
For both Oracle Risk Manager and Oracle Transfer Pricing, MATURITY_DATE
defines the final date of payment for the record. The MATURITY_DATE signals the
end of processing for a given record.

Risk Manager
1. As described in the NEXT_PAYMENT_DATE section, OFSA processes a record
until the MATURITY_DATE has been reached. This occurs in one of two ways:
■ The PMT_FREQ is rolled until it finally reaches the MATURITY_DATE.
■ The REMAIN_NO_PMTS_C is reduced to ’1’, in which case, the record
immediately moves to its MATURITY_DATE. See Remaining Number of
Payments (REMAIN_NO_PMTS_C) and Amortization term (AMRT_
TERM) for details, including special considerations for payment-patterned
records.
2. MATURITY_DATE is considered the final payment date. Any remaining
principal balance that was not reduced by a scheduled payment date is paid on
the MATURITY_DATE (regularly scheduled principal runoff is financial
element 190 or 192 and maturity principal runoff is financial element 195 or
197). Therefore, at the MATURITY_DATE, the record’s balance is reduced to ’0’.
3. If the record has a balloon amortization, the maturity payment iincludes the
balloon or large final payment.
4. User-Defined Payment Schedules are an exception. Payment Schedules make
their final payment on the last day as defined in the PAYMENT_SCHEDULE
table. MATURITY_DATE is not referenced.
5. User-Defined Payment Patterns reference the MATURITY_DATE as the final
payment date. In addition, in order to calculate the remaining number of
payments, if the payment pattern is ’split’ or if the balance is a new business
record, Oracle Risk Manager references the payment pattern payment
frequencies and counts the number of payments from the AS_OF_DATE to the
MATURITY_DATE (new business records reference the future date of
origination rather than the AS_OF_DATE).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-52 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Transfer Pricing
1. MATURITY_DATE is referenced for fixed-rate straight term transfer pricing
methodologies. When defining the record’s transfer pricing term, OFSA
subtracts the ORIGINATION_DATE from the MATURITY_DATE. The term is
then matched to the relevant Interest Rate Code (IRC) in the Historical Rates ID.
The derived rate are applied to the record as the TRANSFER_RATE.
2. MATURITY_DATE is referenced by cash flow transfer pricing methodologies
for both adjustable and fixed-rate records. For adjustable records, OFSA transfer
prices all cash flows on payment dates within the LAST_REPRICE_DATE and
NEXT_REPRICE_DATE. The MATURITY_DATE is used to determine the last
payment of a record. Its use is the same as described below for Oracle Risk
Manager records.
3. The MATURITY_DATE is also referenced in order to determine the remaining
number of payments for user-defined payment pattern records. OFSA
references the payment pattern payment frequencies and counts the number of
payments from the ORIGINATION_DATE to the MATURITY_DATE.

Data Verification Requirements and Suggested Defaults


■ For non-term accounts, MATURITY_DATE = AS_OF_DATE + 1 Day. If
MATURITY_DATE is defaulted to 19000101, the record’s balance is not
processed by Oracle Risk Manager.
■ For term accounts, MATURITY_DATE is required.
■ If the record is not past due or defaulted, MATURITY_DATE > AS_OF_DATE.
■ MATURITY_DATE = ORIGINATION_DATE + ORG_TERM
■ MATURITY_DATE = ISSUE_DATE + ISSUE_TERM
■ MATURITY_DATE = AS_OF_DATE + REMAIN_TERM_C
■ MATURITY_DATE <= NEXT_PAYMENT_DATE + (REMAIN_NO_PMTS_C *
PMT_FREQ).
Assume that MATURITY_DATE is less than NEXT_PAYMENT_DATE +
(REMAIN_NO_PMTS_C * PMT_FREQ). This implies that an account’s
calculated final payment date differs from MATURITY_DATE (the condition
results in what is called a stub payment). In this case, the Knowledge Engine
forces the true last payment to be made on the maturity date. If condition ’7’ is
not met (most likely caused because REMAIN_NO_PMTS_C is too low), the
Knowledge Engine skips scheduled payments.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-53


Cash Flow Columns

Negative Amortization Amount (NEG_AMRT_AMT)

Definition
The total amount of principal added to outstanding principal, resulting from pay-
ments which were not large enough to cover interest due.

Module Usage
The Oracle Risk Manager and Oracle Transfer Pricing adjustable-type cash flow
methodologies reference NEG_AMRT_AMT in calculating the current payment for
negative amortization-type accounts. This is relevant only for adjustable-rate
accounts with AMRT_TYPE_CD = 600.
1. In a negatively amortizing record, the CUR_PAYMENT is less than the principal
and interest that is due on the payment date. The interest portion that is not
included in the payment goes to two places. It is added to the NEG_AMRT_
AMT field and is added back to the principal amount. Because the NEG_
AMRT_AMT balance is already included in the outstanding principal balance,
NEG_AMRT_AMT is not explicitly used when the Knowledge Engine fully
re-amortizes the account.
2. NEG_AMRT_AMT is used by the Knowledge Engine to keep track of negative
amortization separately from non-negative amortization (normal) principal
balance. It is separate for two reasons:
■ Because OFSA pays down the negatively amortized portion before the
principal portion, a separation of the two amounts must be done to enable
OFSA to identify what portion of the principal balance is negatively
amortized.
■ When calculating the current payment, the Knowledge Engine uses NEG_
AMRT_AMT in its check to see if NEG_AMRT_LIMIT has been exceeded.
See the Negative Amortization Limit (NEG_AMRT_LIMIT) for more
details.
Following is the process of events in regards to NEG_AMRT_AMT and related neg-
ative amortization fields:
1. Record is currently negatively amortizing because the payment amount, as
defined by CUR_PAYMENT, is not enough to cover the principal and interest
portion. The unpaid interest at each payment date goes into the NEG_AMRT_
AMT field and back into the principal
2. While calculating a payment event (payment date), if the Knowledge Engine
calculates negative principal runoff, OFSA checks the negative amortization

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-54 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

limit (NEG_AMRT_LIMIT) in order to ensure that the current NEG_AMRT_


AMT is not exceeding its limit. NEG_AMRT_LIMIT is defined as a percentage
of the original principal balance. If NEG_AMRT_AMT is exceeding this limit,
OFSA recalculates the payment amount in order to fully amortize the
instrument.
3. However, when deriving the recalculated payment amount after a NEG_
AMRT_LIMIT has been exceeded, OFSA also applies payment
decrease/increase limits per period (PMT_DECR_CYCLE, PMT_INCR_CYCLE)
and payment decrease/increase limits for the life of the record (PMT_DECR_
LIFE, PMT_INCR_LIFE). Because these fields limit how much the CUR_
PAYMENT can be changed, it is possible that the record continues to negatively
amortize even after a NEG_AMRT_LIMIT has been exceeded. If negative
amortization does continue, the NEG_AMRT_AMT continues to grow.
4. OFSA also attempts to recalculate the negatively amortizing payment amount
on a PMT_ADJUST_DATE. Just like a payment recalculation for a NEG_AMRT_
LIMIT, a payment recalculation on the PMT_ADJUST_DATE takes into account
the effects of payment decrease/increase limits per period and payment
decrease/increase limits for the life of the record. This provides for additional
negative amortization to occur even after the PMT_ADJUST_DATE has
recalculated the payment amount. PMT_ADJUST_DATE is incremented
forward by the PMT_CHG_FREQ field until the maturity.
5. In addition to PMT_ADJUST_DATE and NEG_AMRT_LIMIT, the record can
experience a payment recalculation on the negative amortization equalization
date (NEG_AMRT_EQ_DATE). On this date, the record’s CUR_PAYMENT will
be fully re-amortized. NEG_AMRT_EQ_DATE will ignore payment
decrease/increase limits per period and payment decrease/increase limits for
the life of the record. Therefore, after the payment recalculation of a NEG_
AMRT_EQ_DATE, the record will no longer be negatively amortizing and the
NEG_AMRT_EQ_DATE is incremented forward by the NEG_AMRT_EQ_FREQ
until maturity.

Data Verification Requirements and Suggested Defaults


■ NEG_AMRT_LIMIT must be within the range of ë0í to ë100í.
■ For AMRT_TYPE_CD <> 600, NEG_AMRT_AMT = 0.
■ If AMRT_TYPE_CD = 600, 0 <= NEG_AMRT_AMT <= NEG_AMRT_
LIMIT/100 * ORG_PAR_BAL
■ If not applicable, default to 0.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-55


Cash Flow Columns

Negative Amortization Equalization Date (NEG_AMRT_EQ_DATE)

Definition
The next date that a negative amortization-type account will fully re-amortize,
regardless of payment caps and floors.

Module Usage
The Oracle Risk Manager and Oracle Transfer Pricing adjustable-type cash flow
methodologies reference NEG_AMRT_EQ_DATE when calculating the current pay-
ment for negative amortization-type accounts. NEG_AMRT_EQ_DATE is relevant
only for adjustable-rate accounts with AMRT_TYPE_CD = 600.
1. On the NEG_AMRT_EQ_DATE, a negatively amortizing record’s payment will
be recalculated. On this date, the record’s CUR_PAYMENT will be fully
re-amortized. NEG_AMRT_EQ_DATE will ignore payment decrease/increase
limits per period and payment decrease/increase limits for the life of the record.
Therefore, after the payment recalculation of a NEG_AMRT_EQ_DATE, the
record will no longer be negatively amortizing.
2. NEG_AMRT_EQ_DATE is incremented forward by the NEG_AMRT_EQ_FREQ
until the maturity date is reached.
3. For an explanation of NEG_AMRT_EQ_DATE’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Note: If NEG_AMRT_EQ_FREQ = 0, once the modeling date is


past the NEG_AMRT_EQ_DATE, the Knowledge Engine does not
attempt to re-amortize the negative amortized amount.

Data Verification Requirements and Suggested Defaults


■ If AMRT_TYPE_CD <> 600, NEG_AMRT_EQ_DATE = 19000101.
■ If AMRT_TYPE_CD = 600, NEG_AMRT_EQ_DATE > ORIGINATION_DATE
■ If AMRT_TYPE_CD = 600, NEG_AMRT_EQ_DATE < MATURITY_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-56 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Negative Amortization Equalization Frequency (NEG_AMRT_EQ_FREQ)

Definition
Used in conjunction with NEG_ AMRT_EQ_MULT to define the frequency that neg-
atively amortizing accounts are fully re-amortized.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence NEG_AMRT_EQ_FREQ in calculating the current payment for negative amor-
tization-type accounts. This is relevant only for adjustable-rate accounts with
AMRT_TYPE_CD = 600.
1. From the NEG_AMRT_EQ_DATE, OFSA rolls forward by the NEG_AMRT_
EQ_FREQ until the maturity date.
2. At each instance of a NEG_AMRT_EQ_FREQ, OFSA recalculates the payment
as it did for the NEG_AMRT_EQ_DATE. On these roll dates, the record’s CUR_
PAYMENT will be fully re-amortized. NEG_AMRT_EQ_FREQ will ignore
payment decrease/increase limits per period and payment decrease/increase
limits for the life of the record. Therefore, after the payment recalculation of a
NEG_AMRT_EQ_FREQ, the record will no longer be negatively amortizing.
3. If NEG_AMRT_EQ_FREQ = 0, once the modeling date is past the NEG_AMRT_
EQ_DATE, the Knowledge Engine will not attempt to re-amortize the negative
amortized amount. In this case, any negative amortized balance will balloon at
maturity.
4. For an explanation of NEG_AMRT_EQ_FREQ’s relationship with other related
negative amortization fields, see NEG_AMRT_AMT.

Data Verification Requirements and Suggested Defaults


■ If AMRT_TYPE_CD = 600, NEG_AMRT_EQ_FREQ must be either 0 or a
positive value. NEG_AMRT_EQ_FREQ cannot be negative.
■ If AMRT_TYPE_CD <> 600, NEG_AMRT_EQ_FREQ = 0.
■ If AMRT_TYPE_CD = 600, 0 <= NEG_AMRT_EQ_FREQ < ORG_TERM
■ If AMRT_TYPE_CD = 600, AS_OF_DATE < NEG_AMRT_EQ_DATE <=
MATURITY_DATE
■ Validation of NEG_AMRT_EQ_FREQ should always be done in conjunction
with NEG_AMRT_EQ_MULT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-57


Cash Flow Columns

Negative Amortization Equalization Frequency Multiplier (NEG_AMRT_EQ_MULT)

Definition
Used in conjunction with NEG_AMRT_EQ_FREQ to define the frequency that nega-
tively amortizing accounts are fully re-amortized.

Module Usage
This field is the multiplier of the NEG_AMRT_EQ_FREQ field. It is used in conjunc-
tion with NEG_AMRT_EQ_FREQ to define the frequency that negatively amortiz-
ing accounts are fully re-amortized. Oracle Risk Manager and Oracle Transfer
Pricing cash flow calculations reference NEG_AMRT_EQ_MULT when recalculat-
ing the current payment as defined under the NEG_AMRT_EQ_FREQ section.
NEG_AMRT_EQ_MULT determines the units (Months, Days or Years) of NEG_
AMRT_EQ_FREQ.

Data Verification Requirements and Suggested Defaults


■ Valid values are:
■ D - Days
■ M - Months
■ Y - Years
■ Refer to the validation discussion for Negative Amortization Equalization
Frequency (NEG_AMRT_EQ_FREQ) for information on NEG_AMRT_EQ_
MULT validation.
■ Suggested default is ’M’.

Negative Amortization Limit (NEG_AMRT_LIMIT)

Definition
Maximum negative amortization allowed as a percentage of the original balance.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence NEG_AMRT_LIMIT when determining if the NEG_AMRT_AMT is exceeding
its defined limits. This is relevant only for adjustable-rate accounts with AMRT_
TYPE_CD = 600.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-58 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

1. While calculating a payment event (payment date), if the Knowledge Engine


calculates negative principal runoff, OFSA checks the negative amortization
limit (NEG_AMRT_LIMIT) in order to ensure that the current NEG_AMRT_
AMT is not exceeding its limit. NEG_AMRT_LIMIT is defined as a percentage
of the original principal balance.
For example, NEG_AMRT_LIMIT = 25 means that the negative amortization
amount should never exceed 25% of the original principal balance (principal
balance should never exceed 125% of the original balance). The formula for this
check is:
(-1 * calculated (negative) principal runoff + negative amortization balance
> NEG_AMRT_LIMIT/100 * ORG_PAR_BAL)
If NEG_AMRT_AMT is exceeding this limit, OFSA recalculates the payment
amount in order to fully amortize the instrument.
2. When deriving the recalculated payment amount after a NEG_AMRT_LIMIT
has been reached, OFSA also applies payment decrease/increase limits per
period (PMT_DECR_CYCLE, PMT_INCR_CYCLE) and payment
decrease/increase limits for the life of the record (PMT_DECR_LIFE, PMT_
INCR_LIFE). Because these fields limit how much the CUR_PAYMENT can be
changed, it is possible that the record will continue to negatively amortize even
after a NEG_AMRT_LIMIT has been exceeded. If negative amortization does
continue, the NEG_AMRT_AMT will continue to grow.
3. For an explanation of NEG_AMRT_LIMIT’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Data Verification Requirements and Suggested Defaults


1. If AMRT_TYPE_CD <> 600, NEG_AMRT_LIMIT = 0
2. If AMRT_TYPE_CD = 600, NEG_AMRT_LIMIT >= 0

Net Margin Code (NET_MARGIN_CD)

Definition
NET_MARGIN_CD defines the relationship between CUR_GROSS_RATE and
CUR_NET_RATE for the Knowledge Engine.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-59


Cash Flow Columns

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence NET_MARGIN_CD when calculating a forecasted interest rate. NET_
MARGIN_CD has the following two, valid values:
■ Floating Net Rate = ’0’
■ Fixed Net Rate = ’1’
These are described below:

Floating Net Rate (NET_MARGIN_CD = 0): This is the default value for the Net
Margin Code. If the detail data’s NET_MARGIN_CD field is set to ’0’ (floating), the
Existing Business record will reprice at the relevant reprice dates, as described
under the NEXT_REPRICE_DATE section. If the Leaf Characteristics’ Net Margin
Flag is set to Floating Net Rate, the New Business record will also reprice at the rele-
vant reprice dates. Interest Income (FE 430) will be based off of the CUR_NET_
RATE.

Fixed Net Rate (NET_MARGIN_CD = 1): This setting is used by financial institu-
tions that maintain the loans of other financial institutions. For example, Bank A
may service (operate and process) the loans of Bank B. Bank B pays Bank A a fixed
spread or margin as payment for maintaining the loans. Because Bank A receives a
guaranteed fixed spread, only Bank B gains or loses when the actual loan reprices.
For this reason, if the record reprices, Bank A should not experience any change in
interest income.
If the detail record’s NET_MARGIN_CD field is set to ’1’ (fixed) and the ’Model
With Gross Rates’ switch is turned on in the RM LEAF CHARACTERICS ID, the
existing business record does not reprice even if the record is an adjustable-rate
product (CUR_NET_RATE does not reprice). It is assumed that the rate received by
the bank (Bank A) equals the fixed spread that the bank is receiving as payment for
maintaining the loans. The record’s CUR_NET_RATE field represents this fixed
spread and is used for interest income (financial element 430) calculations while the
record’s CUR_GROSS_RATE is used for prepayments and amortization.
With regards to business (business originating beyond the AS_OF_DATE), if the
Leaf Characteristics ID’s Net Margin Flag is set to Fixed Net Rate and the
’Model With Gross Rates’ switch is turned on in the Risk Manager Forecast
Rates ID, the rate used to derive new business interest income is taken from the
Pricing Margin ID Net Margin and not from the Forecast Rates ID. This is
because it is assumed that the Pricing Margin ID contains the fixed spread that
the bank is receiving as payment for maintaining the loans. The Net Margin

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-60 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

from the Pricing Margin ID is used for interest income calculations while the
gross rate, which is derived from the Forecast Rates ID, is used for prepayment
and amortization calculations.

Note: The CUR_GROSS_RATE is used for amortization and


prepayment calculation purposes and reflects the correct repriced
rate for all such calculations.

3. If the NET_MARGIN_CD is set to Fixed Net Rate, but the ’Model with Gross
Rates’ switch is not turned on, OFSA treats the records as if they were Floating
Net Rate.

Data Verification Requirements and Suggested Defaults


■ NET_MARGIN_CD must be equal to ’0’ or ’1’.
■ For fixed-rate accounts and adjustable accounts that reprice, NET_MARGIN_
CD = 0.
■ For adjustable-rate accounts that represent records being serviced for a fixed
fee, set NET_MARGIN_CD = 1.

Next Payment Date (NEXT_PAYMENT_DATE)

Definition
Due date of the next scheduled payment. Otherwise known as cash flow date or
date of runoff.

Module Usage
NEXT_PAYMENT_DATE is used to define the next scheduled (forecasted) payment
date.

Risk Manager
Processing order in regards to NEXT_PAYMENT_DATE is as follows:
1. From the AS_OF_DATE, the first cash flow event processed by OFSA is the
NEXT_PAYMENT_DATE. OFSA references the NEXT_PAYMENT_DATE for
the first forecasted payment date only. This applies to payment patterns
(relative and absolute), but not for Payment Schedules. See below for details.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-61


Cash Flow Columns

2. From the NEXT_PAYMENT_DATE, OFSA increments forward by the PMT_


FREQ until the MATURITY_DATE is reached.

Note: For User-Defined Payment Schedules or Patterns, OFSA


does not reference the PMT_FREQ field. Instead, OFSA references
the schedule or pattern information to define the additional
forecasted payment dates.

3. On the payment date OFSA calculates the interest payments, principal


payments, current deferred payments, prepayments, and negative amortization,
if applicable. For an adjustable-type record where REPRICE_FREQ < PMT_
FREQ, OFSA applies only the last repriced rate for the purpose of payment
calculation. If the record is not an AMRT_TYPE_CD 700 (non-amortizing) or an
AMRT_TYPE_CD 600 (negatively amortizing), the record’s principal balance is
reduced at each payment date.
4. As each payment is made, OFSA reduces the REMAIN_NO_PMTS_C by ë1í. If
the newly calculated REMAIN_NO_PMTS_C = 1, the next payment date is set
to MATURITY_DATE.

Note: The use of REMAIN_NO_PMTS_C varies depending on


record type. See the Remaining Number of Payments (REMAIN_
NO_PMTS_C) and Amortization Term (AMRT_TERM) sections for
details, including special considerations for payment-patterned
records.

5. MATURITY_DATE is the final payment date. If the record’s principal was not
reduced by the payment amounts, the remaining principal balance is paid on
the MATURITY_DATE.

Note: For Payment Schedules, OFSA does not use the NEXT_
PAYMENT_DATE field. For these records, OFSA makes the next
payment on the first date in the schedule after the AS_OF_DATE.
However, for Payment Schedules and User-Defined Payment
Patterns, the NEXT_PAYMENT_DATE from the detail record
should correspond to the next defined payment date after the AS_
OF_DATE in the Schedule or Pattern interface.

Transfer Pricing

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-62 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

NEXT_PAYMENT_DATE is used for adjustable-rate cash flow transfer-priced


records. In defining the transfer rate for an adjustable rate record, OFSA produces
cash flows for each payment date from the LAST_REPRICE_DATE to the NEXT_
REPRICE_DATE. In order to define all the payment events within this period,
OFSA rolls back from the NEXT_PAYMENT_DATE by the PMT_FREQ until just
before the LAST_REPRICE_DATE. From this calculated payment date, OFSA again
rolls forward by the PMT_FREQ, but this time cash flows are produced. The cash
flows produced are used by one of the three cash flow transfer pricing methodolo-
gies in order to derive the transfer rate.

Data Verification Requirements and Suggested Defaults


Required Conditions:
■ NEXT_PAYMENT_DATE > AS_OF_DATE
■ Also included in NEXT_PAYMENT_DATE is the modeling of past due,
delinquent, or non-term accounts, if they are to be processed by the Knowledge
Engine.
For example, if the NEXT_PAYMENT_DATE is defaulted to 1900/01/01, OFSA
rolls the record by PMT_FREQ from that date until the maturity date.

Note: This consumes considerable processing time.

■ NEXT_PAYMENT_DATE <= MATURITY_DATE


■ If REMAIN_NO_PMTS_C > 1, NEXT_PAYMENT_DATE < MATURITY_DATE
■ If REMAIN_NO_PMTS_C = 1, NEXT_PAYMENT_DATE = MATURITY_DATE
■ MATURITY_DATE <= NEXT_PAYMENT_DATE + (REMAIN_NO_PMTS_C *
PMT_FREQ).
■ If the amortization type is an absolute pattern or payment schedule, the
payment dates are predefined. The NEXT_PAYMENT_DATE on the detail
record should always correspond to the relevant (next payment date after the
AS_OF_DATE) predefined payment date information of the Absolute Pattern
interface or PAYMENT_SCHEDULE table.
■ Suggested default:
If next payment date is unknown, set to either:
■ AS_OF_DATE + PMT_FREQ , or

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-63


Cash Flow Columns

■ MATURITY_DATE

Next Repricing Date (NEXT_REPRICE_DATE)

Definition
Date of next scheduled interest rate change for adjustable rate accounts.

Module Usage
NEXT_REPRICE_DATE defines the first forecasted repricing event from the AS_
OF_DATE.

Risk Manager
In Oracle Risk Manager the processing and use of NEXT_REPRICE_DATE is as fol-
lows:
1. If the record is defined as ADJUSTABLE_TYPE_CD = 250 and REPRICE_FREQ
> 0, OFSA references NEXT_REPRICE_DATE when calculating the first
forecasted interest rate change.

Note: AMRT_TYPE_CD definition does not impact whether the record is


adjustable or not.
If ADJUSTABLE_TYPE_CD = 30 or 50, OFSA does not reference the NEXT_
REPRICE_DATE. See Adjustable Type Code (ADJUSTABLE_TYPE_CD) for
details.

2. OFSA rolls forward from NEXT_REPRICE_DATE to define the record’s


remaining forecasted Reprice Dates. Rolling by the REPRICE_FREQ continues
until MATURITY_DATE.
3. In defining the customer rate, on each reprice date, OFSA matches the record’s
INTEREST_RATE_CD, the reprice date and the REPRICE_FREQ to the
appropriate term point on the forecasted Interest Rate Code (IRC) in the
Forecast Rates ID. To this derived rate, OFSA adds the MARGIN (or MARGIN_
GROSS, if applicable).
4. OFSA then applies interest rate rounding and periodic/lifetime rate
caps/floors. If the record’s TEASER_END_DATE is less than or equal to the
AS_OF_DATE, OFSA applies the calculated forecasted rate to the record.
Otherwise OFSA applies the defined teased rate.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-64 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

5. On a payment date, the forecasted rate derived on the repricing date is used for
recalculating payment amounts.

Note: If multiple reprice dates exist within one payment period


(that is, if REPRICE_FREQ < PMT_FREQ), only the forecasted rate
of the reprice date immediately preceding the payment date is used
for payment calculation purposes. Oracle Risk Manager stores
’Before Reprice’ and ’After Reprice’, ’Gross Rates’ and ’Net Rates’
as financial elements 260 - 290.

6. If the ’Process with Transfer Rates’ option has been selected, OFSA produces
transfer rates by matching the record’s T_RATE_INT_RATE_CD, the reprice
date and the REPRICE_FREQ to the appropriate term point on the forecasted
transfer pricing IRC in the Oracle Risk Manager Forecast Rates ID. To this
derived rate, OFSA adds the MARGIN_T_RATE. However, unlike the customer
rate calculation (CUR_NET_RATE, CUR_GROSS_RATE), no rounding, rate
cap/floor or tease checks are made.

Transfer Pricing
1. NEXT_REPRICE_DATE is used by adjustable-rate straight term transfer-priced
records when using the Remaining Term Pricing Basis. The AS_OF_DATE and
NEXT_REPRICE_DATE define the term of the transfer pricing period. This term
is matched to the relevant Interest Rate Code (IRC) in the Historical Rates ID to
derive a transfer rate.
2. Adjustable-rate cash flow transfer-priced records use LAST_REPRICE_DATE
and NEXT_REPRICE_DATE as the starting and ending points of the
transfer-pricing period. In order to define all the payment events within this
period, OFSA rolls back from the NEXT_PAYMENT_DATE by the PMT_FREQ
until just after the LAST_REPRICE_DATE. From this calculated payment date,
OFSA again rolls forward by the PMT_FREQ until just before the NEXT_
REPRICE_DATE. As OFSA rolls forward, cash flows are produced. The cash
flows produced are used by one of the three cash flow transfer pricing
methodologies in order to derive the transfer rate.
For additional information also see Teaser-rate End Date (TEASER_END_
DATE).

Data Verification Requirements and Suggested Defaults


■ For fixed-rate accounts, NEXT_REPRICE_DATE = MATURITY_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-65


Cash Flow Columns

■ For administered rate accounts and floating rate accounts, use ADJUSTABLE_
TYPE_CD 30 or 50, which does not reference NEXT_REPRICE_DATE. Set the
default to NEXT_REPRICE_DATE = NEXT_PAYMENT_DATE or MATURITY_
DATE.
■ If ADJUSTABLE_TYPE_CD = 250 and repricing information is available, then:
■ NEXT_REPRICE_DATE > AS_OF_DATE
■ NEXT_REPRICE_DATE <= MATURITY_DATE

Original Market Value (ORG_MARKET_VALUE)

Definition
The market value of the instrument at origination, expressed as a percentage of the
Original Par Balance.

OFSA Module Usage

Transfer Pricing
Oracle Transfer Pricing does not use ORG_MARKET_VALUE except in Option
Costing.
When Standard Calculation Mode is selected in the TP Process ID, and the Target
Balance for the subject product leaf is Market Value, Oracle Transfer Pricing Option
Cost calculations use the product of ORG_PAR_BAL and ORG_MARKET_VALUE
as the target balance to which the sum of future discounted cash flows is set equal.

Original Payment Amount (ORG_PAYMENT_AMT)

Definition
The original payment amount at the date of origination.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence ORG_PAYMENT_AMT when referencing the payment amount at the time of
the record’s origination.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-66 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Risk Manager
For User-Defined Payment Patterns with the payment method defined as ’%Origi-
nal Payment’, OFSA uses the record’s ORG_PAYMENT_AMT for all payments
beyond the first forecasted one. The first forecasted one uses CUR_PAYMENT. For
all other payment pattern payment methods, OFSA uses the ORG_PAYMENT_
AMT.

Transfer Pricing
1. Cash flow transfer pricing methodologies for fixed-rate records use ORG_
PAYMENT_AMT as the payment amount for amortization purposes. For a
fixed-rate record, OFSA rolls forward from the ORIGINATION_DATE by PMT_
FREQ when defining payment dates up to the record’s MATURITY_DATE.
From origination, OFSA amortizes the original balance (ORG_PAR_BAL) by the
ORG_PAYMENT_AMT. The precise method of this amortization depends on
the AMRT_TYPE_CD.
2. ORG_PAYMENT_AMT is also used if the User-Defined Payment Pattern
payment method % Original Payment is designated.

Risk Manager and Transfer Pricing


ORG_PAYMENT_AMT is also used in determining if the NEG_AMRT_AMT is
exceeding its defined limits. This is relevant only for adjustable-rate accounts where
AMRT_TYPE_CD = 600.
1. For negative amortization-type accounts, the Knowledge Engine uses ORG_
PAYMENT_AMT in determining whether a recalculated payment increase or
decrease exceeds PMT_INCR_LIFE and PMT_DECR_LIFE.
2. On a recalculation date caused by a NEG_AMRT_LIMIT or PMT_ADJUST_
DATE, OFSA recalculates the payment amount in order to create a fully
amortized record. After the recalculation, OFSA references payment life
increases/decreases fields (PMT_INCR_LIFE, PMT_DECR_LIFE). These fields
limit the amount that the recalculated payment amount can change from the
original payment amount (ORG_PAYMENT_AMT).
For example, if PMT_INCR_LIFE = 25.00, the recalculated payment amount is
not allowed to increase by more than 25% of the ORG_PAYMENT_AMT.
See Payment Increase Limit - Life (PMT_INCR_LIFE) and Payment Decrease
Limit - Life (PMT_DECR_LIFE) for additional information.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-67


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ If AMRT_TYPE_CD <> 600, ORG_PAYMENT_AMT = 0.
■ If adjustable-rate and AMRT_TYPE_CD = 600, ORG_PAYMENT should be a
valid non-zero value.
■ ORG_PAYMENT may be validated using the following formula:
ORG_PAYMENT = (ORG_BOOK_BAL* (CUR GROSS RATE/((12/PMT_
FREQ[in months]) *100))) / (1 - ((1+(CUR_GROSS_RATE /((12/ PMT_
FREQ [in months])*100))) ^-(ORG_TERM/PMT_FREQ [in months])))
■ If ORG_PAYMENT_AMT is unknown, default to CUR_PAYMENT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-68 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Original Par Balance (ORG_PAR_BAL)

Definition
Represents the starting balance from which all fixed rate transfer pricing cash flows
are generated, including principal run-off, prepayments, and interest cash flows.

Module Usage

Risk Manager
ORG_PAR_BAL is referenced when processing User-Defined Payment Patterns in
which the payment method is ’%Original Balance’. When this payment pattern is
selected, OFSA applies payment amounts throughout the life of the loan that are a
percentage of the value in the detail record’s ORG_PAR_BAL field.

Note: If ’%Original Balance’ is selected, the first forecasted cash


flow references the CUR_PAYMENT, but all remaining cash flows
use the ORG_PAR_BAL.

Transfer Pricing
Cash flow transfer pricing methodologies for fixed-rate records use ORG_PAR_BAL
as the starting balance for all cash flow generation. For the treatment of adjust-
able-rate records, see Last Reprice Date Balance ( LRD_BALANCE).
The Oracle Risk Manager Knowledge Engine bases interest cash flows and princi-
pal runoff on ORG_PAR_BAL when transfer pricing cash flow methodology
fixed-rate accounts. During processing, OFSA rolls forward from the
ORIGINATION_DATE by PMT_FREQ when defining payment dates up until the
record’s MATURITY_DATE. From origination, OFSA amortizes the original bal-
ance (ORG_PAR_BAL) by the ORG_PAYMENT_AMT. The precise method of this
amortization depends on the AMRT_TYPE_CD.
When Standard Calculation Mode is selected in the TP Process ID, and the Target
Balance for the subject product leaf is Par Balance, Oracle Transfer Pricing Option
Cost calculations use ORG_PAR_BAL as the target balance to which the sum of
future discounted cash flows is set equal.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-69


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ ORG_PAR_BAL requires a valid balance for all accounts.
■ ORG_PAR_BAL = ORG_BOOK_BAL - DEFERRED_ORG_BAL
■ ORG_PAR_BAL must have the same sign as ORG_PAYMENT_AMT and CUR_
PAYMENT.
For the transfer pricing of fixed-rate instruments, the original balance should be
populated. If REPRICE_FREQ = 0, ORG_PAR_BAL <> 0.
■ Original balance on Rule of 78 instruments should not be greater than the
current balance. If AMRT_TYPE_CD = 710, ORG_PAR_BAL should be less than
CUR_PAR_BAL.

Original Term (ORG_TERM)

Definition
Used in conjunction with ORG_TERM_MULT to define the contractual term at orig-
ination date.

Module Usage
The ORG_TERM of the instrument is referenced by Oracle Transfer Pricing and
Oracle Risk Manager as the period from ORIGINATION_DATE to MATURITY_
DATE.

Transfer Pricing
ORG_TERM is referenced by Oracle Transfer Pricing when calculating cash flows
for fixed-rate cash flow methodologies.

Transfer Pricing and Risk Manager


1. Oracle Transfer Pricing and Oracle Risk Manager cash flow methodologies use
ORG_TERM when calculating the current payment for adjustable-rate accounts
and in transfer pricing fixed-rate accounts. For adjustable-rate accounts, the
Knowledge Engine compares ORG_TERM against AMRT_TERM, checking to
see if the account is a balloon-type account.
2. If ORG_TERM < AMRT_TERM, the Knowledge Engine recognizes the record as
a balloon. OFSA amortizes the outstanding principal balance over the
calculated number of payments, based upon the amortization maturity date.
See the Amortization Term (AMRT_TERM) section for a detailed explanation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-70 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ ORG_TERM > 0
■ ORG_TERM <= ISSUE_TERM
■ ORG_TERM <= AMRT_TERM
■ ORG_TERM >= REPRICE_FREQ
■ ORG_TERM >= PMT_FREQ
■ ORG_TERM >= REMAIN_TERM_C
■ ORG_TERM + ORIGINATION_DATE = MATURITY_DATE

Note: Validation of ORG_TERM should always be done in conjunction


with ORG_TERM_MULT.
Setting ORG_TERM to ’0’ may result in Oracle Risk Manager processing
errors.

Original Term Multiplier (ORG_TERM_MULT)

Definition
Used in conjunction with ORG_TERM to define the contractual term at origination
date.

Module Usage
The Oracle Risk Manager Knowledge Engine references ORG_TERM_MULT when
calculating current payments for adjustable-rate accounts and in transfer pricing
fixed-rate accounts. ORG_TERM MULT determines the units (Months, Days or
Years) of ORG_TERM.

Data Verification Requirements and Suggested Defaults


■ Valid values are:
■ D - Days
■ M - Months
■ Y - Years
■ For non-term accounts, default to ’M’.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-71


Cash Flow Columns

■ Refer to the validation discussion for Original Term (ORG_TERM) for


information on ORG_TERM_MULT validation.

Origination Date (ORIGINATION_DATE)

Definition
The date the current institution originated or acquired the instrument.

Module Usage
Both Oracle Risk Manager and Oracle Transfer Pricing reference the
ORIGINATION_DATE as the start date of the record. See Issue Date (ISSUE_DATE)
for additional information.
Prepayment assumptions also reference ORIGINATION_DATE. Separate assump-
tions can be defined for ORIGINATION_DATE ranges.
Additionally, when using a Prepayment Table ID:
■ If the prepayment rate is driven by the Expired Term, the ORIGINATION_
DATE is used to determine the age of the instrument using the following
formula:
(ROUND(Current Bucket Date - ORIGINATION_DATE)/30.42, 0)
■ If the prepayment rate is driven by the ORIGINATION_DATE and the
instrument is still in its tease period (that is, TEASE_END_DATE > Current
Bucket Date), then the REPRICE_FREQ is calculated as:
(ROUND(TEASE_END_DATE - ORIGINATION_DATE)/30.42,0)

Risk Manager
1. ORIGINATION_DATE is used to determine the last payment date. If the LAST_
PAYMENT_DATE is erroneously before the ORIGINATION_DATE, OFSA uses
the ORIGINATION_DATE value instead. This is used during interest income
calculations where the LAST_PAYMENT_DATE is referenced for the first
forecasted interest income cash flows (financial element 430). See Last Payment
Date (LAST_PAYMENT_DATE) for details.
2. User-Defined amortization payment patterns that are defined as ’%Current
Payment’ and have multiple payment frequencies (as defined in the OFSA
interface) use ORIGINATION_DATE when calculating amortization in order to
determine the payment amount. This calculation is defined in the AMRT_
TERM section.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-72 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Transfer Pricing
1. Fixed-rate cash flow transfer-priced records reference ORIGINATION_DATE in
order to calculate the payment dates for amortization purposes.

Note: For adjustable rate accounts, transfer pricing cash flow


calculations begin on LAST_REPRICE_DATE.

When defining the record’s payment dates, OFSA starts from the record’s
ORIGINATION_DATE and roll forward by PMT_FREQ until the MATURITY_
DATE is reached. The Oracle Risk Manager Knowledge Engine bases interest
cash flows and principal runoff on ORG_PAR_BAL when transfer pricing cash
flow methodology fixed-rate accounts. From ORIGINATION_DATE, OFSA
amortizes the original balance (ORG_PAR_BAL) by the ORG_PAYMENT_AMT.
The precise method of this amortization depends on the AMRT_TYPE_CD.
2. Straight term methodology references ORIGINATION_DATE when defining
the transfer pricing term that is matched to the term on the yield curve
(Historical Rate ID’s Interest Rate Code). For fixed-rate instruments, the term
defined by (MATURITY_DATE - ORIGINATION_DATE) is matched to the
relevant Interest Rate Code (IRC).
For adjustable-rate instruments in their tease period, the term is figured as the
(TEASE_END_DATE - ORIGINATION_DATE). The transfer pricing assignment
date for the IRC is also determined by the ORIGINATION_DATE of the record.
That is, the date of the yield curve (IRC) is matched to the date of the record’s
origination.
3. If the record is transfer-priced using a ’Spread From Interest Rate Code’ or
’Redemption Curve’ methodology, the option of choosing the IRC’s assignment
date is available. If the ’Origination Date’ is chosen as the assignment date, or if
the assignment date is the ’Last Repricing Date’ and the instrument is fixed rate,
the date of the IRC used for transfer rate calculations is the same as the detail
record’s ORIGINATION_DATE. If an IRC of the same date does not exist OFSA
uses the closest preceding date’s yield curve information.
4. For records that reference the User-Defined Payment Patterns, OFSA derives
the remaining number of payments by counting the number of payments from
the ORIGINATION_DATE to the MATURITY_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-73


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ For all accounts, a valid ORIGINATION_DATE is required.
■ ORIGINATION_DATE >= ISSUE_DATE
■ ORIGINATION_DATE <= AS_OF_DATE (unless future originations
booked on system)
■ ORIGINATION_DATE <= LAST_REPRICE_DATE
■ For term accounts only:
■ ORIGINATION_DATE + ORG_TERM = MATURITY_DATE
■ ORIGINATION_DATE <= TEASER_END_DATE (if TEASER_END_DATE
is valid)

Payment Adjustment Date (PMT_ADJUST_DATE)

Definition
Date of next payment adjustment for adjustable-rate, negative amortization-type
accounts.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_ADJUST_DATE when processing and calculating the current payment
for negative amortization-type accounts. This is relevant only for adjustable-rate
accounts where AMRT_TYPE_CD = 600.
1. OFSA recalculates negatively amortizing payment amounts on a PMT_
ADJUST_DATE. Just like a payment recalculation for a NEG_AMRT_LIMIT, a
payment recalculation on the PMT_ADJUST_DATE takes into account the
effects of payment decrease/increase limits per period (PMT_DECR_CYCLE,
PMT_INCR_CYCLE) and payment decrease/increase limits for the life of the
record (PMT_DECR_LIFE, PMT_INCR_LIFE). This provides for additional
negative amortization to occur even after the PMT_ADJUST_DATE has
recalculated the payment amount.
2. PMT_ADJUST_DATE is incremented forward by the PMT_CHG_FREQ field
until maturity.
3. PMT_ADJUST_DATE differs from NEG_AMRT_EQ_DATE because on PMT_
ADJUST_DATE, the calculated payment is constrained by payment
decrease/increase limits per period and payment decrease/increase limits for

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-74 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

the life of the record. However, on the NEG_AMRT_EQ_DATE, the calculated


payment overrides these payment change limits.
4. See the Negative Amortization Amount (NEG_AMRT_AMT) section for an
explanation of the relationships among the relevant negative amortization
fields.

Data Verification Requirements and Suggested Defaults


■ For fixed-rate and non-term accounts, PMT_ADJUST_DATE = 19000101.
■ For adjustable-rate accounts with AMRT_TYPE_CD <> 600, PMT_ADJUST_
DATE = NEXT_REPRICE_DATE.
■ For adjustable-rate accounts with AMRT_TYPE_CD = 600, the following
conditions should exist:
■ PMT_ADJUST_DATE > AS_OF_DATE
■ PMT_ADJUST_DATE > ORIGINATION_DATE
■ PMT_ADJUST_DATE <= AS_OF_DATE + PMT_CHG_FREQ) PMT_
ADJUST_DATE <= MATURITY_DATE

Payment Change Frequency (PMT_CHG_FREQ)

Definition
Used in conjunction with PMT_CHG_FREQ_MULT to define the frequency at
which an account’s payment adjusts.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_CHG_FREQ when processing and calculating the current payment for
negative amortization-type accounts. This is relevant only for adjustable-rate
accounts where AMRT_TYPE_CD = 600.
1. The PMT_CHG_FREQ is used to increment forward from the PMT_ADJUST_
DATE.
2. OFSA recalculates negatively amortizing payment amounts on a PMT_CHG_
FREQ. Just like a payment recalculation for a NEG_AMRT_LIMIT, a payment
recalculation on the PMT_CHG_FREQ takes into account the effects of payment
decrease/increase limits per period (PMT_DECR_CYCLE, PMT_INCR_CYCLE)
and payment decrease/increase limits for the life of the record (PMT_DECR_

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-75


Cash Flow Columns

LIFE, PMT_INCR_LIFE). This provides for additional negative amortization to


occur even after the PMT_CHG_FREQ event has recalculated the payment
amount.
3. See the Negative Amortization Amount (NEG_AMRT_AMT) section for an
explanation of the relationships among the relevant negative amortization
fields.

Data Verification Requirements and Suggested Defaults


■ If AMRT_TYPE_CD = 600, PMT_CHG_FREQ must be either ’0’ or a positive
value. PMT_CHG_FREQ cannot be negative.
■ For fixed-rate and non-term accounts, PMT_CHG_FREQ = 0.
■ For adjustable-rate accounts with AMRT_TYPE_CD <> 600, PMT_CHG_FREQ
= REPRICE_FREQ.
■ For adjustable-rate accounts with AMRT_TYPE_CD = 600, the following
conditions should exist:
■ PMT_CHG_FREQ <> 0
■ PMT_CHG_FREQ <= PMT_ADJUST_DATE - AS_OF_DATE

Note: Validation of PMT_CHG_FREQ should always be done in


conjunction with PMT_CHG_FREQ_MULT.

Payment Change Frequency Multiplier (PMT_CHG_FREQ_MULT)

Definition
Used in conjunction with PMT_CHG_FREQ to define the frequency at which an
account’s payment adjusts.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_CHG_FREQ_MULT when processing and calculating the current pay-
ment for negative amortization-type accounts. PMT_CHG_FREQ_MULT
determines the units (Months, Days or Years) of PMT_CHG_FREQ.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-76 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ Valid values are:
■ D - Days
■ M - Months
■ Y - Years
■ Refer to the validation discussion for Payment Change Frequency (PMT_CHG_
FREQ) for information on PMT_CHG_FREQ_MULT validation.

Payment Decrease Limit - Cycle (PMT_DECR_CYCLE)

Definition
Maximum payment decrease allowed during a payment change cycle of an adjust-
able-rate instrument.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_DECR_CYCLE when recalculating the current payment for negative
amortization events such as NEG_AMRT_LIMIT, PMT_ADJUST_DATE, and PMT_
CHG_FREQ. This is relevant only for adjustable-rate accounts where AMRT_TYPE_
CD = 600.
1. For negative amortization-type accounts, the Knowledge Engine uses PMT_
DECR_CYCLE to calculate the maximum decrease in the payment amount
allowed from the previous payment change to the next.
2. PMT_DECR_CYCLE is defined in terms of a percentage. The Knowledge
Engine performs the following check:
Previous Current Payment - Newly calculated payment > (PMT_DECR_
CYCLE/100 * Previous Current Payment)
If the newly calculated payment satisfies the above equation, the Knowledge
Engine limits the decrease to the amount = (PMT_DECR_CYCLE * Previous
Current Payment).
For example, if PMT_DECR_CYCLE = 5.00, the calculated current payment is
not allowed to decrease by more than 5% of the previous current payment.
3. If PMT_DECR_CYCLE = 0, the Knowledge Engine assumes that there is no
payment decrease limit per payment change period.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-77


Cash Flow Columns

4. The PMT_DECR_CYCLE is referenced when the following negative


amortization events occur: NEG_AMRT_LIMIT, PMT_ADJUST_DATE, and
PMT_CHG_FREQ.
5. For an explanation of PMT_DECR_CYCLE’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Data Verification Requirements and Suggested Defaults


■ For accounts with AMRT_TYPE_CD <> 600, PMT_DECR_CYCLE = 0.
■ For accounts with AMRT_TYPE_CD = 600, 0 <= PMT_DECR_CYCLE < 100

Payment Decrease Limit - Life (PMT_DECR_LIFE)

Definition
Maximum payment decrease allowed during the life of an adjustable-rate instru-
ment.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_DECR_LIFE when recalculating the current payment for negative amor-
tization events such as NEG_AMRT_LIMIT, PMT_ADJUST_DATE, and PMT_CHG_
FREQ. This is relevant only for adjustable-rate accounts where AMRT_TYPE_CD =
600.
1. For negative amortization-type accounts, OFSA uses PMT_DECR_LIFE to
calculate the maximum decrease in the payment allowed during the life of the
account. PMT_DECR_LIFE is defined in terms of a percentage of ORG_
PAYMENT. The Knowledge Engine performs the following check:
ORG_PAYMENT - Newly calculated payment > (PMT_DECR_LIFE/100 *
ORG_PAYMENT)
If the newly calculated payment satisfies the above equation, the Knowledge
Engine limits the decrease to the amount = (PMT_DECR_LIFE * ORG_
PAYMENT).
For example, if PMT_DECR_LIFE = 25.00, the calculated current payment is not
allowed to decrease by more than 25% of ORG_PAYMENT.
2. If PMT_DECR_LIFE = 0, the Knowledge Engine assumes that there is no
lifetime payment decrease limit.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-78 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

3. The PMT_DECR_LIFE field is referenced when the following negative


amortization events occur:
■ NEG_AMRT_LIMIT
■ PMT_ADJUST_DATE
■ PMT_CHG_FREQ
4. For an explanation of PMT_DECR_LIFE’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Data Verification Requirements and Suggested Defaults


1. For accounts with AMRT_TYPE_CD <> 600, PMT_DECR_LIFE = 0.
2. For accounts with AMRT_TYPE_CD = 600, 0 <= PMT_DECR_LIFE < 100

Payment Frequency (PMT_FREQ)

Definition
Used in conjunction with PMT_FREQ_MULT to define the payment frequency of an
account.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_FREQ for calculating and processing payments, prepayments, and mar-
ket valuation. The Knowledge Engine forecasts future next payment dates by
incrementing NEXT_PAYMENT_DATE forward by PMT_FREQ.

Risk Manager
PMT_FREQ is used in the Market Value calculation. The calculation is as follows:
MV = Cash Flow/(1 +r)t
PMT_FREQ is used to derive the ’r’ and ’t’ value for records when PMT_FREQ_
MULT = M.
Following is an explanation of how the calculations use the PMT_FREQ.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-79


Cash Flow Columns

For records with PMT_FREQ MULT = M, ’r’ is defined as the discount rate divided
by the number of payments per period. The number of payments per period is cal-
culated as (12/PMT_FREQ).
r = Discount Rate/12/PMT_FREQ
The ’t’ value is defined as the number of days in the payment period from the AS_
OF_DATE divided by 30.41667. This amount is then rounded to a whole integer and
then divided by the PMT_FREQ. The equation is as follows:
t = (Round((Current Payment Date - AS_OF_DATE) / 30.41667))/PMT_FREQ
For user-defined Payment Schedules and Patterns, the Market Value formula is the
same as used for PMT_FREQ = D records. That formula is:
t = (Current Payment Date - AS_OF_DATE/PMT_FREQ).

Note: For User-Defined Payment Schedules and Patterns, the


Market Value formula is the same as used for PMT_FREQ = D
records. That formula is t = (Current Payment Date - AS_OF_
DATE/PMT_FREQ).

Transfer Pricing
PMT_FREQ is referenced by the cash flow transfer pricing methodologies when
deriving discounted cash flows. See Chapter 9, "Cash Flow Calculations," for calcu-
lation details.

Risk Manager and Transfer Pricing


Both Oracle Risk Manager and Oracle Transfer Pricing use PMT_FREQ in defining
payment dates.
1. Oracle Risk Manager defines the date of payment using PMT_FREQ in the
following manner:
During cash flow generation, from the NEXT_PAYMENT_DATE, OFSA
increments forward by the PMT_FREQ until the MATURITY_DATE. Oracle
Risk Manager does not use NEXT_PAYMENT_DATE for payment schedule

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-80 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

records. See the Next Payment Date (NEXT_PAYMENT_DATE) section for a full
description of processing.

Note: If the record uses user-defined Payment Schedules or


Patterns, PMT_FREQ is not referenced for payment date
information. Instead, the Payment Schedules and Pattern
information are used to define all future payments.

2. Oracle Transfer Pricing defines the date of payment using PMT_FREQ in the
following ways:
Adjustable-rate Cash Flow Transfer-priced Records In defining the transfer
rate for an adjustable-rate record, OFSA uses the PMT_FREQ to define the
payment dates from the LAST_REPRICE_DATE to the NEXT_REPRICE_DATE.
In order to define all the payment events within this period, OFSA rolls back
from the NEXT_PAYMENT_DATE by the PMT_FREQ until just before the
LAST_REPRICE_DATE. From this calculated payment date, OFSA again rolls
forward by the PMT_FREQ, but this time cash flows are produced. The cash
flows produced are used by one of the three cash flow transfer pricing
methodologies in order to derive the transfer rate.
Fixed-rate Cash Flow Transfer-priced Records In defining the payment dates
for cash flow transfer-priced fixed-rate records, OFSA starts from the record’s
ORIGINATION_DATE and roll forward by the PMT_FREQ until the
MATURITY_DATE.

Note: If the transfer pricing record uses User-Defined Payment


Schedules or Patterns, PMT_FREQ is not referenced for payment
date information.

3. Oracle Risk Manager and Oracle Transfer Pricing both use the PMT_FREQ in
the following, similar manner:
■ On date of payment, OFSA calculates the interest payments, principal
payments, current deferred payments, prepayments, unscheduled
prepayments, and negative amortization, if applicable. For an
adjustable-type record where REPRICE_FREQ < PMT_FREQ, Oracle Risk
Manager applies only the last repriced rate for the purposes of payment
calculation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-81


Cash Flow Columns

■ During the payment calculation processing, PMT_FREQ is used for interest


income calculations (financial element 430) for records with ACCRUAL_
BASIS_CDs of 30/360, 30/365, 30/ACTUAL. See Accrual Basis Code
(ACCRUAL_BASIS_CD) and Interest Type Code (INT_TYPE) for formulas.
■ PMT_FREQ is used in the ’Remaining Number of Payments’ calculation
when calculating the payment amounts for balloon records and specific
user-defined payment pattern instances. See the Amortization Term
(AMRT_TERM) section for the formula and further details.
■ As each payment is made on the PMT_FREQ, OFSA reduces the REMAIN_
NO_PMTS_C by ’1’. If the newly calculated REMAIN_NO_PMTS_C = 1,
the next payment date is set to MATURITY_DATE.

Note: The use of REMAIN_NO_PMTS_C varies depending on


record type. See the Remaining Number of Payments (REMAIN_
NO_PMTS_C) and Amortization Term (AMRT_TERM) sections for
more details and special considerations for payment-patterned
records.

Data Verification Requirements and Suggested Defaults


■ PMT_FREQ > 0 in all cases. PMT_FREQ = 0 can cause incorrect calculations to
occur.
■ PMT_FREQ <= ORG_TERM
■ MATURITY_DATE <= NEXT_PAYMENT_DATE + (REMAIN_NO_PMTS_C *
PMT_FREQ).
PMT_FREQ = ’1’ and PMT_FREQ MULT = ’D’ require OFSA to perform cash
flow calculations for every day of the modeling horizon. This slows processing
significantly.

Note: Validation of PMT_FREQ should always be done in


conjunction with PMT_FREQ_MULT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-82 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Payment Frequency Multiplier (PMT_FREQ_MULT)

Definition
Used in conjunction with PMT_FREQ to define the payment frequency of an
account.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_FREQ_MULT for calculating and processing payments. PMT_FREQ_
MULT determines the units (Months, Days or Years) of PMT_FREQ.

Data Verification Requirements and Suggested Defaults


■ Valid values are:
■ D - Days
■ M - Months
■ Y - Years
■ Refer to the validation discussion for Payment Frequency (PMT_FREQ) for
information on PMT_FREQ_MULT validation.

Payment Increase Limit - Cycle (PMT_INCR_CYCLE)

Definition
Maximum payment increase allowed during a payment change cycle of an adjust-
able-rate instrument.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_INCR_CYCLE when recalculating the current payment for negative
amortization events such as NEG_AMRT_LIMIT, PMT_ADJUST_DATE, and PMT_
CHG_FREQ. This is relevant only for adjustable-rate accounts where AMRT_TYPE_
CD = 600.
1. For negative amortization-type accounts, the Knowledge Engine uses PMT_
INCR_CYCLE to calculate the maximum increase in the payment amount
allowed from the previous payment change to the next.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-83


Cash Flow Columns

2. PMT_INCR_CYCLE is defined in terms of a percentage. The Knowledge Engine


performs the following check:
Newly calculated payment - Previous Current Payment > (PMT_INCR_
CYCLE/100 * Previous Current Payment)
If the newly calculated payment satisfies the above equation, the Knowledge
Engine limits the increase to the amount = (PMT_INCR_CYCLE * Previous
Current Payment).
For example, if PMT_INCR_CYCLE = 5.00, the calculated current payment is
not allowed to increase by more than 5% of the previous current payment.
3. If PMT_INCR_CYCLE = 0, the Knowledge Engine assumes that there is no
payment increase limit per payment change period.
4. The PMT_INCR_CYCLE is referenced when the following negative
amortization events occur:
■ NEG_AMRT_LIMIT
■ PMT_ADJUST_DATE
■ PMT_CHG_FREQ
5. For an explanation of PMT_INCR_CYCLE’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Data Verification Requirements and Suggested Defaults


1. If AMRT_TYPE_CD <> 600, PMT_INCR_CYCLE = 0
2. If AMRT_TYPE_CD = 600, 0 <= PMT_INCR_CYCLE < 100

Payment Increase Limit - Life (PMT_INCR_LIFE)

Definition
Maximum payment increase allowed during the life of an adjustable-rate instru-
ment.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies refer-
ence PMT_INCR_LIFE when recalculating the current payment for negative amorti-
zation events such as NEG_AMRT_LIMIT, PMT_ADJUST_DATE, and

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-84 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

PMT_CHG_FREQ. This is relevant only for adjustable-rate accounts where AMRT_


TYPE_CD = 600.
1. For negative amortization-type accounts, the Knowledge Engine uses PMT_
INCR_LIFE to calculate the maximum increase in the payment allowed during
the life of the account.
2. PMT_INCR_LIFE is defined in terms of a percentage of ORG_PAYMENT. The
Knowledge Engine performs the following check:
Newly calculated payment - ORG_PAYMENT > (PMT_INCR_LIFE/100 *
ORG_PAYMENT)
If the newly calculated payment satisfies the above equation, the Knowledge
Engine limits the increase to the amount = (PMT_INCR_LIFE * ORG_
PAYMENT).
For example, if PMT_INCR_LIFE = 25.00, the calculated current payment is not
allowed to increase by more than 25% of ORG_PAYMENT.
3. The PMT_INCR_LIFE is referenced when the following negative amortization
events occur:
■ NEG_AMRT_LIMIT
■ PMT_ADJUST_DATE
■ PMT_CHG_FREQ
4. For an explanation of PMT_INCR_LIFE’s relationship with other related
negative amortization fields, see Negative Amortization Amount (NEG_
AMRT_AMT).

Data Verification Requirements and Suggested Defaults


■ If PMT_INCR_LIFE = 0, the Knowledge Engine assumes that there is no lifetime
payment increase limit.
■ If AMRT_TYPE_CD <> 600, PMT_INCR_LIFE = 0
■ If AMRT_TYPE_CD = 600, 0 <= PMT_INCR_LIFE < 100

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-85


Cash Flow Columns

Percent Sold (PERCENT_SOLD)

Definition
Percent of balance sold to investors.

Module Usage
PERCENT_SOLD is used to calculate net balance and net payment when the instru-
ment is partially participated out to another financial institution. In the case of a
participated loan, the bank partially owns the loan. A bank would participate out
the balance of the loan to another financial institution if it was not able to lend the
entire amount or if lending the entire amount would exceed the bank’s legal lend-
ing limits. By selling most of the financing to another financial institution, the bank
would earn fee income from servicing the loan and would be able to retain other
banking relationships, such as checking accounts.
1. Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies use
PERCENT_SOLD to perform all net balance calculations.
2. The Knowledge Engine performs all of the cash flow calculations on a gross
balance basis, but must net out the principal and interest portions not
owned/owed by the bank. PERCENT_SOLD defines the percent of the balances
participated (sold) by the bank.
3. The calculation performed to net out participations sold is:
[Net Balance] = [Gross Balance] * (100 - PERCENT_SOLD)/100
4. PERCENT_SOLD does not apply if an account has been sold to another
subsidiary of the same company. In the case of accounts that have had portions
sold from one legal entity of a holding company to another, PERCENT_SOLD =
0.
5. For wholly (100%) owned accounts, PERCENT_SOLD = 0.
6. Oracle Risk Manager only writes out Result Detail balance results net of
participations.

Data Verification Requirements and Suggested Defaults


For accounts with PERCENT_SOLD <> 0, the following conditions should exist:
■ 0 < PERCENT_SOLD <= 100
■ CUR_NET_BOOK_BAL_C = CUR_BOOK_BAL * (100 - PERCENT_SOLD) /
100.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-86 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

■ CUR_NET_PAR_BAL_C = CUR_PAR_BAL * (100 - PERCENT_SOLD) / 100


■ ORG_NET_BOOK_BAL_C = ORG_BOOK_BAL * (100 - PERCENT_SOLD) /
100.
■ ORG_NET_PAR_BAL_C = ORG_PAR_BAL * (100 - PERCENT_SOLD) / 100
■ If not applicable, PERCENT_SOLD = 0.

Prior Transfer Pricing Period Average Daily Balance (PRIOR_TP_PER_ADB)

Definition
The average balance at the reprice date(s) prior to the LAST_REPRICE_DATE.

Module Usage

Risk Manager
Oracle Risk Manager does not reference PRIOR_TP_PER_ADB or CUR_TP_PER_
ADB.

Transfer Pricing
When processing with the mid-period repricing option, Oracle Transfer Pricing ref-
erences PRIOR_TP_PER_ADB as the average daily balance at the time of the last
repricing event prior to the LAST_REPRICE_DATE. This field is used in conjunc-
tion with the CUR_TP_PER_ADB field.
1. Mid-period repricing produces an average transfer rate over the current
processing month if the LAST_REPRICE_DATE occurred since the beginning of
the processing month. PRIOR_TP_PER_ADB and CUR_TP_PER_ADB are used
as average balance weightings in the mid-period pricing equation. PRIOR_TP_
PER_ADB is used to determine the balance on the reprice date prior to the
LAST_REPRICE_DATE and CUR_TP_PER_ADB is used to determine the
balance as of the LAST_REPRICE_DATE.
See Current Transfer Pricing Period Average Daily Balance (CUR_TP_PER_
ADB) for an example and explanation of the relationship between PRIOR_TP_
PER_ADB and CUR_TP_PER_ADB. See the Transfer Pricing Methods chapter
in the Oracle Transfer Pricing Reference Guide for additional information.
2. If the CUR_TP_PER_ADB and PRIOR_TP_PER_ADB are not available, use
CUR_PAR_BAL as the default.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-87


Cash Flow Columns

3. If the TEASER_END_DATE is greater than the AS_OF_DATE, the mid-period


repricing does not apply and the CUR_TP_PER_ADB and PRIOR_TP_PER_
ADB fields is not used.

Data Verification Requirements and Suggested Defaults


■ If the record is adjustable and repricing occurs within the month, PRIOR_TP_
PER_ADB = (average) balance at the time of the reprice date prior to the LAST_
REPRICE_DATE.
■ If the average balance at the time of the reprice date prior to the LAST_
REPRICE_DATE is not available, use CUR_PAR_BAL.

Rate Cap Life (RATE_CAP_LIFE)

Definition
Maximum interest rate allowed during life of an adjustable-rate instrument.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_CAP_LIFE when calculating a forecasted
interest rate for adjustable rate records.

Existing business adjustable-rate records OFSA matches the REPRICE_FREQ,


INTEREST_RATE_CD, and the reprice date to the information contained in the
Forecast Rates ID to assign a forecasted rate. The margin is then added to this fore-
casted rate. Any rounding, rate caps (RATE_CAP_LIFE) or floors and tease periods
are applied, and the resulting rate is applied to the record as the record’s repriced
rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

For accounts beyond the tease period After the rounding and rate change mini-
mum are applied to the Forecast Rates ID rate plus margin, if the resulting rate is

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-88 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

> RATE_CAP_LIFE, the Knowledge Engine sets the record’s forecasted rate =
RATE_CAP_LIFE.

Note: For details of the repricing process see the Next Repricing
Date (NEXT_REPRICE_DATE) section and Chapter 9, "Cash Flow
Calculations."

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_CAP_LIFE because it processes
cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ If the record is fixed-rate, RATE_CAP_LIFE = 0.
■ If the record is adjustable without a rate cap, RATE_CAP_LIFE = 0.
■ If RATE_CAP_LIFE <> 0, CUR_GROSS_RATE and CUR_NET_RATE <= RATE_
CAP_LIFE.
■ If RATE_CAP_LIFE <> 0, RATE_CAP_LIFE = ORG_RATE + RATE_INCR_LIFE.

Rate Change Minimum (RATE_CHG_MIN)

Definition
Minimum change in the repricing index that is necessary for a change to be made to
the interest rate.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_CHG_MIN when calculating a forecasted
interest rate.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD, and the reprice date to the information contained
in the Forecast Rates ID to assign a forecasted rate. The margin is then added to
this forecasted rate. Any rounding is applied, followed by a check of the RATE_
CHG_MIN, when determining the fully indexed rate. Rate caps or floors and

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-89


Cash Flow Columns

tease periods are applied, and the resulting rate is used as the record’s repriced
rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. If the absolute value of [(forecasted rate + margin) - (previous rate + margin)] <
RATE_CHG_MIN, the Knowledge Engine sets the new forecasted rate =
previous rate. OFSA does not change the previous rate to the new forecasted
rate. The previous rate is defined as either the rate on the detail record (CUR_
NET_RATE or CUR_GROSS_RATE) or the previous forecasted rate from the
Forecast Rates ID. After the RATE_CHG_MIN is calculated any other cap/floor,
rounding, and tease periods are then applied.
For details of the repricing process see the Next Repricing Date (NEXT_
REPRICE_DATE) section and Chapter 9, "Cash Flow Calculations."

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_CHG_MIN because it processes
cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ If the record is fixed-rate, RATE_CHG_MIN = 0.
■ If the record is adjustable, without a minimum rate change amount, RATE_
CHG_MIN = 0.
■ If RATE_CHG_MIN <> 0, 0 < RATE_CHG_MIN <= 1.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-90 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Rate Change Rounding Code (RATE_CHG_RND_CD)

Definition
Method used for rounding of the interest rate change.

Module Usage

Risk Manager
Oracle Risk Manager uses RATE_CHG_RND_CD to determine the rounding
method that is applied to the current rate after a repricing event. RATE_CHG_
RND_CD is used in conjunction with RATE_CHG_RND_FAC.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained
in the Forecast Rates ID. This is to assign a forecasted rate. The margin is then
added to this forecasted rate. Any rounding (RATE_CHG_RND_CD and RATE_
CHG_RND_FAC), rate caps/floors, and tease periods are applied, and the
resulting rate is applied to the record as the record’s repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. The RATE_CHG_RND_CD accepts values 1 - 4. Depending on the value input,


the value of the forecasted rate as calculated above will differ.
Below are explanations of the possible values:

Rate Change Rounding Code Description


RATE_CHG_RND_CD = 1 Truncate
The Knowledge Engine truncates the forecasted
rate to a whole value. For example, if unrounded
forecasted = 8.65, the truncated forecasted rate =
8.00.
RATE_CHG_RND_CD = 2 Round Up
The Knowledge Engine rounds the rate up to the
nearest multiple of the RATE_CHG_RND_FAC.
For example, if the unrounded forecasted rate is
8.65 and the RATE_CHG_RND_FAC = 0.5, the
rounded forecasted rate = 9.00.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-91


Cash Flow Columns

Rate Change Rounding Code Description


RATE_CHG_RND_CD = 3 Round Down
The Knowledge Engine rounds the rate down to
the nearest multiple of RATE_CHG_RND_FAC.
For example, if the unrounded forecasted rate is
8.65 and the RATE_CHG_RND_FAC = 0.25, the
rounded forecasted rate = 8.50.
RATE_CHG_RND_CD = 4 Round Nearest
The Knowledge Engine rounds the rate to the
nearest multiple of RATE_CHG_RND_FAC. For
example, if the unrounded forecasted rate is 8.65
and the RATE_CHG_RND_FAC = 0.25, the
rounded forecasted rate = 8.75.

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_CHG_RND_CD because it pro-
cesses cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ RATE_CHG_RND_CD must be within the range of ’0’ to ’4’.
■ For fixed-rate accounts, RATE_CHG_RND_CD = 4 and RATE_CHG_RND_FAC
= 0.
■ For variable-rate accounts with rates that are not rounded, RATE_CHG_RND_
CD = 4 and RATE_CHG_RND_FAC = 0.

Rate Change Rounding Factor (RATE_CHG_RND_FAC)

Definition
Factor to which the rate change on an adjustable instrument is rounded.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_CHG_RND_FAC when calculating a fore-
casted interest rate, and contains the value to which forecasted interest rates are

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-92 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

rounded. RATE_CHG_RND_FAC is used in conjunction with RATE_CHG_RND_


CD.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained
in the Forecast Rates ID. This is to assign a forecasted rate. The margin is then
added to this forecasted rate. Any rounding (RATE_CHG_RND_CD and RATE_
CHG_RND_FAC), rate caps/floors, and tease periods are applied, and the
resulting rate is applied to the record as the record’s repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. For an explanation of usage and the relationship between RATE_CHG_RND_


FAC and RATE_CHG_RND_CD, see the Rate Change Rounding Code (RATE_
CHG_RND_CD) section.

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_CHG_RND_FAC because it pro-
cesses cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ For fixed-rate accounts, RATE_CHG_RND_CD = 4 and RATE_CHG_RND_FAC
= 0.
■ For variable-rate accounts with rates that are not rounded, RATE_CHG_RND_
CD = 4 and RATE_CHG_RND_FAC = 0.
■ For variable-rate accounts with RATE_CHG_RND_FAC <> 0, 0 < RATE_CHG_
RND_FAC <= 1.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-93


Cash Flow Columns

Rate Decrease Limit - Cycle (RATE_DECR_CYCLE)

Definition
Maximum rate decrease allowed during a repricing cycle for an adjustable-rate
instrument.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_DECR_CYCLE when calculating a fore-
casted interest rate. RATE_DECR_CYCLE sets the maximum amount (in terms of
basis points) that the interest rate may decrease in a given REPRICE_FREQ.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained
in the Forecast Rates ID. This is to assign a forecasted rate. The margin is then
added to this forecasted rate. Any rounding, rate caps/floors (RATE_DECR_
CYCLE), and tease periods are applied, and the resulting rate is applied to the
record as the record’s repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. When applying the RATE_DECR_CYCLE, the Knowledge Engine checks for the
following:
■ Previous Current Rate > Calculated forecasted rate
■ Previous Current Rate - Calculated forecasted rate > RATE_DECR_CYCLE
If both equations are true, the rate change during the repricing period has
exceeded RATE_DECR_CYCLE. In this case, the new forecasted rate is limited
to the previous current rate - RATE_DECR_CYCLE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-94 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

This is illustrated in the following example:


RATE_DECR_CYCLE = 2.00 (200 basis points)
Previous Current Rate = 10.00
Calculated (raw) rate = 7.75
■ 10.00 > 7.75
■ 10.00 - 7.75 (= 2.25) > 2.00
New current rate = 10.00 - 2.00 = 8.00

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_DECR_CYCLE because it pro-
cesses cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ For fixed-rate accounts, RATE_DECR_CYCLE = 0.
■ For variable-rate accounts without a maximum rate decrease, RATE_DECR_
CYCLE = 0.
■ For RATE_DECR_CYCLE <> 0, 0 <= RATE_DECR_CYCLE <= RATE DECR
LIFE.

Rate Floor Life (RATE_FLOOR_LIFE)

Definition
Minimum interest rate allowed during life of an adjustable-rate instrument.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_FLOOR_LIFE when calculating a forecasted
interest rate for adjustable-rate records.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained
in the Forecast Rates ID. This is to assign a forecasted rate. The margin is then
added to this forecasted rate. Any rounding, rate caps/floors (RATE_FLOOR_

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-95


Cash Flow Columns

LIFE), and tease periods are applied, and the resulting rate is applied to the
record as the repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. If the Forecast Rates ID rate plus margin < RATE_FLOOR_LIFE, the Knowledge
Engine sets the record’s forecasted rate = RATE_FLOOR_LIFE. Rounding and
tease periods are then applied.
For details of the repricing process see the Next Repricing Date (NEXT_
REPRICE_DATE) section.
3. For any forecasted rate changes throughout the life of the instrument, OFSA
references RATE_FLOOR_LIFE.

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_FLOOR_LIFE because it processes
cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


■ If the record is fixed-rate, RATE_FLOOR_LIFE = 0.
■ If the record is adjustable without a rate floor, RATE_FLOOR_LIFE = 0.
■ If RATE_FLOOR_LIFE <> 0, CUR_GROSS_RATE and CUR_NET_RATE >=
RATE_FLOOR_LIFE
■ If RATE_FLOOR_LIFE <> 0, RATE_FLOOR_LIFE = ORG_RATE - RATE_
DECR_LIFE

Rate Increase Limit - Cycle (RATE_INCR_CYCLE)

Definition
Maximum rate increase allowed during a repricing cycle for an adjustable-rate
instrument.

Module Usage

Risk Manager

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-96 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Oracle Risk Manager references RATE_INCR_CYCLE when calculating a fore-


casted interest rate. RATE_INCR_CYCLE sets the maximum amount (in terms of
basis points) that the interest rate may increase in a given REPRICE_FREQ.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the reprice date to the information contained
in the Forecast Rates ID. This is to assign a forecasted rate. The margin is then
added to this forecasted rate. Any rounding, rate caps (RATE_INCR_CYCLE) or
floors, and tease periods are applied, and the resulting rate is applied to the
record as the record’s repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. When applying the RATE_INCR_CYCLE, the Knowledge Engine checks for the
following:
■ Calculated forecasted rate > Previous Current Rate
■ Calculated forecasted rate - Previous Current Rate > RATE_INCR_CYCLE.
If both equations are true, the rate change during the repricing period has
exceeded RATE_INCR_CYCLE. In this case, the new forecasted rate is limited
to the previous current rate + RATE_INCR_CYCLE.
This is illustrated in the following example:
RATE_INCR_CYCLE = 2.00 (200 basis points)
Previous Current Rate = 10.00
Calculated rate = 12.25
■ 12.25 > 10.00
■ 12.25 -10.00 (= 2.25) > 2.00
New current rate = 10.00 + 2.00 = 12.00

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_INCR_CYCLE because it pro-
cesses cash flows within repricing periods.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-97


Cash Flow Columns

Data Verification Requirements and Suggested Defaults


■ For fixed-rate accounts, RATE_INCR_CYCLE = 0.
■ For variable-rate accounts without a maximum rate increase, RATE_INCR_
CYCLE = 0.
■ For RATE_INCR_CYCLE <> 0, 0 <= RATE_INCR_CYCLE <= RATE INCR LIFE

Rate Set Lag (RATE_SET_LAG)

Definition
Used in conjunction with RATE_SET_LAG_MULT to define the period by which
repricing lags the current interest rate changes.

Module Usage

Risk Manager
Oracle Risk Manager references RATE_SET_LAG when calculating a forecasted
interest rate.
1. For existing business adjustable-rate records, OFSA matches the REPRICE_
FREQ, INTEREST_RATE_CD and the lagged reprice date (after referencing
RATE_SET_LAG) to the information contained in the Risk Manager Forecast
Rates ID. This is to assign a forecasted rate. The margin is then added to this
forecasted rate. Any rounding, rate caps/floors, and tease periodsare applied,
and the resulting rate is applied to the record as the record’s repriced rate.

Note: ADJUSTABLE_TYPE_CD = 30 or 50 does not reference


reprice dates.

2. If RATE_SET_LAG > 0, the Knowledge Engine does not assign a forecasted


interest rate based upon NEXT_REPRICE_DATE. Instead, the Knowledge
Engine assigns the account an interest rate based upon the date NEXT_
REPRICE_DATE - RATE_SET_LAG.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-98 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

This is illustrated in the following example:


REPRICE_FREQ = 3
REPRICE_FREQ_MULT = M
NEXT_REPRICE_DATE = 04/01/1996
RATE_SET_LAG = 1
RATE_SET_LAG_ MULT = M
MARGIN = 1.00

In this example the account is tied to the Treasury Yield Curve. Because of the
RATE_SET_LAG, Oracle Risk Manager references the Treasury Yield Curve one
month before the NEXT_REPRICE_DATE. The 3-Month point on the Treasury
Yield Curve on 3/01/96 equals 5%. Therefore the repriced rate equals 6% (5%
plus the 1% margin).
3. If the RATE_SET_LAG > (Cash Flow Date - AS_OF_DATE), OFSA uses the base
rate from the Forecast Rates ID. OFSA does not reference the rates historically.
For instance, if a 3-month RATE_SET_LAG is applied to a repricing event that is
two months from the AS_OF_DATE, OFSA does not reference the Historical
Rates ID to obtain the yield curve information that is one month before the AS_
OF_DATE. Instead, OFSA applies the base rate from the Oracle Risk Manager
Forecast Rates ID.

Transfer Pricing
Oracle Transfer Pricing does not reference RATE_SET_LAG because it processes
cash flows within repricing periods.

Data Verification Requirements and Suggested Defaults


1. RATE_SET_LAG must be either ë0í or a positive value.
2. If the record is a fixed-rate account, RATE_SET_LAG = 0.
3. If the record is an adjustable-rate account, RATE_SET_LAG >= 0

Note: Validation of RATE_SET_LAG should always be done in


conjunction with RATE_SET_LAG_MULT.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-99


Cash Flow Columns

Rate Set Lag Multiplier (RATE_SET_LAG_MULT)

Definition
Used in conjunction with RATE_SET_LAG to define the rate set lag period.

Module Usage
The Oracle Risk Manager Knowledge Engine references RATE_SET_LAG_MULT
when calculating a forecasted interest rate. RATE_SET_LAG_MULT determines the
units (Months, Days or Years) of RATE_SET_LAG.

Data Verification Requirements and Suggested Defaults


■ Valid values are:
■ D - Days
■ M - Months
■ Y - Years
■ Refer to the validation discussion for Rate Set Lag (RATE_SET_LAG) for
information on RATE_SET_LAG_MULT validation.

Remaining Number of Payments (REMAIN_NO_PMTS_C)

Definition
The remaining number of principal, interest, or principal and interest payments to
be made from the AS_OF_DATE until the MATURITY_DATE of the record.

Module Usage
The Oracle Risk Manager and Oracle Transfer Pricing cash flow methodologies ref-
erence REMAIN_NO_PMTS_C when calculating and processing payments. The
Knowledge Engine uses REMAIN_NO_PMTS_C to determine the number of pay-
ments that remain to be paid until the account matures.

Risk Manager and Transfer Pricing


The number of remaining payments is used by OFSA for two purposes:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-100 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Definition of payment dates on which principal and interest are paid As each
payment is made during the life of the instrument, OFSA reduces the REMAIN_
NO_PMTS_C by ’1’ and rolls the payment period forward by the PMT_FREQ. If the
newly calculated REMAIN_NO_PMTS_C = 1, OFSA no longer rolls the PMT_FREQ
and makes the next (and final) payment on the MATURITY_DATE. See Amortiza-
tion Term (AMRT_TERM) for additional details, including special considerations
for payment-patterned records.

Amortization recalculation purposes When a recalculation occurs (repricing or


negative amortization event), OFSA references the REMAIN_NO_PMTS_C for
recalculation of amortization. See Current Payment (CUR_PAYMENT) for details on
calculation.
You should be aware that there are some exceptions to the use of REMAIN_NO_
PMTS_C for balloon records and specific User-Defined Payment Patterns and
schedules. Depending on the record characteristics, OFSA may calculate the remain-
ing number of payments itself. See the Amortization Term (AMRT_TERM) section
for further explanations.

Transfer Pricing
1. The Transfer Pricing Remaining Term Pricing Basis cash flow methodology for
fixed-rate records uses REMAIN_NO_PMTS_C as described above.
2. The Transfer Pricing Standard Pricing Basis cash flow methodology for an
adjustable-rate record calculates the remaining number of payments as follows:
REMAIN_NO_PMTS_C + number of payment periods between the NEXT_
PAYMENT_DATE and the LAST_REPRICING_DATE

Data Verification Requirements and Suggested Defaults


■ REMAIN_NO_PMTS_C >= 1
■ If REMAIN_NO_PMTS_C = 0, record is invalid.
■ If REMAIN_NO_PMTS_C = 1, NEXT_PAYMENT_DATE = MATURITY_DATE
■ If REMAIN_NO_PMTS_C > 1, NEXT_PAYMENT_DATE < MATURITY_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-101


Cash Flow Columns

■ Generally:
■ REMAIN_NO_PMTS_C * PMT_FREQ <= ORG_TERM * ORG_TERM_
MULT
■ REMAIN_NO_PMTS_C * PMT_FREQ <= ISSUE_TERM * ISSUE_TERM_
MULT
■ MATURITY_DATE <= NEXT_PAYMENT_DATE + (REMAIN_NO_PMTS_
C * PMT_FREQ).
■ For non-term accounts, REMAIN_NO_PMTS_C = 1.
■ The maximum number of payment and repricing events that can be modeled
cannot exceed 2000. REMAIN_NO_PMTS_C + (REMAIN_TERM_C (in days)) /
(REPRICE_FREQ (in days)) > 2000.

Repricing Frequency (REPRICE_FREQ)

Definition
Used in conjunction with REPRICE_FREQ_MULT to define the frequency of rate
change of an account.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing reference REPRICE_FREQ when
identifying adjustable-rate instruments and calculating a transfer pricing term or
forecasted interest rate.

Risk Manager
1. In identifying an adjustable record, Oracle Risk Manager uses ADJUSTABLE_
TYPE_CD and REPRICE_FREQ. If the ADJUSTABLE_TYPE_CD > 0 and the
REPRICE_FREQ > 0, the record is adjustable.

Note: Even if REPRICE_FREQ > 0, if ADJUSTABLE_TYPE_CD =


0, the record is fixed-rate.

2. OFSA uses the REPRICE_FREQ to identify repricing events beyond the NEXT_
REPRICE_DATE. OFSA rolsl forward from NEXT_REPRICE_DATE by the
REPRICE_FREQ to define the record’s remaining forecasted reprice dates.
Rolling by the REPRICE_FREQ continues until MATURITY_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-102 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

For additional information on the repricing process see Next Repricing Date
(NEXT_REPRICE_DATE).
3. In defining the CUR_NET_RATE, CUR_GROSS_RATE, and TRANSFER_RATE
on each reprice date, OFSA matches the record’s INTEREST_RATE_CD (T_
RATE_INT_RATE_CD in the case of transfer rates), the reprice date, and the
REPRICE_FREQ to the appropriate term point on the forecasted Interest Rate
Code (IRC) in the Oracle Risk Manager Forecast Rates ID. To this derived rate,
OFSA adds the relevant margin amount (MARGIN, MARGIN_GROSS,
MARGIN T RATE).
Any rate caps/floors, tease periods, and rounding is then applied.

Note: ADJUSTABLE_TYPE_CD = 30 and 50 does not reference reprice


date

Transfer Pricing
1. REPRICE_FREQ is used to identify whether records are adjustable or not. If
REPRICE_FREQ > 0, the record is considered adjustable. If REPRICE_FREQ = 0,
the record is fixed-rate.
2. For adjustable-rate straight term methodology, Oracle Transfer Pricing matches
the REPRICE_FREQ to the same term on the Transfer Pricing yield curve
(Interest Rate Code) defined in the Historical Rates ID. See Last Repricing Date
(LAST_REPRICE_DATE) for additional information.

Data Verification Requirements and Suggested Defaults


■ If REPRICE_FREQ > 0, MATURITY_DATE >= NEXT_REPRICE_DATE > AS_
OF_DATE
■ If REPRICE_FREQ > 0, INTEREST_RATE_CD is in the range of 001 - 999
■ If REPRICE_FREQ > 0, ADJUSTABLE_TYPE_CD > 0
■ REPRICE_FREQ must be either ’0’ or positive.

Note: In Risk Manager, ADJUSTABLE_TYPE_CD is used in


conjunction with REPRICE_FREQ to define adjustable-rate records.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-103


Cash Flow Columns

Repricing Frequency Multiplier (REPRICE_FREQ_MULT)

Definition
Used in conjunction with REPRICE_FREQ to define the frequency of rate change of
an account.

Module Usage
Oracle Risk Manager and Oracle Transfer Pricing reference REPRICE_FREQ when
identifying adjustable-rate instruments and calculating a transfer pricing term or
forecasted interest rate. REPRICE_FREQ_MULT determines the units (Months,
Days or Years) of REPRICE_FREQ.

Data Verification Requirements and Suggested Defaults


Valid values are:
■ D - Days
■ M - Months
■ Y - Years

Teaser-rate End Date (TEASER_END_DATE)

Definition
Date that the tease rate (introductory rate) ends and the normal product rate begins.

Module Usage
OFSA references TEASER_END_DATE when calculating a forecasted interest rate.
The TEASER_END_DATE defines the end of a tease period, which is an initial low
interest rate period from the origination of a loan. At the TEASER_END_DATE, the
low rate is repriced to a value defined by the market index plus margin.

Risk Manager
1. The Knowledge Engine does not adjust the rate on an adjustable-rate account
until the TEASER_END_DATE is less than the current date within the modeling
horizon.
2. TEASER_END_DATE takes precedence over NEXT_REPRICE_DATE and
REPRICE_FREQ. Even if NEXT_REPRICE_DATE < TEASER_END_DATE, the
record does not reprice until the TEASER_END_DATE.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-104 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

3. TEASER_END_DATE does not apply to fixed-rate accounts.

Transfer Pricing
1. Because TEASER_END_DATE overrides the other repricing fields, if a record is
currently in its tease period, the last repricing date equals the ORIGINATION_
DATE and the next repricing date equals the TEASER_END_DATE.
2. If the TEASER_END_DATE is greater than the AS_OF_DATE, the Oracle
Transfer Pricing mid-period repricing does not apply. See the “Mid-period
Repricing” section of the Transfer Pricing Methods chapter in the Oracle Transfer
Pricing Reference Guide for further information.

Data Verification Requirements and Suggested Defaults


■ TEASER_END_DATE > ORIGINATION_DATE
■ TEASER_END_DATE < MATURITY_DATE
■ For fixed-rate accounts TEASER_END_DATE = 19000101.
■ TEASER_END_DATE >= NEXT_REPRICE_DATE

Transfer Rate Interest Rate Code (T_RATE_INT_RATE_CD)

Definition
Holds code value to identify the index that account is tied to for assigning fore-
casted transfer rates.

Module Usage

Risk Manager
Oracle Risk Manager references T_RATE_INT_RATE_CD when forecasting transfer
rates for adjustable rate accounts.
1. The detail record’s T_RATE_INT_RATE_CD has a corresponding reference in
the Forecast Rates ID and Historical Rate ID. These IDs contain the term
structure and rate values of the yield curve.
2. At a repricing event for an adjustable-rate record, OFSA matches the T_RATE_
INT_RATE_CD, REPRICE_FREQ and repricing date of the detail record to the
Forecast Rates ID. After matching the rate from the Forecast Rates ID, OFSA
adds the MARGIN_T_RATE amount and applies the transfer rate to the record.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-105


Cash Flow Columns

3. The exact value of the T_RATE_INT_RATE_CD is user-defined, but it must be


within the range of 001 - 999. However, fixed-rate records, that do not reference
the T_RATE_INT_RATE_CD can be defaulted to a value of ’0’.

Transfer Pricing
T_RATE_INT_RATE_CD is not used by Oracle Transfer Pricing.

Data Verification Requirements and Suggested Defaults


■ If ADJUSTABLE_TYPE_CD = 0, T_RATE_INT_RATE_CD can be defaulted to
’0’.
■ If ADJUSTABLE_TYPE_CD > 0 and REPRICE_FREQ > 0, T_RATE_INT_RATE_
CD = 001 - 999.

Transfer Rate Margin (MARGIN_T_RATE)

Definition
The spread added to the forecasted transfer rate for adjustable-rate accounts.

Module Usage

Risk Manager
1. Oracle Risk Manager references MARGIN_T_RATE when forecasting transfer
rates in adjustable-rate records only. MARGIN_T_RATE is added to the
forecasted transfer rate (T_RATE_INT_RATE_CD) to derive the transfer rate.
2. The events of a transfer rate assignment involving MARGIN_T_RATE are as
follows:
At a repricing event for an adjustable-rate record, OFSA matches the T_
RATE_INT_RATE_CD, REPRICE_FREQ and repricing date of the detail
record to the Forecast Rates ID. After matching the rate from the Forecast
Rates ID, OFSA adds the MARGIN_T_RATE to this forecasted rate to
derive the transfer rate.

Note: Unlike repricing involving MARGIN or MARGIN_GROSS,


transfer rate assignment involves no tease periods, rounding or rate
caps/floors.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-106 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

For example, a record’s transfer rate index is based on the 91 Day Treasury. Risk
Manager matches the term and repricing date information of the record to the
forecasted 91 Day Treasury rate from the Forecast Rates ID. The MARGIN_T_
RATE is then added to the forecasted rate. If the 91 Day Treasury rate from the
Forecast Rates ID is 5% and MARGIN_T_RATE is 3%, the record’s forecasted
transfer rate is 8.00%.

Transfer Pricing
Oracle Transfer Pricing does not reference MARGIN_T_RATE.

Data Verification Requirements and Suggested Defaults


■ For fixed-rate accounts, the default MARGIN_T_RATE to ’0’.
■ For adjustable-rate term accounts, MARGIN_T_RATE may be <> 0 depending
on user preference.

Transfer Rate (TRANSFER_RATE)

Definition
The associated transfer rate for the account, using the standard pricing basis.

Module Usage

Risk Manager
The TRANSFER_RATE from the detail record is used to calculate Cost/Credit for
funds (financial element 450) and Weighted Average Transfer Rate (financial ele-
ment 170) until the record’s NEXT_REPRICE DATE. At the NEXT_REPRICE DATE,
Oracle Risk Manager matches the T_RATE_INT_RATE_CD, REPRICE_FREQ and
repricing date to the relevant yield curve in the Forecast Rates ID. The transfer rate
derived from the yield curve is then applied to the record.

Transfer Pricing
After calculating a record’s transfer rate using one of the transfer pricing methodol-
ogies and the standard pricing basis, the result is written out to the TRANSFER_
RATE field.

Note: When the remaining term pricing basis is used, the transfer
rate is written to the TRAN_RATE_REM_TERM field.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-107


Cash Flow Columns

Risk Manager
The TRANSFER_RATE from the detail record is used to calculate Cost/Credit for
funds (financial element 450) and Weighted Average Transfer Rate (financial ele-
ment 170) until the record’s NEXT_REPRICE DATE. At the NEXT_REPRICE DATE,
Oracle Risk Manager matches the T_RATE_INT_RATE_CD, REPRICE_FREQ and
repricing date to the relevant yield curve in the Forecast Rates ID. The transfer rate
derived from the yield curve is then applied to the record.

Data Verification Requirements and Suggested Defaults


■ If TRANSFER_RATES are to be loaded directly from client systems, data must
be in % format (10% = 10 not 0.10).

Transfer Rate Remaining Term (TRAN_RATE_REM_TERM)

Definition
The associated transfer rate for the account, using the remaining term pricing basis.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-108 Oracle Financial Services Technical Reference Manual


Cash Flow Columns

Module Usage

Risk Manager
Oracle Risk Manager does not use TRAN_RATE_REM_TERM.

Transfer Pricing
After calculating a record’s transfer rate using one of the transfer pricing methodol-
ogies and the remaining term pricing basis, the result is written out to the TRAN_
RATE_REM_TERM field.

Note: When the standard pricing basis is used, the transfer rate is
written to the TRANSFER_RATE field.

Data Verification Requirements and Suggested Defaults


■ If TRAN_RATE_REM_TERM values are to be loaded directly from client
systems, data must be in % format (10% = 10 not 0.10).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Cash Flow Dictionary 10-109


Cash Flow Columns

Oracle Proprietary, Confidential Information - Use Restricted by Contract

10-110 Oracle Financial Services Technical Reference Manual


11
Distributed Originations

New business instruments must be generated as part of an Oracle Risk Manager or


Oracle Budgeting and Planning forecast to replace balances that have run off for a
particular product. New business impacts the total amount of income and market
value in future periods. Without new business, both values will be understated in
future periods because, over time, existing balances run off. The income and market
value associated with new business is a function of the balance booked, the rate
booked, and the timing of the booking. The balance and rate are determined by the
assumptions input by the user. The timing of the bookings is a function of the
modeling methodology.
The booking of new business can be viewed as coming from three sources:
■ Internal roll-over of existing accounts (hereafter referred to as “roll-over”)
■ Rolling of existing of accounts into other accounts (hereafter referred to as
“roll-into”)
■ New money unrelated to existing business (hereafter referred to as “new
originations”)
In modeling the timing of new business, the modeling goal is to come as close as
possible in reflecting reality while adding minimal processing time.
New bookings generated from run-off (roll-over and roll-into) would realistically
occur on the date the run-off occurred. On run-off date, the source of funds becomes
available. For a practical example, consider the rollover of a CD. When a customer
opts to rollover a CD, the funds are rolled into a new CD on the maturity date of the
previous CD.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-1


New Business from Rollover

This chapter contains the following topics:


■ New Business from Rollover
■ New Originations
■ Rollover Accounts
■ Current Target Average Approach
■ Rolling between Accounts
■ Procedures for Implementation

New Business from Rollover


To model new business generated from rollover, the new business should be booked
on the date the principal run-off occurs. A new record would be created on each
date principal run-off occurs during the modeling period, as shown in Figure 11–1.

Figure 11–1 Roll-over (150% of Principal Runoff)

60

50

40

New Business
30
Current Position Runoff

20

10

0
Ending Balance = $57.50
Average Balance = ($50 * 4 days + $52.50 * 10 days + $57.50 * 17 days)/ 31 days =
$54.9193

New Originations
For new originations, users could make several assumptions about the timing. For
instance, they could assume that it occurs at a single date within the bucket, that it

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-2 Oracle Financial Services Technical Reference Manual


New Originations

occurs evenly over the bucket, or that it accelerates over the bucket. For our
purposes, we are assuming that new originations are booked evenly over the
modeling bucket; thee balance will grow gradually over the modeling period.
For new originations, the booking of new accounts are done in a manner that best
approximates the user’s assumptions about the timing of new business over the
bucket. In the case of even bookings over the bucket, the balance in the account
appear graphically as a straight, positively sloped line. To match this assumption in
the model, a new business record must be generated for each day in the bucket, as
shown in Figure 11–2.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-3


New Originations

Figure 11–2 New Originations (30% Growth)

70

60

50

40
New Business
Current Position Runoff
30

20

10

Figure 11–3 Average Date Roll-over Method

70

60

50

40
Approximated New Business
Current Position Runoff
30

20

10

Ending Balance = $65


Average Balance = ($50 + $65)/ 2 = $57.50

 31 (65 - 50) 
or =
 ∑ 50 + * n 2  ÷ 31
 n=1 31 

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-4 Oracle Financial Services Technical Reference Manual


Rollover Accounts

The problem with both of these approaches is performance. The more new business
instruments generated per bucket, the longer the processing time will be. For
processing efficiency, it is necessary to minimize the number of dates during the
bucket when new business is added.
To create the most accurate results, the new business should come as close as
possible to matching the area between the new business curve and the current
position curve. By matching the area under the curve, we generate the same ending
balance and average balance as would be generated if new bookings were made
every day.

Rollover Accounts
For rollover accounts, the area under the curve is a function of the timing of runoff
and the amount of principal runoff. By calculating an average day of run-off, the
area under the new business curve can be matched by generating new bookings on
the average date, as shown in Figure 11–4.

Figure 11–4 Flat Balance Sheet

50
45
40
35
30
100% Roll-over
25
Current Position Runoff
20
15
10
5
0

Average day of runoff = ($5 * 5 days + $10 * 15 days)/$15 = 11 2/3 days


Balance Plug: 1/3 * $15* 1.5 = $7.50 on the 11th
2/3 * $15* 1.5 = $15 on the 12th
Ending Balance = $57.50
Average Balance = ($50 * 4 days + $45 * 6 days + $52.50 * 1 day + $67.50 * 3
days + $57.50 * 17 days)/ 31 = 54.9193

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-5


Rollover Accounts

When comparing the average and ending balance with the numbers generated from
Figure 11–1, note that the values are exactly the same. This is because we have
changed the shape of the new business curve, but matched the area under the
curve.
For new originations, the area under the curve is a function of the targeted change
in the balance over the bucket, the timing of the runoff of the current position at the
start of the bucket, and the amount of principal runoff.
This can broken into two components:
■ A component of new business that assumes a flat balance sheet. This is equal to
100% roll-over, as shown in Figure 11–4.
■ The new origination component, which can be viewed as a gradually increasing
balance over the flat balance sheet, as shown in Figure 11–5.

Figure 11–5 New Originations Separated by Components

70

60

50

40 New Originations
100% Roll-over
30 Current Position Runoff

20

10

New Business is approximated by splitting the new business into the two
components: the average day roll-over method displayed in example 3 to account
for the 100% roll-over component of new business plus an additional method to
account for the new originations.
Because the shape of the new originations curve is a triangle, the area of this shape
can be calculated as
1/2 days in bucket * new origination balance.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-6 Oracle Financial Services Technical Reference Manual


Current Target Average Approach

The same area can be achieved by booking the entire balance at the mid-point of the
bucket. Because, in this case, the mid-point of the bucket falls between two days, the
balance should be spread evenly over those two days: $7.50 on the 15th and $7.50
on the 16th, as shown in Figure 11–6.

Figure 11–6 New Origination Average Date Method

70

60

50

40 New Origination approx


100% Roll-over approx
30 Current Position Runoff

20

10

0
Ending Balance = $65
Average Balance = $50 * 4 days + $45 * 6 days + $50 * 1 day + $60 * 3 days + $50.00
*1 day + 57.50 * 1 day + 65 * 15 days = $57.50

These approaches assume that, after new business has been added, no payments
will not occur within the same bucket. To avoid this issue, any payments that occur
within the bucket must trigger a secondary set of new originations.

Current Target Average Approach


In the current target average approach, a new business instrument is booked on the
first day of the bucket so that the average of this instrument plus the average of the
current position will equal the targeted average balance.
The problem with this approach is that the results are not always logical to an
end-user because they do not follow the business logic of new business generated
throughout the bucket. In the case represented in Figure 11–7, "Current Average
Balance Method", the user has targeted an average balance of $55 from a starting
balance of $50. The logical assumption would be that the balance grows over the
bucket from $50 to a final value greater than the average. However, in this case, the

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-7


Current Target Average Approach

ending balance is $49.84, lower than the beginning balance. Although the average
balance is correct, the ending balance makes no sense.

Figure 11–7 Current Average Balance Method

70

60

50

40 New Add Instrument


Current Position Runoff
30

20

10

A more appropriate method would be to assume a gradual booking over the month
to generate the average balance. In this case, an approach similar to the target end
method could be used, where both average date and mid-bucket methods are used,
as shown in Figure 11–8.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-8 Oracle Financial Services Technical Reference Manual


Procedures for Implementation

Figure 11–8 Targeting an Average Balance

60

50

40
New Origination
30 100% Roll-over
Current Position Runoff
20

10

This example is the same as the example in Figure 11–5, "New Originations
Separated by Components" with slightly different ending balance values. The
method used to solve this case can be the same one that is demonstrated in
Figure 11–6, "New Origination Average Date Method", using a combination of the
average date method and the mid-bucket method.

Rolling between Accounts


Inter-account rolling can be achieved with no difficulty if the new instruments do
not pay during the modeling bucket in which they are originated. In this simple
case, the current position runoff that occurs in bucket 1 will define the new business
generated in bucket 1. The new business run-off generated in bucket 2 plus the
current position run-off in bucket 2 will impact the business generated in bucket 2,
and so on.
If the instruments do pay during the bucket in which they are originated, then,
ideally, a new business instrument should be created on the day of run-off for the
new instrument for the account that it is rolling into.

Procedures for Implementation


All of the methods described above employ one of two techniques: Average Day of
Runoff and Mid-Bucket. The implementation of these technique is described per
method listed below:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-9


Procedures for Implementation

Forecast Balance
Method Previous Approach New Approach
Target End New instrument added at end of bucket equal Average day of runoff with 100%
to target balance minus the current position roll-over plus mid-bucket on new add
ending balance. balance.
Target Average New instrument added at beginning of Average day of runoff with 100%
bucket so that the current position average roll-over plus mid-bucket on new add
balance plus the average balance of the new balance.
instrument equals the target average balance.
New Add End New instrument is added at the end of the Mid-bucket on new add balance
bucket equal to the new add balance.
New Add Average New instrument is added at the beginning of Will be eliminated
the bucket whose average balance over the
bucket is equal to the new add average
balance.
Roll-over On non-amortizing accounts, new business Average day of runoff with roll-over
produced from maturing balances is booked percentages specified by user
on day of run-off. All other run-off from
non-amortizing instruments (prepayments,
payments, total) is booked at end of bucket.
New business generated from all run-off on
amortizing accounts is booked at end of
bucket.
Roll-into New business is generated at end of bucket Average day of runoff with roll-over
specified
Target Growth Did not exist. Average day of runoff with 100%
roll-over plus mid-bucket on new add
balance.

In each case where mid-bucket logic is used, the new add balance will be calculated
in a different manner. Listed below are the different methods for new add balance
calculation:

Target End Target End Balance - Beginning Balance of bucket


Target Average (Target Average Balance - Beginning Balance of bucket)*
2/(days in bucket - 1)
New Add New Add Balance
Target Growth Beginning Balance of bucket * growth percent

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-10 Oracle Financial Services Technical Reference Manual


Procedures for Implementation

Mid-Bucket
1. Determine the mid-point of the bucket by taking the total number of days in the
bucket and dividing by two.
2. If the mid-point is not a fractional date, add all new add balance on the
mid-point date.
3. If the mid-point is a fractional date, add half of the new add balance on each
day.

Average Day of Runoff


1. Calculate and output the average day of runoff for each type of runoff: maturity,
prepayments, and payment. Calculate as the balance times the difference
between the date of runoff minus the beginning bucket date. Independently
store values for positive and negative runoff of each runoff category.
2. For each bucket and each type of runoff, calculate the amount of balance to
roll-over by multiplying the run-off amount by the percent roll-over specified
by the user.
3. Add new business on the average date of run-off for each instrument using the
proper balance roll-over.
4. If the new records make payments during the bucket, roll the instruments over
at the time of payment.

Further Optimizations
Because all of these methods, when combined to produce a balance forecast for a
particular leaf, could result in a large number of new originations on different dates,
the logic finds the earliest date and the latest date of all the different possible
originations and adds only new business on these two dates within the bucket.
The first and last plug dates are determined by finding the minimum and maximum
date over all average date values. For example, given an average runoff date for
payments of 13.4 and an average plug date for maturing balances of 15.6, four plug
dates will be derived: 13, 14, 15, and 16. The first plug date will be the minimum
date, the 13th. The second plug date will be the maximum plug date, the 16th.
When determining how much of the run-off balance to plug on each date, the
calculation will be done as follows:

Plug Balancefirst plug = Run-off * (first plug date - average run-off date) / (second plug
date - first plug date)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Distributed Originations 11-11


Procedures for Implementation

Plug Balance second plug = Run-off * (second plug date - average run-off date) / (second
plug date - first plug date)

A Note About Dynamic Market Value and Gap Results


The dynamic market value and dynamic gap values will be sensitive to the booking
date if the dynamic valuation date is in the middle of a modeling bucket. To prevent
this type of sensitivity, we should limit dynamic valuation dates to the start date for
a bucket.

A Note About Beginning Versus End of Date Averages


Risk Manager assumes that all events occur at the end of the day on which they
occur.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

11-12 Oracle Financial Services Technical Reference Manual


12
Transfer Pricing Option Cost

The purpose of option cost calculations is to quantify the cost of optionality, in


terms of a spread over the transfer rate, for a single instrument. The cash flows of an
instrument with an optionality feature change under different interest rate
environments and thus should be priced accordingly.
For example, many mortgages may be prepaid by the borrower at any time without
penalty. In effect, the lender has granted the borrower an option to buy back the
mortgage at par, even if interest rates have fallen in value. Thus, this option has
value.
In another case, an adjustable rate loan may be issued with rate caps (floors) that
limit its maximum (minimum) periodic cash flows. These caps and floors constitute
options. For the lender, the option cost of a cap is positive and negative for a floor.
Such flexibility given to the borrower raises the bank’s cost of funding the loan and
affects the underlying profit. The calculated cost of these options may be used in
conjunction with the transfer rate to analyze profitability.
Oracle Transfer Pricing uses the Monte Carlo methodology to calculate option cost.
This methodology is described in Chapter 15, "Monte Carlo Analytics"in the context
of Oracle Risk Manager. Although Monte Carlo simulation in Risk Manager
generates different types of results than in Transfer Pricing, the underlying
calculations are very similar.
The option cost is calculated indirectly. Oracle Transfer Pricing calculates and
outputs two spreads:
■ static spread
■ option-adjusted spread (OAS)
The option cost is defined by:
■ option cost = static spread - OAS

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-1


Architecture of the Calculations

In the theory section we show that the static spread is equal to margin and the OAS
to the risk-adjusted margin of an instrument. Therefore, the option cost quantifies
the loss or gain due to risk.
This chapter contains the following topics:
■ Architecture of the Calculations
■ Theory
■ Model Usage Hints

Architecture of the Calculations


For clarity, this chapter assumes the following:
■ the instrument pays K cash flows occurring each at the end of the month
■ each month has the same duration, in number of years, such as 1/12
■ the discount factor calculation does not use the approximation for small OAS
described in the Oracle Financial Data Manager Rate Manager Reference Guide.

Definitions
Neither the static spread nor the OAS can be defined directly as they are solutions
of two different equations. We give hereafter a simplified version of the equations
that the system solves, using the assumptions described above. The static spread is
the value ss that solves the following equation:

Equation 12–1

where:
:MV market, or book, or par value of the instrument
CF(k) cash flow occurring at the end of month k along the forward
rate scenario
:f(j) forward rate for month j

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-2 Oracle Financial Services Technical Reference Manual


Architecture of the Calculations

length (in years) of the compounding period; hard-coded to a


month, such as 1/12

In the Monte Carlo methodology, the option adjusted-spread is the value OAS that
solves the following equation:

Equation 12–2

where:
:N total number of Monte Carlo scenarios

cash flow occurring at the end of month k along scenario

fstochastic discount factor at the end of month k along


scenario for a particular OAS (see “Architecture of
the Rate Generator” in Chapter 15, "Monte Carlo
Analytics")

Note that:
■ cash flows are calculated up till maturity even if the instrument is adjustable1
■ in the real calculations, the formula for the stochastic discount factor is
simplified

Example
In this example, the Transfer Pricing curve is the Treasury curve. It is flat at 5%,
which means that the forward rate is equal to 1%. We use only two Monte Carlo
scenarios:

1
Otherwise the calculations would not catch the cost of caps or floors.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-3


Architecture of the Calculations

■ up scenario: 1-year rate one year from now equal to 6%


■ down scenario: 1-year rate one year from now equal to 5%
Observe that the average of these 2 stochastic rates is equal to 5%.
The instrument record is 2 year adjustable, paying yearly, with simple amortization.
Its rate is Treasury plus 2%, with a cap at 7.5%. Par value and market value are
equal to $1.
For simplicity in this example we assume that the compounding period used for
discounting is equal to a year, for example:

Equation 12–3

The static spread is the solution of the following equation:

Equation 12–4

It is intuitively obvious that the static spread should be equal to the margin1, for
example:
static spread=coupon rate - forward rate= 7%-5%=2%

1
We prove this claim in the "Theory" section of this chapter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-4 Oracle Financial Services Technical Reference Manual


Architecture of the Calculations

Plugging this value in the right side of the above equation yields:

Equation 12–5

This is equal to par. Our guess was correct.


The OAS is the solution of the following equation:

Equation 12–6

By trial and error we find a value of 1.88%. To summarize:


option cost = static spread - OAS=2%-1.88%=12 bp

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-5


Architecture of the Calculations

Process Flow

Term Structure Number of


Parameters Scenarios

Calculate Transfer Pricing Stochastic Rate


Forward Rates Yield Curve Generator

Calculate Calculate
Determinstic Stochastic Cash
Cash Flows Flows

Determ. Stochastic
Forward Instrument Stochastic
Cash Cash
Rates Data Rates
Flows Flows

Stochastic
Discount
Factors
(OAS=0)
Calculate Static
Calculate OAS
Spread

In this section we describe only the following steps:


■ calculate forward rates
■ calculate static spread
■ calculate OAS
The other steps are described later.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-6 Oracle Financial Services Technical Reference Manual


Architecture of the Calculations

Calculate Forward Rates


The cubic spline interpolation routine first calculates smoothed continuously
compounded zero-coupon yields Y(j) with maturity equal to the end of month j.
The formula for the one-month annually compounded forward rate spanning
month j+1 is:

Equation 12–7

Calculate Static Spread


The static spread is calculated using Newton-Raphson algorithm. In the event that
Newton-Raphson algorithm does not converge1, we revert to a brute search
algorithm, which is much slower.
The user can control the convergence speed of the algorithm by adjusting the value
of the variable OptionCostSpeedFactor. This variable is defined in the OFSTP.INI
file by making the following entry:
[OptionCost} OptionCostSpeedFactor = <value>.
The default value is equal to one. A lower speed factor results in a better accuracy of
the results2:
For convenience we recap hereafter Newton’s algorithm. Let x be the static spread.
At each iteration m we define the function F(m) by the following equation:

1
This can happen if cash flows alternate in sign
2
In all our experiments, a speed factor equal to one resulted in a maximum error (on the
static spread and OAS) lower than half a basis point.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-7


Architecture of the Calculations

Equation 12–8

The algorithm is:

Equation 12–9

For performance reasons, the code uses a more complicated algorithm albeit similar
in spirit than the one described above. This is the reason why we did not give
specific values for tol and MaxIterations, or details on the brute search.

Calculate OAS
For fixed rate instruments, such as instruments for which the deterministic cash
flows are the same as the stochastic cash flows, the OAS is by definition equal to the
static spread.1
The OAS is also calculated with an optimized version of Newton-Raphson
algorithm. To get a gist of the Newton-Raphson method, refer to the previous
section, with the following substitutions:

1
This statement is true in the case of continuous compounding. For discrete compounding,
this approximation has a negligible impact on the accuracy of the results.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-8 Oracle Financial Services Technical Reference Manual


Theory

Equation 12–10

Theory
In this section we show that the static spread is equal to margin and the OAS to the
risk-adjusted margin of an instrument, when the user selects the market value of the
instrument to equate the discounted stream of cash flows. We assume in this section
that the reader has a good knowledge of no-arbitrage theory.
We first need some assumptions and definitions
■ to acquire the instrument, the bank pays an initial amount V(0), the current
market value
■ the risk-free rate is denoted by r(t)
■ the instrument receives a cash flow rate equal to C(t), with . (=
maturity)
■ the bank reinvests the cash flows in a money market account that, with the
instrument, composes the portfolio
■ the total return on a portfolio is equal to the expected future value divided by
the initial value of the investment
■ the margin p on a portfolio is the difference between the rate of return (used to
calculate the total return) and the risk free rate r
■ the risk-adjusted expected future value of a portfolio is equal to its expected future
value after hedging all diversifiable risks
■ the total risk-adjusted return of a portfolio is equal to the risk-adjusted expected
future value divided by the initial value of the investment
■ the risk-adjusted margin m of a portfolio is the difference between the
risk-adjusted rate of return (used to calculate the total risk-adjusted return) and
the risk-free rate r

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-9


Theory

More precisely,

Equation 12–11

Equation 12–12

Equivalence of the OAS and Risk-Adjusted Margin


In a no-arbitrage economy with complete markets, the market value at time t of an
instrument with cash flow rate C(t) is given by:

Equation 12–13

and expectation is taken with respect to the risk-neutral measure. The expected
change in value is given by:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-10 Oracle Financial Services Technical Reference Manual


Theory

Equation 12–14

The variation in value is therefore equal to the expected value of the change dV plus
the change in value of a martingale M in the risk-neutral measure:

Equation 12–15

Let I be the market value of the money market account in which cash flows are
reinvested.

Equation 12–16

Note that unlike V this is a process of finite variation. By Ito’s lemma,

Equation 12–17

Let S be the market value of a portfolio composed of the instrument plus the money
market account. We have:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-11


Theory

Equation 12–18

In other terms, the portfolio (and not the instrument) earns the risk-free rate of
return. An alternate representation of this process is:

Equation 12–19

where N is another martingale in the risk-neutral measure. The expected value of


the portfolio is then:

Equation 12–20

where

is the quadratic variation of N. This is equivalent to:

Equation 12–21

Let us define the martingale:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-12 Oracle Financial Services Technical Reference Manual


Theory

Equation 12–22

This represents the relative risk of the portfolio with respect to the standard money
market account, that is, the account where only an initial investment of V(0) is
made. Then

Equation 12–23

In other terms the expected future value of the portfolio is equal to the expected
future value of the money market account adjusted by the correlation between the
standard money market account and the relative risk. Assuming complete and
efficient markets, banks can fully hedge their balance sheet against this relative risk,
which should be neglected to calculate the contribution of a particular portfolio to
the profitability of the balance sheet. Therefore,

Equation 12–24

Equation 12–25

In this example, the risk-adjusted rate of return of the bank on its portfolio is equal
to the risk-free rate of return.
Let us suppose now that another instrument offers cash flows

Assuming complete and efficient markets its market value will then be:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-13


Theory

Equation 12–26

The value of the corresponding portfolio is denoted by

By analogy with the previous development, we have:

Equation 12–27

Again, the risk-adjusted rate of return of the bank on its portfolio is equal to the
risk-free rate of return. Suppose now that markets are not complete and inefficient.
The bank pays the value V(0) and receives cash flows equal to C’ . We have:

Equation 12–28

By definition of the total risk-adjusted return for Equation 12–12 we have:

Equation 12–29

Therefore, by analogy with the previous development,

Equation 12–30

This can be decomposed into

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-14 Oracle Financial Services Technical Reference Manual


Theory

Equation 12–31

Equation 12–32

Equation 12–33

The solution of Equation 12–31 and Equation 12–33 is:

Equation 12–34

By the law of large numbers, Equation 12–31 and Equation 12–33 result in:

Equation 12–35

for example, the OAS is equal to the risk-adjusted margin.

Equivalence of the Static Spread and Margin


Static spread calculations are deterministic, therefore they are a special case of the
equations in the previous section where, roughly speaking, all processes are equal
to their expected value, and the margin p is substituted to the risk-adjusted margin
m. The equivalent of Equation 12–29 is then

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-15


Theory

Equation 12–36

where f is the instantaneous forward rate. The equivalent of Equation 12–31 and
Equation 12–33 is then

Equation 12–37

Equation 12–38

Equation 12–39

The solution of Equation 12–37 and Equation 12–39 is:

Equation 12–40

Comparing Equation 12–40 and Equation 12–8:

Equation 12–41

for example, the static spread is equal to the margin.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-16 Oracle Financial Services Technical Reference Manual


Model Usage Hints

Model Usage Hints

Non-Unicity of the Static Spread


In some very rare cases there is more than one value that solves the static spread
equation. This section describes one of these cases.
The market value of the instrument is $0.445495. It has 2 cash flows. The table below
shows the value of the cash flows and corresponding discount factors (assuming a
static spread of zero).

First event Second event


Time 1 2
Cash flow value 1 -0.505025
Discount 0.9 0.8
factor(static
spread=0)

The continuously compounded static spread solves the following equation:

Equation 12–42

There are two possible solutions for the static spread:


■ static spread=0.19%
■ static spread =1.81$

Accuracy
In case you desire a better numerical precision than the default precision, you can
take two actions:
■ decrease the speed factor (see the section on "Calculate Static Spread")
■ increase the number of Monte Carlo scenarios
Both actions increase calculation time.
Equivalence Static Spread and Margin

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Transfer Pricing Option Cost 12-17


Model Usage Hints

Oracle Proprietary, Confidential Information - Use Restricted by Contract

12-18 Oracle Financial Services Technical Reference Manual


13
Rate Conversion

Interest rates come in a variety of formats. Within Oracle Risk Manager and Oracle
Transfer Pricing, interest rates are used for multiple purposes, with each rate
requiring a specific format. The system must apply conversion formulas to translate
the interest rates from their starting format into the format proper for its use in any
given process.
This chapter contains the following sections:
■ Definitions
■ Rate Format Usage
■ Rate Conversion Algorithms

Definitions
The following characteristics define an interest rate code:
■ accrual basis
■ compound basis
■ rate format
The accrual basis1 can be:
■ 30/360
■ 30/365
■ 30/Actual

1
See Stigum, M., and Robinson Money Market and Bond Calculations, Irwin, 1981, for
definition

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Rate Conversion 13-1


Definitions

■ Actual/Actual
■ Actual/365
■ Actual/360
The compound basis can be:
■ daily
■ monthly
■ quarterly
■ semi-annual
■ annual
■ simple
The rate format can be
■ zero-coupon yield
■ yield-to-maturity
■ discount factor
Discount factor is used only internally and cannot be specified as an input rate
format in Oracle Financial Data Manager (FDM) Rate Manager. For bonds issued at
par with payment frequency equal to the compound basis, the yield-to-maturity at
origination is equal to the coupon. There are several definitions of yield-to-maturity.
The unconventional “true yield” definition of Stigum is not used. Instead, the Street
convention1 is preferred.
The yield curve is composed of r par bonds with different terms. Par value is equal
to $1.

Symbol Name Notes


Accrued interest for the i-th security

Coupon value of the i-th security This is the true $value of the
cash flow (not annualized)

1
See Fabozzi, F. The Handbook of Fixed Income Securities. McGraw Hill, 1977.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

13-2 Oracle Financial Services Technical Reference Manual


Definitions

Symbol Name Notes


Compounding frequency (per year) Possible values are:
12 - monthly
2 - semi-annual
1 - annual
0 - simple
Number of full compounding periods
from As of Date up to term

Value of a zero-coupon bond


Discount factor with term
with term and par=$1

Total number of securities

Term in Act/Act years of the i-th Sorted in ascending order


security

Time in Act/Act years of the start of the

k-th (k=0.. ) compounding period


for security i
Residual, that is, number of
compounding periods between the
current date and the next compounding
date for i-th security
Yield-to-maturity of the i-th security

Zero-coupon yield of the i-th security

The zero-coupon yield is the vector of r values that solve the following
set of r equations:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Rate Conversion 13-3


Definitions

Equation13–1

if compounding is simple, or

Equation13–2

otherwise.
The yield-to maturity for the i-th security is the value that solves the
equation:

Equation13–3

if compounding is simple, or

Equation13–4

otherwise.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

13-4 Oracle Financial Services Technical Reference Manual


Rate Format Usage

Rate Format Usage

Scenario-based Forecast Rates


Scenario-based forecast rates are the interest rates used for repricing events, rate
setting of new business, and market rate observations for prepayment assumptions
and new business assumptions. The Forecast Rates ID stores the definition of
forecasted rate scenarios.
Within the Forecast Rates ID, the user creates scenario(s) for each IRC, defining the
forecasted rates in each modeling bucket for that IRC and scenario. Most methods
use the as-of-date rates, stored in history tables, as the basis for the rates forecast.
The following methods are available:
■ Structured Change
■ User Input
■ Change from Base
■ Implied Forward

Structured Change
The user inputs a series of rate changes that can vary over the yield curve terms and
over the modeling horizon. At runtime and display time, the rate changes are
added to the as-of-date rates to create the future scenario. No conversion is applied
before the rate is passed to the Cash Flow Engine.

User Input
The user input method requires direct input of the forecasted rate scenarios. At
runtime and display time, the inputted rates will be pulled directly.
Prior to applying the rates to a cash flow record, the rates must be converted to
annual compounded rates. The accrual basis must be converted to either
Actual/Actual or 30/360.
No conversion is applied before the rate is passed to the Cash Flow Engine.

Change From Base


For change from base, the user defines a shock to the rate forecast from another
scenario, the base scenario. At runtime and display time, the system must first
calculate the base scenario rate and then apply the shock to the rate forecast.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Rate Conversion 13-5


Rate Format Usage

No conversion is applied before the rate is passed to the Cash Flow Engine.

Implied Forward
The implied forward calculation assumes that the rate is a zero coupon yield. If the
IRC rate format is yield-to-maturity the following process occurs:
■ Translate input rates from yield-to-maturity to zero coupon yield
■ Apply implied forward calculations on zero coupon yields.
■ Translate results of implied forward calculation from zero coupon yields back
into yield-to-maturity.
For IRCs that are already in zero-coupon yield format, the implied forward
calculations can be applied directly to the historical rates and no conversion
between formats is required.

Derivation of Exchange Rate Forecasts


With the Forecast Rates ID, exchange rates can be forecast as a function of the
interest rate scenarios. Each currency has a reference yield curve that drives the
parity exchange rate relationships between this currency and other currencies. The
two methods that require interest rate forecasts are forward and parity.
If the reference IRC is in a yield-to-maturity format, the system converts the rate to a
zero coupon yield format prior to calculation of the exchange rate.

Scenario-based Market Value Calculations


In scenario-based processes, users select, per product and currency, an IRC as their
valuation curve. Market value sensitivity processes use shocks to the as-of-date
rates to drive the market value changes. Dynamic market value calculations use the
forecasted curve as of the dynamic valuation date. The set of valuation curves can
be determined from the Discount Rates ID. The system converts all rates to
zero-coupon format prior to processing.

Monte Carlo Rate Path Generation


Monte Carlo processes require annually compounded Act/Act zero-coupon yields
as the input. If the input IRC format is anything other than that, a conversion
process is applied.
Stochastic rates output from Monte Carlo are also annually compounded Act/Act
zero-coupon yields.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

13-6 Oracle Financial Services Technical Reference Manual


Rate Format Usage

Rate Index Calculation from Monte Carlo Rate Paths


The Rate Index ID formulas are formulas applied to the yields forecasted from the
valuation curve in the Monte Carlo process. A formula for each additional IRC must
exist in the Rate Index ID. The formulas are applied during processing when one of
the additional IRCs is required for pricing new business or repricing.
A typical use of the Rate Index ID would be to convert rate format, see Chapter 15,
"Monte Carlo Analytics".

Transfer Pricing
There are both cash flow and non-cash flow transfer pricing methods.

Non Cash Flow Methods


The non-cash flow transfer pricing methods use historical IRC data pulled directly
from the historical rates tables. For these methods, the format of the IRC used as the
transfer pricing yield curve is assumed to be a yield-to-maturity.

Cash Flow Methods


There are three cash flow methods:
■ Weighted Average Term
■ Duration
■ Zero Coupon

Weighted Average Term Weighted Average Term calculates the cash flows over the
funding period, treating the next repricing date as a maturity date. The cash flows
are discounted by the current net rate. The discounted cash flow at each
payment/maturity is used as the weighting factor for the rate from the transfer
pricing yield curve. The term from the origination to the cash flow date is used as
the term for lookup to the transfer pricing yield curve.
For this method, the transfer pricing yield curve is assumed to be in the proper rate
format. No adjustment will be made to the current net rate or the transfer pricing
yield curve.

Duration The duration method calculates the duration by taking the cash flows over
the funding period and calculating duration for the series of cash flows. The current
net rate is used as the discount rate. The duration of the cash flows is used as the
term for lookup to the transfer pricing yield curve.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Rate Conversion 13-7


Rate Conversion Algorithms

For this method, the transfer pricing yield curve is assumed to be in the proper
format. No adjustment will be made to the current net rate.

Zero Coupon The zero coupon method must calculate discount factors for the
transfer pricing yield curve. If the transfer pricing yield curve is stored as
yield-to-maturity rates, the rates must first be translated into zero-coupon yields so
that the discount factor can be calculated from them. If the transfer pricing yield
curve is already in zero-coupon yield format, then discount factors can be calculated
directly from the rates.

Rate Conversion Algorithms


Conversion of accrual basis or compounding basis are straightforward. Rate format
conversions (zero-coupon and yield-to-maturity) are more difficult.

Conversion From Yield-to-Maturity to Zero-Coupon Yield


Based on Equation 13–3 and Equation 13–4, the system first calculates the values

Then the system bootstraps the yield curve using the BFGS algorithm1 to solve
Equation 13–1 and Equation 13–2.

Conversion From Zero-Coupon Yield to Yield-to-Maturity


Based on equations Equation 13–1 and Equation 13–2, the system first calculates the
values

Then, the system solves Equation 13–1 and Equation 13–2 using the
Newton-Raphson algorithm.

1
See, for instance, Press W., Flannery, Teukolsky, and Vetterling. Numerical Recipes in C:
The Art of Scientific Computing, Cambridge University Press, Second Edition, 1992.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

13-8 Oracle Financial Services Technical Reference Manual


14
Forecast Rate Calculations

Forecast assumptions for currency exchange rates and interest rates are defined
within the Oracle Risk Manager Forecast Rates ID. The resulting rates can be
calculated and viewed through the ID. These calculations are also used during Risk
Manager scenario-based processing, at which time the resulting rates can be output
for auditing purposes or for Oracle Budgeting & Planning processes.
This chapter contains the following sections:
■ Currency Forecasting
■ Interest Rate Forecasting

Currency Forecasting
In order to model the effect of currency fluctuations on income, a process must
include a forecast of future exchange rates between currencies. The exchange rates
forecast will affect calculation of gains/losses and consolidation to the reporting
currency.
When a new Forecast Rates ID is created, it is designated with a specific reporting
currency. All exchange rates in that ID are defined as exchange rates to one unit of
the reporting currency.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Forecast Rate Calculations 14-1


Currency Forecasting

The following forecasting options are available:

Method Description
Flat Exchange rates throughout the forecast remain equal
to the rate in effect on the As-of-Date.
Structured Change Exchange rates are based on an incremental change
from the previous period.
Direct Input The user manually inputs the exchange rate for each
modeling bucket.
Parity The exchange rate between the selected currency and
the reporting currency is based on interest rate
forecasts for the Reference IRC associated with each of
the two currencies.
Forward The exchange rate between the selected currency and
the reporting currency depends on the interest rates in
effect on the As-of-Date for the Reference IRCs of the
two currencies.

This section covers calculations used for the Structured Change, Parity, and
Forward currency exchange rate methods.

Structured Change
For Structured Change input, the user can incrementally increase or decrease
exchange rates over specific time periods. Structured rate changes are applied to the
exchange rates in effect during the previous period. Rate changes have two
components:
■ a change amount
■ a period over which the change occurs
The minimum period over which a change occurs is one modeling bucket. If a rate
change occurs over more than one modeling bucket, the rate change is apportioned
across each modeling bucket using a straight-line method based on the amount of
time in each bucket.
If the modeling bucket lengths are not even, each modeling bucket’s length is
converted to units of months. Risk Manager employs the same method to calculate
an equal-month percentage for daily modeling buckets, as described later in this
chapter for the Implied Forward calculations.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

14-2 Oracle Financial Services Technical Reference Manual


Currency Forecasting

Once all modeling buckets are expressed in monthly units, the apportionment of
rate changes can occur.
1. Add total number of months for the modeling bucket range.
2. Divide total rate change by total number of months.
3. Apply rate change in each bucket by multiplying the monthly rate change by
the number of months for that bucket.
For example, assume that the active Configuration ID defines each bucket as 1
month, and the following Structured Change is forecast:

Start End Total Rate


Bucket Bucket From Date To Date Change
1 3 01/01/2001 03/31/2001 0.25
4 12 04/01/2001 12/31/2001 1.25

With monthly buckets, the amount of change to apply in this example is as follows:

Bucket(s) Rate Change per bucket


1-3 0.25 / 3 = 0.0833
4 - 12 1.25 / 9 = 0.1389

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Forecast Rate Calculations 14-3


Currency Forecasting

Applying this change in each bucket results in the following forecast rates:

Bucket # Bucket Start Bucket End Rate

0 N/A 12/31/2000 5.2000


1 01/01/2001 01/31/2001 5.2833
2 02/01/2001 02/28/2001 5.3667
3 03/01/2001 03/31/2001 5.4500
4 04/01/2001 04/30/2001 5.5889
5 05/01/2001 05/31/2001 5.7278
6 06/01/2001 06/30/2001 5.8667
7 07/01/2001 07/31/2001 6.0056
8 08/01/2001 08/31/2001 6.1444
9 09/01/2001 09/30/2001 6.2833
10 10/01/2001 10/31/2001 6.4222
11 11/01/2001 11/30/2001 6.5611
12 12/01/2001 12/31/2001 6.7000
13 + 01/01/2002 end of 6.7000
modeling
horizon

Parity
The Parity exchange rate method derives the exchange rate between the selected
currency and the reporting currency based on the forecasted reference interest rates
for each respective currency. This enables the user to forecast different interest rates
associated with the two currencies and maintain a parity relationship in the
exchange rate.
The parity method can be used only if both the reporting currency and the selected
currency have a Reference IRC (defined through Oracle Financial Data Manager
Rate Manager).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

14-4 Oracle Financial Services Technical Reference Manual


Currency Forecasting

For parity conditions to hold, an investment made at currency a’s interest rate
should equal an investment made at currency b’s interest rate for the same period of
time, taking into account the exchange rate between the two currencies. Interest
rates are converted to equal formats of accrual basis and compounding basis. This is
achieved by converting the rates to a discount factor. (For complete details on
conversion to a discount factor, see Chapter 13, "Rate Conversion".) As a simple
example, let’s use annual compounding. The Parity formula would be:
ban+t = ban * [(1 + rnbt) ^m / (1 + rnat) ^m]
where

Variable Definition

ban+t Exchange rate from currency b (the selected currency) to currency a (the
reporting currency) at time n+t
t Modeling bucket term for modeling bucket n+1

ban Exchange rate from currency b to currency a, at time n

rnbt Reference interest rate in currency b for term t, at time n

rnat Reference interest rate in currency a for term t, at time n

m Portion of year equivalent to t

To calculate the exchange rate in each modeling bucket, the process loops through
all values of n from zero to the maximum modeling bucket minus 1. The value for t
in the calculation for any one exchange rate is determined by the modeling bucket
term for modeling bucket n + 1.
For example, consider the following modeling bucket configuration:

Bucket # Term Start Date End Date


1 1 Month 01/01/1999 01/31/1999
2 1 Month 02/01/1999 02/28/1999
3 3 Months 03/01/1999 05/31/1999
4 6 Months 06/01/1999 11/30/1999

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Forecast Rate Calculations 14-5


Currency Forecasting

The process will loop from n = 0 to n = 3. Assuming the interest rates listed
below, the resulting exchange rates are as follows:
n t ban rnbt rnat ba(n+t)
0 1 Month 2.125 4.25 2.3 2.12841
(length of (Actual exchange (Actual 1-month (Actual 1-month (Forecast
Bucket 1) rate from b to a on interest rate for interest rate for Exchange Rate
As-of-Date currency b on currency a on for Bucket 1)
12/31/1998) 12/31/1998) 12/31/1998)
1 1 Month 2.12841 4.375 2.425 2.13149
(length of (Calculated (Forecast 1-month (Forecast 1-month (Forecast
Bucket 2) exchange rate interest rate in interest rate in Exchange Rate
from b to a for first currency b for first currency a for first for Bucket 2)
modeling bucket) modeling bucket) modeling bucket)
2 3 Months 2.13149 4.75 2.9 2.14109
(length of (Calculated (Forecast 3-month (Forecast 3-month (Forecast
Bucket 3) exchange rate interest rate in interest rate in Exchange Rate
from b to a for currency b for currency a for for Bucket 3)
second modeling second modeling second modeling
bucket) bucket) bucket)
3 6 Months 2.14109 5.25 3.275 2.16152
(length of (Calculated (Forecast 6-month (Forecast 6-month (Forecast
Bucket 4) exchange rate interest rate in interest rate in Exchange Rate
from b to a for currency b for third currency a for third for Bucket 4)
third modeling modeling bucket) modeling bucket)
bucket)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

14-6 Oracle Financial Services Technical Reference Manual


Currency Forecasting

Forward
Forward exchange rate forecasting is similar to the Parity method, but it relies only
on the interest rates in effect on the As-of-Date for each respective currency. Based
on the relative interest rates in each country, the Forward method tells the user what
the forward exchange rates must be to maintain no-arbitrage between the two
currencies. Interest rates are converted to equal formats of accrual basis and
compounding basis. This is achieved by converting the rates to a discount factor.
(For complete details on conversion to a discount factor, see Chapter 13, "Rate
Conversion".) As a simple example, let’s use annual compounding; the basic
formula for Forward exchange rates would be:
bat = ba0 * [ (1 + rbt) ^m / (1 + rat) ^m ]
where

Variable Definition

bat Exchange rate from currency b (the selected currency) to currency a (the
reporting currency) at time t

ba0 Exchange rate from currency b to currency a at As-of-Date

t Time from As-of-Date to Start Date of bucket

rat Reference interest rate in currency a for term t, at As-of-Date

r bt Reference interest rate in currency b for term t, at As-of-Date

m Portion of year equivalent to t

Calculations then loop through all modeling buckets.


For example, consider the following modeling bucket configuration (and related
variables):

Bucket # Term Start Date End Date t = Start Date - m = t / 365


As-of-Date

1 1 Month 01/01/1999 01/31/1999 1 Day 0.002740


2 1 Month 02/01/1999 02/28/1999 32 Days 0.087671
3 3 Month 03/01/1999 05/31/1999 60 Days 0.164384
4 6 Month 06/01/1999 11/30/1999 152 Days 0.416438

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Forecast Rate Calculations 14-7


Interest Rate Forecasting

Further, the exchange rate on the As-of-Date (ba0) is 3.8, and interest rates on that
date are as follows:

Term rbt rat


1 Day 3.625 2.100
32 Days 4.500 2.625
60 Days 4.875 2.750
152 Days 5.900 3.500

Therefore, exchange rates would be:

Bucket # bat = ba0 * [ (1 + rbt) ^m / (1 + rat) ^m ]


1 3.8 * 1.000041 = 3.800154
2 3.8 * 1.001589 = 3.806037
3 3.8 * 1.003371 = 3.812808
4 3.8 * 1.009592 = 3.836450

Interest Rate Forecasting


The available IRC forecasting methods are as follows:

Method Description
Flat Interest rates stay constant throughout the forecast.
Structured Change The user defines rate changes for each term point over
specified periods of time.
Direct Input The user manually inputs the interest rate for each
modeling bucket and term.
Implied Forward The interest rates will be derived from the term
structure of the IRC. This method is available only for
yield curves, which are IRCs that consist of multiple
terms. If the selected IRC is a single point index, this
option is disabled.
Change From Base The scenario represents a delta from another scenario.
This option is available only if the Forecast Rates ID
has more than one scenario. Otherwise, this option is
disabled.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

14-8 Oracle Financial Services Technical Reference Manual


Interest Rate Forecasting

This section explains calculations for the Structured Change, Implied Forward, and
Change From Base interest rate forecast methods.

Structured Change
The calculations for Structured Change of interest rates are similar to the
calculations for Structured Change of exchange rates. Structured rate changes for
each term point are applied to the interest rates in effect in the previous period. If a
rate change occurs over more than one modeling bucket, the rate change is
apportioned across each modeling bucket using a straight-line method based on the
amount of time in each bucket.

Implied Forward
Implied forward rates are calculated by looking at today’s yield curve and inferring
the future rate value.
1. Retrieve Yield Curve
The implied forward calculation starts with the current yield curve. The yield
curve is retrieved from the historical rates database.
2. Calculate equal-month terms from yield curve.
The terms of the yield curve must be translated into equal-month values.
For daily terms, the system must calculate the portion of a month the daily
value represents.
For monthly terms, the exact unit of the term point is used.
For yearly terms, the unit of the term point is multiplied by 12.
3. Calculate equal-month time for the modeling buckets
The modeling buckets are also translated into equal-month time. The same
process can be followed as above.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Forecast Rate Calculations 14-9


Interest Rate Forecasting

4. Apply formula calling cubic spline function


To determine the implied forward rates, the process must step through each
modeling bucket and each term on the yield curve. The process will loop as
follows:
For n = 1 to n (modeling bucket loop)
For m = 1 to m (term loop)
Yieldc (bucketn,termm) =
[cubicspline (bucketn + termm) * (bucketn + termm) – cubics-
pline (bucketn) * bucketn] / termm
Next m
Next n
In the formula above, cubicspline refers to the cubic spline function. This
function, currently used in the Rate Generator for Monte Carlo, takes a term as
an argument and returns the smoothed yield for that term.
5. Translate continuous yields to discrete yields
The output of the formula above produces a continuous yield, referred to as
Yieldc. The required format for yield is a discrete yield. To translate from the
continuous yield to the discrete yield (Yieldd ), the following formula must
be applied:
Yieldd = e^ Yieldc - 1

Change From Base


For Change From Base interest rate forecasting, the base scenario is calculated first
and then the incremental change is applied to all rates.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

14-10 Oracle Financial Services Technical Reference Manual


15
Monte Carlo Analytics

Monte Carlo is a valuation technique that provides a direct and robust simulation of
interest rate paths and provides for market value and Value-at-Risk calculations.
Monte Carlo becomes a necessary tool in financial markets for solving problems
when other methods are unavailable for problems in high dimensions, simulation,
and optimization. For Oracle Risk Manager processes, Monte Carlo is a particularly
useful tool for valuing instruments with uncertain cash flows. Examples of such
instruments include:
■ Callable debt
■ Capped loans
■ Prepayable mortgages

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-1


This chapter contains the following topics:
■ Overview
■ Architecture of the Rate Generator
■ Arbitrage Term Structure Model
■ No-Arbitrage Term Structure Models
■ Yield Curve Smoothing
■ Calibration
■ Random Number Generation
■ Rate Conversion
■ Output from Monte Carlo
■ Value-at-Risk
■ Varying the At-Risk Period
■ Earnings-At-RiskRecommended Configuration
■ Term Structure Models
■ Term Structure Parameters Format
■ Choosing a Smoothing Method
■ Defining a Rate Index Formula
■ References

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-2 Oracle Financial Services Technical Reference Manual


Overview

Overview
The Monte Carlo rate generator is a calculation engine that forecasts future rate
changes within a stochastic process. Central to the understanding of the rate
generator is the acknowledgment that a rate forecast will always be imperfect. This
means that future rates will not fully match the prognosis given by the model.
However, it is possible to quantify the uncertainty of future interest rates or, in other
terms, to forecast a probability distribution of interest rates.
Economic theory tells us that there are two types of forecasts:
■ forecast of the real interest rates, based on a “subjective” assessment of the
economy
■ forecast of the risk-neutral interest rates, based on the original yield curve and
the no-arbitrage condition.
The two types of prognosis will not necessarily match. A bank would typically use
the first type of rates to model future income, because it wants its income forecast to
be as close as possible to the actual future income. A bank would typically use the
second type of rates to calculate present and future market value because market
value depends not only on the rates but also on the degree of risk-aversion of each
agent in the economy. “Risk-neutral rates” are a theoretical construction that
enables us to calculate rates as if nobody were risk-averse.
Many types of analysis in interest rate management require computing the expected
value of a function of the interest rate. One example is to calculate the probability
that portfolio loss is within a certain range. The probability of such an event is
nothing but the expected value of the indicator function of this occurrence, which is
worth one if the event is true and zero otherwise. Another example is to compute
the market value of a derivative instrument.
In mathematical terms, the market value of a security that pays a cash flow at time
T is equal to the expected value of the product of the stochastic discount factor at
time T and the cash flow, that is:
Market Value = E [Discount Factor * Cash Flow] Equation (1)
where the stochastic discount factor is equal to the present value (along a rate
scenario) of one dollar received at time T. It therefore is a function of the rate.
The goal of term structure models is to forecast probability distributions of interest
rates under which the expected value is defined.
Most term structure models used in practice, and all term structure models
available in the system, are single factor models of the short term interest rate. Short

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-3


Architecture of the Rate Generator

Rate modeling prevails because the problem of correlating multiple factors is


greatly simplified. With single factor models the value in the future depends only
on the value at the current time, and not on any previous data. This property is
referred to as a Markov process.
Monte Carlo is the most popular numerical technique to compute an expected
value, in our case market value and Value-at-Risk. The methodology consists of
generating rate scenarios using random numbers, computing a function of the rates
for each scenario, and then averaging it. Market value is the average across all
scenarios of the sum of all cash flows discounted by the (scenario-specific) rate.
Value-at-Risk is the maximum loss in value over a specific horizon and confidence
level.
Monte Carlo simulation works forward from the beginning to the end of the life of
an instrument and can accommodate complex payoffs, for instance path-dependent
cash flows. The other numerical methods, such as lattice and finite difference,
cannot handle the valuation of these path-dependent securities. The drawback of
Monte Carlo is its slow convergence compared to other methods. We address this
problem by implementing better random sequences of random numbers, namely
Low-Discrepancy Sequences.Monte Carlo has better performance than other
techniques, however, when the dimension of a problem is large.

Architecture of the Rate Generator


The Rate Generator takes as input the information from the Oracle Financial Data
Manager (FDM) Rate Manager tables (which include term structure parameters and
smoothing technique, and risk-free yield curve yields), Leaf Characteristic ID
(OAS), Process ID (risk-free yield curve, number of rate scenarios, risk period at
which to compute VaR), Rate Index ID (formulas for rate indices), and generates
monthly rates and stochastic discount factors for each scenario and monthly bucket.
We take the benchmark securities to be zero-coupon bonds whose yields are stored
in the FDM Rate Manager and identified as the risk-free yield curve.
The Monte Carlo Rate Generator also calculates future rates (for a maturity other
than one month) for each scenario and beginning at any month within the modeling
horizon. These rates are used by the cash flow engine for repricing events and as
market rates within the prepayment function.
The process flow of the Rate Generator depends on the type of a term structure
model. However, all processes share the same building blocks.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-4 Oracle Financial Services Technical Reference Manual


Arbitrage Term Structure Model

Computation of Rates and Stochastic Discount Factors


At the beginning of a RM Process the Rate Generator calculates and stores monthly
rates for 360 months and for all scenarios.
Upon request by the Cash Flow engine, the Rate Generator will calculate the rate,
that is, the annually compounded yield at any time T for a discount bond maturing
at time T, as follows:
1. compute the future bond price using a closed form solution (a discretized
version of Hull and White solution.)
2. convert discount bond prices into discrete yields.
We limit the simulation horizon to 30 years from the As-of-Date. After that period
rates are set equal to the 30-year rate. Also, the closed form formula is limited to a
30-year term. Rates with a longer term are set equal to the 30-year term rate.
The cash flow engine may need rates from another IRC (Index) than the risk-free
IRC. In this case, the value of the IRC with maturity T will be a function of the value
of the risk-free IRC.
The Rate Generator pre-computes the stochastic discount factor for every scenario,
for the first day of every monthly bucket. The computation can be selected with or
without an Option Adjusted Spread (OAS) added. The OAS depends on the
Common Chart of Account, and is expressed in terms of discrete annual
compounding rate. For internal code optimization reasons we limit the maximum
OAS value to 5%.

Arbitrage Term Structure Model


Arbitrage models (Merton and Vasicek) use the first rate from today’s yield curve
(smoothed and converted to continuous compounding, as described later in the
section). It feeds directly the Rate Generator along with the term structure
parameters to produce monthly rates, stochastic discount factors for each scenario
and month, and discrete rates for any maturity
The following diagram shows the process flow for Vasicek (or Merton) models in
the Rate Generator:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-5


No-Arbitrage Term Structure Models

First Rate from the


Original Yield
Curve

Rate Conversion Random Number


Generation

Yield Curve Smoothing

Smoothed
Rate

Compute Rates and Discount Factors

Speed of Mean
Reversion,
Volatility

Stochastic
Rates Discount
Factors

The disadvantage of these models is that they do not automatically fit today’s term
structure. The parameters can be chosen so that arbitrage models provide a close fit
to many of the real yield curves, but the fit is usually not exact and often gives
significant errors.
To achieve no-arbitrage conditions, the model itself can be used to calibrate the
parameters of the model. Given the prices of benchmark securities, the model finds
the rate probabilities such that, when they are used as input to the pricing tool, the
output will be as close as possible to the original prices.

No-Arbitrage Term Structure Models


The no-arbitrage models (Ho and Lee and Extended Vasicek) are designed in order
to fit the current term structure of interest rates exactly. This is achieved when the
price of zero coupon bond computed through the Monte Carlo process exactly

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-6 Oracle Financial Services Technical Reference Manual


Yield Curve Smoothing

matches today’s observable market rates, as defined by the risk free curve selection.
The market price of risk is a function of time that takes care about this fit.
To adhere to this condition, the process flow for no-arbitrage models is more
complicated. A trinomial lattice is used to compute the market price of risk to
calibrate the term structure. The full original As-of-Date yield curve is used,
smoothed and converted to continuous compounding, to be fed into the lattice.

As-of-Date Yield
Curve

Rate Conversion

Yield Curve Smoothing

Random Number
Generation
Smoothed
Curve

Speed of
Mean Compute Rates and
Trinomial Lattice
Reversion, Discount Factors
Volatility

Stochastic
Market
Rates Discount
Price of risk
Factors

Yield Curve Smoothing


Today’s yield curve from an Oracle Financial Data Manager (FDM) Rate Manager
IRC might not have enough terms for a term structure model to give the best rates
forecast. In particular, the trinomial lattice needs the value of the yield for every
month. To do this, two smoothing techniques have been introduced into the Rate
Generator: Cubic spline and linear interpolation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-7


Calibration

Calibration
Hull and White have shown how trinomial trees (lattice) can be used to value
interest rate derivatives. The goal of the trinomial lattice is to compute the market
price of risk for all buckets for the Ho and Lee or Extended Vasicek (no-arbitrage)
term structure models.
Hull and White lattice is a popular methodology to calibrate a term structure
model. The lattice is constructed for up to 360 monthly buckets, from bucket zero to
either (the last maturity on the IRC + 15 years) or 30 years, whichever is shorter.

Random Number Generation


To model a discrete-time stochastic process using Monte Carlo method we need to
use some random variables. Numbers generated by computers are not truly
random. Standard random number generators produce uniformly distributed
pseudo-random numbers that are made to have the statistical properties of truly
random numbers.
Non-uniform variables are sampled through transformation of uniform variables.
There are several methods developed for this purpose, both general (to produce
random variables of a given density) and special (to directly generate normal
random variables): transformation, acceptance-rejection, Box-Muller, and so on. We
use the so-called “polar algorithm” technique.
You have a choice to use low-discrepancy sequences, also called quasi-random
numbers, as a substitute to pseudo-random numbers. One more important feature
of LDS is to reach the consistency across all computers in generating rate paths
(pseudo-random numbers generated by different machines are different).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-8 Oracle Financial Services Technical Reference Manual


Rate Conversion

Low Discrepancy Sequences


Low-discrepancy sequences, also called quasi-random numbers, are a recent
substitute to the traditional random numbers used by all compilers (usually called
pseudo-random numbers). They were introduced in the 50’s and 60’s by
mathematicians like Halton, Sobol, and Niederreiter. The theory and
implementation of low-discrepancy sequences have enjoyed tremendous progress
in the past 10 years, and they are now becoming increasingly popular in the area of
financial mathematics.
The main objective of low-discrepancy sequences is to reduce the error of Monte
Carlo methods. Because error in Monte Carlo methods decreases with the number
of scenarios, we can also state that Monte Carlo with LDS needs fewer scenarios
than traditional Monte Carlo to obtain the same result. Therefore, Monte Carlo with
LDS should be faster than traditional Monte Carlo.

Rate Conversion
There are two major procedures applied by the Rate Generator to the original
risk-free rates from the FDM Rate Manager IRC: timescale conversion and
compounding basis conversion.

Timescale Conversion
We introduced two timescales, the normal timescale and the equal-month timescale,
in order to satisfy three requirements:
■ monthly buckets have to be an integer number of days in length, because the
cash flow engine works on a daily timescale
■ it is better for performance to generate rates with an equal-month timescale
■ we cannot set the bucket length to be 30 days, because buckets will start 5 days
earlier each year, and this conflicts with reporting requirements.
The equal-month timescale is used only internally in the Rate Generator. It assumes
that each month is constant and is equal to 1/12 of a year. The normal timescale
counts the actual number of days, that is each monthly bucket has a different
length1. The convention is the regular RM convention for a month: if bucket zero
starts on day n then all next buckets start on day n except when this day does not

1
In other words, the normal timescale assumes an Actual/Actual day count basis, whereas
the equal-month timescale assumes 30/360 count basis.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-9


Rate Conversion

exist (February 30 for instance), in which case it reverts to the last existing day of the
month (for example, February 28).
There is a one-to-one relationship between the timescales.
Example:
Let us suppose that the As-of-Date is January 15,1997. By definition, every bucket
will then start at the 15-Th. of that corresponding month.
Discrete Converted
Time on Length of rate on rate on
Calendar normal Bucket the Time in equal normal equal month
time timescale Number Bucket month timescale timescale timescale
1/15/97 0 0 31/365 0 - -
1/20/97 5/365 0 31/365 5/(12*31) 0.05 0.049726
2/14/97 30/365 0 31/365 30/(12*31) 0.05 0.049726
2/15/97 31/365 1 28/365 1/12 0.05 0.049726
3/14/97 58/365 1 28/365 1/12+27/(12*28) 0.05 0.047364

In this example, the discrete yield (quoted Actual/Actual) is constant. However, the
2-month smoothed yield is lower than the 1 month smoothed yield because the
timescale transformation overestimates the length of the second month.

Compounding Basis Conversion


The Monte Carlo process requires annually compounded Actual/Actual
zero-coupon yields as the input. If the input IRC format is different from that, a rate
conversion process is applied (refer to Chapter 13, "Rate Conversion" of this
reference manual for more information).
In addition, the Rate Generator converts rates from the yield curves (which are
discretely compounded, on the normal timescale) into continuously compounded
rates on the equal-month timescale. This conversion has to be done for all the points
in today’s yield curve.
The Rate Generator always uses the latest yield curve from the FDM Rate Manager
IRC and assumes that the same yield curve prevails at the As-of-Date. Monte Carlo
simulation always starts from the As-of-Date.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-10 Oracle Financial Services Technical Reference Manual


Output from Monte Carlo

Output from Monte Carlo


The amount of data to be output in a Monte Carlo processing run depends on the
type of processing and the requirements of the users. A stochastic process using
Monte Carlo provides the following results:
■ Market value at the chart of account level
■ Value-at-Risk at the chart of account level
■ Value-at-Risk at the portfolio level
The smallest set of the output will result from the market value processing run.
Market value is the average across all scenarios of the sum of all cash flows
discounted by the (scenario-specific) rate.
The output will be a single value  the market value per leaf  stored in the
OFSA_TM_STOCH_MKT_VAL table. The table has a simple structure:

LEAF_NODES MARKET_VALUES CUR BALANCE NUM: RATE PATHS


Fixed Mortgages 55000.00 54000.00 2000
Deposits 10000.00 10100.00 2000

An additional view exists in the database, OFSA_TM_STOCH_MKT_VAL-V, for


reporting purposes. This is a view of the table that includes the specific product leaf
column names (Example: COMMON_COA_ID). You must use this table in order to
see leaf descriptions in your reports.
Value-at-Risk is the maximum loss in value over a specific horizon (risk period) and
confidence level. The horizon is specified by the user. Unlike many other products,
OFSA/RM outputs VaR for any confidence level, that is, it outputs the full
probability distribution of loss for each COA. The output is written to the OFSA_
TM_STOCH_VAR table:

Probability Fixed Mortgages VAR Deposits VAR


10% -200 -100
20% -150 -20
30% -100 -10
40% -20 10
50% 60 50
60% 70 75

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-11


Output from Monte Carlo

Probability Fixed Mortgages VAR Deposits VAR


70% 110 90
80% 150 100
90% 160 120
100% 175 160

As with the market value table, an additional view, named OFSA_TM_STOCH_


VAR_V is available for reporting.
The system will also output VAR at the portfolio level (into the OFSA_TM_STOCH_
TOT_VAR table). In this example we assume that our portfolio has only deposits
and fixed mortgages.

Probability Portfolio
10% -130
20% -100
30% -90
40% -30
50% -5
60% 10
70% 15
80% 20
90% 20
100% 40

As you can see from the following graph, the total VaR does not necessary equal the
sum of the VaR for each portfolio product because of the correlation between
mortgages and deposits.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-12 Oracle Financial Services Technical Reference Manual


Output from Monte Carlo

200

150
100

50
Fixed M ortgages VAR
VAR

0 D eposits VAR
-50 Portfolio VAR

-100

-150
-200
Pr o b a b ility

We selected Monte Carlo method to implement VaR over J.P. Morgan’s Riskmetrics
approach because of the following advantages:
■ Better accuracy in analyzing nonlinear assets such as options.
■ More flexibility to model the distribution of economic factors vs. normal
assumption in Riskmetrics.
■ No need to decompose securities into “risk factors”; a complicated process for
fixed income.
Risk Manager also provides auditing options. Monthly rates correspond to yields of
a risk-free zero-coupon bond with maturity of one month. These rates are used for
all other calculations in the stochastic Rate Generator. They are output into the
OFSA_INTEREST_RATES_AUDIT table, where the values are displayed for each
scenario and every time step, that is, up to 2,000 scenarios times 360 time steps.
Because of the amount of data being written, this process can be very time
consuming.
Cash flows are also available for auditing purposes, for the first five records
processed in each scenario. See Chapter 8, "Detail Cash Flow Audit Options" for
more details on this process.
The stochastic discount factors are also output as an auditing feature. This is
extremely valuable for testing purposes. The user can check this output any time
the “Detail Cash Flow” option is on. The table used is called OFSA_PROCESS_
CASH_FLOWS, Financial Element 490.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-13


Output from Monte Carlo

VaR Output Including Liabilities


This article explains how to interpret the meaning of the Value-at-Risk (VaR) output
from OFSA/RM (Risk Manager) when the balance sheet includes liabilities. We will
specifically explain the difference between the output on the product level (as
stored in the OFSA_TM_STOCH_VAR table) from output on the balance sheet level
(as stored in the OFSA_TM_STOCH_TOT_VAR table). For simplicity, let us consider
a simple balance sheet with only one liability instrument and five rate scenarios.

An Example: Product Versus Balance Sheet Level Results


Let us assume that for the 1 liability instrument, OFSA/RM calculates a market
value of $100,000 and the following accrued dynamic present values for each
scenario:

Scenario Accrued Dynamic Present Value


1 126,408
2 124,773
3 91,192
4 82,043
5 76,851

Though the actual value to the bank is -$100,000, OFSA/RM by convention reports
a positive market value for all instruments Therefore, it is important to remember
that a positive market value for a liability is in effect a loss. The same convention
applies to VaR. Though VaR is defined as the “maximum loss (to the bank)”, it must
be substituted with “maximum gain (to the bank)” when interpreting the VaR
output for an instrument that is a liability.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-14 Oracle Financial Services Technical Reference Manual


Output from Monte Carlo

Assume OFSA/RM outputs the first three columns of the following table to the
OFSA_TM_STOCH_VAR table for the 1 liability product. Recall that OFSA_TM_
STOCH_VAR contains product level output. When interpreting the VaR output for a
liability on a product output level, you must remember that VaR is the “maximum
gain (to the bank)”.

Scenario Probability VaR Interpretation


1 0.2 100,00 - 126,408 = -26,408 With a prob. of 20%, gain
≤ -26,408
2 0.4 100,00 - 124,773 = -24,773 With a prob. of 40%, gain
≤ -24,773
3 0.6 100,00 - 91,192 = 8,808
With a prob. of 60%, gain ≤ 8,808
4 0.8 100,00 - 82,043 = 17,957
With a prob. of 80%, gain ≤ 17,957
5 1.0 100,00 - 76,851 = 23,149
With a prob. of 100%, gain ≤ 23,149

The discrete probability of a gain of exactly -$26,408, -$24,733, $8,808, $17,957,


$23,149 is 20% for a 5 scenarios simulation. Notice that the sum of all probabilities
add up to a total of 100% probability.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-15


Output from Monte Carlo

D is c re t e P ro b a b ility

0 .2 0.2 0.2 0.2 0.2


0 .2
0 .1 8
0 .1 6
Discrete Probability

0 .1 4
0 .1 2
0 .1
0 .0 8
0 .0 6
0 .0 4
0 .0 2
0
-2 6 ,4 0 8 -2 4 , 7 7 3 8,808 1 7 ,9 5 7 23,149
V a l u e a t R i sk

In Value at Risk interpretation, we need to convert the discrete probability to a


cumulative distribution function. For example, we know that there is a chance of a
gain of $-26,408 with a probability of 20% and a gain of -$24,773 with a probability
of 20%. This means that there is a 40% probability of a gain less than or equal to
-$24,773. This comes from adding 20% discrete probability from gain of $-26,408 and
20% discrete probability from a gain of -$24,773.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-16 Oracle Financial Services Technical Reference Manual


Output from Monte Carlo

C u m u la t ive D is trib u t io n F u n c t io n

1
1
Cumulative Distribution Function

0.9
0.8
0.8
0.7
0.6
0.6
0.5 0 .4
0.4
0.3 0 .2
0.2
0.1
0
-2 6 , 4 0 8 -2 4 ,7 7 3 8,808 17,957 2 3 ,1 4 9
V a lu e a t R i sk

Now let’s assume OFSA/RM outputs the first three columns of the following table
to OFSA_TM_STOCH_TOT_VAR table for the 1 liability product. Recall that OFSA_
TM_STOCH_TOT_VAR contains balance sheet level output. At the balance sheet
level, we aggregate gain/loss information for different products that can be either
assets or liabilities. OFSA/RM by convention reports the aggregated VaR number as
a “maximum loss”; therefore, the sign of VaR for all liabilities must be reversed.

Scenario Probability VaR Interpretation


5 0.2 -23,149
With a prob. of 20%, loss ≤ -23,149
4 0.4 -17,957
With a prob. of 40%, loss ≤ -17,957
3 0.6 - 8,808
With a prob. of 60%, loss ≤ -8,808
2 0.8 24,773
With a prob. of 80%, loss ≤ 24,773
1 1.0 26,408
With a prob. of 100%, loss ≤ 26,408

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-17


Output from Monte Carlo

Validating Interpretation
Let us analyze the most beneficial scenario (to the bank) to prove that our
interpretation is correct. In scenario 5, the “gain = 23,149” has a probability of 20%
due to the fact that it is a discrete event. We also have the following events and
probabilities:

Event Probability
gain < 23,149 80%
gain = 23,149 20%
gain > 23,149 0

When we apply the signage to liability, the discrete probability is undisturbed for
each event. Notice that each event still has the discrete probability of 20%.

Dis c rete P robability

0.2 0.2 0.2 0.2 0.2


0.2
0.18
0.16
Discrete Probability

0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
-23,149 -17,957 -8,808 24,773 26,408
V a lu e a t Risk

We see here that there is a 20% probability of a maximum loss of -$23,149. There is a
40% probability of a maximum loss of -$23,149 (20% discrete probability from
-$23,149 plus 20% discrete probability from -$17,957).

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-18 Oracle Financial Services Technical Reference Manual


Output from Monte Carlo

Cumulative Distribution Function

1
1
Cumulative Distribution Function

0.9
0.8
0.8
0.7
0.6
0.6
0.5 0.4
0.4
0.3 0.2
0.2
0.1
0
-23,149 -17,957 -8,808 24,773 26,408
Value at Risk

The event “gain ≤ 23,149” corresponds to the union of these two events:
“gain < 23,149”
“gain = 23,149”
Because these two events are disjoint - making each event’s probability discrete - the
probability that “gain ≤ 23,149” is the sum of their respective probabilities. It is
equal to 80%+20%=100% as reported in the OFSA_TM_STOCH_VAR table.
The event “loss ≤ -23,149” on the other hand corresponds to the union of these two
events:
“loss = - 23,149”, that is, “gain = 23,149”
“loss < - 23,149”, that is, “gain > 23,149”
Because these two events are also disjoint - making each event’s probability discreet
- the probability that “loss ≤ -23,149” is the sum of their respective probabilities. It is
equal to 20%+0%=20% as reported in the OFSA_TM_STOCH_TOT_VAR table.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-19


Value-at-Risk

Value-at-Risk
In our current implementation Value-at-Risk is the worst loss of present value over
an At-Risk period (time horizon), given a confidence level. The maximal At-Risk
period is 10 years.
Risk Manager outputs Value-at-Risk for as many confidence levels as there are
scenarios in Monte Carlo simulation. In other terms it outputs the full present value
loss probability distribution and its inverse, which are a much richer statistics than a
single VaR number.
The following section describes our current approach to estimate Value-at-Risk.

Present Value-at-Risk
The approach is as follows:
1. for each scenario, compute the accrued dynamic present value by dividing the
(scenario-specific) present value by the stochastic discount factor; we do not
take new business into account
2. for each scenario, compute VaR as market value minus accrued dynamic
present value
3. sort VaR in ascending order and output it along with its normalized ranking
(that is, the ranking divided by the total number of scenarios).
The normalized ranking is an unbiased estimator of the probability that loss of
value is less than VaR, that is, each couple of values (normalized ranking, VaR) is a
point on the loss probability distribution curve.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-20 Oracle Financial Services Technical Reference Manual


Value-at-Risk

ILLUSTRATION OF THE APPROACH


We have only 10 scenarios. Today’s market value is $80.

Accrued
Scenario Stochastic Dynamic
Number Discount Factor Present value Present Value VaR
1 0.99 81.6 82.4 -2.4
2 0.98 83.1 84.8 -4.8
3 0.97 81.5 84 -4
4 0.965 80.1 83 -3
5 0.95 79.9 84.1 -4.1
6 0.95 79 83.2 -3.2
7 0.949 79.2 83.5 -3.5
8 0.948 78.3 82.6 -2.6
9 0.947 75.1 79.3 0.7
10 0.946 70.1 74.1 5.9

After sorting we have:

Scenario Number Probability VaR


2 0.1 -4.8
5 0.2 -4.1
3 0.3 -4
7 0.4 -3.5
6 0.5 -3.2
4 0.6 -3
8 0.7 -2.6
1 0.8 -2.4
9 0.9 0.7
10 1 5.9

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-21


Varying the At-Risk Period

Varying the At-Risk Period


This example tries to give an intuition behind the numbers by varying the At-Risk
period for a typical case. The instrument we analyze is a two-year discount bond
with a principal of $100. Market value is $78.
To ease comprehension of the graph we display the probability mass function, and
not the cumulative probability distribution.

1
0.9
0.8
0.7
0.6
P.m.f.

0.5
0.4
0.3
0.2 24
0.1 18
0 12
Months
6
-37.877
-30.593
-23.309
-16.025

-8.7405
-1.4565

0
5.82759

13.1116

20.3957

27.6797

34.9638

VaR

This graph reflects two important features of a fixed rate instrument:


1. on average VaR decreases with time because dynamic present value increases
with time
2. the dispersion of VaR goes to zero when approaching maturity.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-22 Oracle Financial Services Technical Reference Manual


Earnings-At-Risk

Earnings-At-Risk
Earnings-At-Risk is a methodology for income sensitivity that combines the Monte
Carlo Rate Generator with the cash flow engine to produce statistical information
about forecasted income. Earnings-At-Risk functionality uses the stochastic
processing methodology to provide users with a probabilistic view of forecasted
earnings for individual products and the entire balance sheet. A probability
distribution of earnings enables users to view expected income as well as the
potential loss of income in the future due to interest rate fluctuations. With this
information, users can efficiently determine what is likely to happen as well as
identify the scenarios that may provide the greatest risks to the institution.
An Earnings-At-Risk process reads records from the following sources:
■ Instrument data
■ Transaction Strategy
■ Forecast Balance
Cash flows are calculated for each record, for every rate path generated by the Rate
Generator. Earnings results may include the following financial data, depending on
the account type of the product:
■ Net interest accrual
■ Deferred runoff
■ Non-interest income
■ Non-interest expense
■ Dividends
■ Taxes
The following four sets of output data are available after an Earnings-At-Risk
processing run, for each modeling bucket as defined in the active Configuration ID:
■ Average income over all rate paths for each product
■ Average income over all rate paths for the total bank
■ Income in each rate path for each product
■ Income in each rate path for the total bank
From the list above, the average income data sets are output for every
Earnings-At-Risk process. The other two output sets are optional and may be
selected as a part of the process definition.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-23


Recommended Configuration

The output is stored in the following tables:


EAR_LEAF_DTL_xxx - (optional) earnings are aggregated by product and stored
for each rate scenario. Note that earnings are equivalent to net interest accrual in a
scenario-based processing.
EAR_LEAF_AVG_xxx - average earnings are calculated for each product by taking
the simple average across all rate paths for each modeling bucket.
EAR_TOTAL_DTL_xxx- (optional) both net interest income and net income values
are calculated, aggregated across products and stored for every rate scenario per
modeling bucket. Net interest income is calculated as interest income less interest
expense. Net income is calculated as net interest income and non-interest income
combined, less non-interest expense, less taxes, if applicable.
EAR_TOTAL_AVG_xxx - net interest income and net income values as described
above are averaged across all rate paths for each modeling bucket.
In addition, the initial balances and rates are output to OFSA_RESULT_MASTER
based on the instrument records being processed. This records information on each
product such as the par balance, deferred balance, weighted current rates and
weighted average remaining maturity.
As with any stochastic process, users have the option to output audit results for
cash flows and rates (see the Audit Page section in the Process ID chapter in the
Oracle Risk Manager Reference Guide.)

Recommended Configuration
For maximum precision, use the following settings in a Process ID:
■ Extended Vasicek term structure model
■ Cubic spline smoothing technique
■ Low-discrepancy sequences
■ 2,000 rate scenarios1
The following section attempts to explain some criteria and issues related to
choosing the optimal configuration for stochastic processing.

1
This is the recommended configuration for precision. Because 2000 scenarios may require a
significant amount of computing time, the user may prefer to lose some precision by
selecting fewer scenarios.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-24 Oracle Financial Services Technical Reference Manual


Term Structure Models

Term Structure Models


Select the Extended Vasicek model for the computation of market value and
Value-at-Risk.
You have a choice of four term structure models:
■ Merton (requires only the parameter volatility to be specified);
■ Vasicek (requires all three parameters to be specified: mean reversion speed,
volatility and long run rate);
■ Ho and Lee (requires only the parameter volatility to be specified);
■ Extended Vasicek (requires mean reversion speed and volatility parameters to
be specified).

Merton Model
One simple assumption about interest rates is that they follow a simple random
walk with a zero drift. In stochastic process terms, we would write the change in r
as:

d r = σ d Z
The change in the short rate of interest r equals a constant sigma times a random
shock term where Z represents a standard Wiener process with mean zero and
standard deviation of 1.
This model has the following virtues and liabilities:
■ It is a simple analytical formula.
■ Zero coupon bond prices are a quadratic function of time to maturity.
■ Yields turn negative (and zero coupon bond prices rise above one) beyond a
certain point.
■ If interest rate volatility is zero, zero coupon bond yields are constant for all
maturities and equal to r.
The Merton model gives us very important insights into the process of deriving a
term structure model. Its simple formulas make it a useful expository tool, but the
negative yields that result from the formula are a major concern.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-25


Term Structure Models

Ho and Lee Model


Ho and Lee [7] extended the Merton model to fit a given initial yield curve perfectly
in a discrete time framework. In the Ho and Lee model case, we assume that the
short rate of interest is again the single stochastic factor driving movements in the
yield curve. Instead of assuming that the short rate r is a random walk,
however, we assume that it has a time dependent drift term θ (t) :

d r = θ ( t) d t + σ d Z

As before, Z represents a standard Wiener process with mean zero and standard
deviation of 1.
By applying the no-arbitrage condition, the function q(t) is chosen such that the
theoretical zero coupon yield to maturity and the actual zero coupon yield are
exactly the same. The function q(t) is the plug that makes the model fit and corrects
for model error, which would otherwise cause the model to give implausible results.
Because any functional form for yields can be adapted to fit a yield curve precisely,
it is critical, in examining any model for plausibility, to minimize the impact of this
extension term. The reason for this is that the extension term itself contains no
economic content.
In the case of the Ho and Lee model, the underlying model would otherwise cause
interest rates to sink to negative infinity, just as in the Merton model. The extension
term’s magnitude, therefore, must offset the negative interest zero coupon bond
yields that would otherwise be predicted by the model. As maturities get infinitely
long, the magnitude of the extension term will become infinite in size. This is a
significant cause for concern, even in the extended form of the model.

Vasicek Model
Both the Merton model and its extended counterpart the Ho and Lee model are
based on an assumption about random interest rate movements that imply that for
any positive interest rate volatility, zero coupon bond yields will be negative at
every single instant in time, for long maturities beyond a critical maturity t. The
extended version of the Merton model, the Ho and Lee model, offsets the negative
yields with an extension factor that must grow larger and larger as maturities
lengthen. Vasicek [19] proposed a model that avoids the certainty of negative yields
and eliminates the need for a potentially infinitely large extension factor. Vasicek
accomplishes this by assuming that the short rate r has a constant volatility sigma

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-26 Oracle Financial Services Technical Reference Manual


Term Structure Models

like the models above, with an important twist: the short rate exhibits mean
reversion:

dr=α(b-r)dt +σdZ
where
r is the instantaneous short rate of interest
α is the speed of mean reversion
b is the long run expected value for rate, and
σ is the instantaneous standard deviation of r
Z is the standard Wiener process with mean zero and standard deviation of 1. The
stochastic process used by Vasicek is known as the Ornstein-Uhlenbeck process.
This process enables us to calculate the expected value and variance of the short
rate at any time in the future s from the perspective of current time t.
Because r(s) is normally distributed, there is a positive probability that r(s) can be
negative. As pointed out by Black [1], this is inconsistent with a no arbitrage
economy in the special sense that consumers hold an option to hold cash instead of
investing at negative interest rates. The magnitude of this theoretical problem with
the Vasicek model1 depends on the level of interest rates and the parameters chosen.
In general, it should be a minor consideration for most applications. Very low
interest rates in Japan in early 1996, with short rates well under 0.5%, did lead to
high probabilities of negative rates using both the Vasicek and extended Vasicek
models, when sigma was set to match observable prices of caps and floors.
Although the price of a floor with a strike price of zero was positive during this
period2 (indicating that the market perceived a real probability of negative rates),
the best fitting values of sigma for all caps and floors prices indicated a probability
of negative rates that was unrealistically large. For most economies, the Vasicek and
extended Vasicek models are very robust with wide-ranging benefits from practical
use.

1
The same objection applies to the Merton and Ho and Lee models and a wide range of
other modes that assume a constant volatility of interest rates, regardless of the level of
short term interest rates.
2
Lehman Brothers was quoting a floor on six month yen LIBOR with a three year maturity
and a strike price of zero at 1 basis point bid, 3 basis points offered during the fall, 1995.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-27


Term Structure Models

Extended Vasicek (Hull and White) Model


Hull and White bridged the gap between the observable yield curve and the
theoretical yield curve implied by the Vasicek model by extending or stretching the
theoretical yield curve to fit the actual market data. A theoretical yield curve that is
identical to observable market data is absolutely essential in practical application. A
model that does not fit actual data will propagate errors resulting from this lack of
fit into hedge ratio calculations and valuation estimates for more complex securities.
No sophisticated user would be willing to place large bets on the valuation of a
bond option by a model that cannot fit observable bond prices.
Hull and White apply the identical logic as described in the previous section, but
they allow the market price of risk term to drift over time, instead of assuming it is
constant as in the Vasicek model. This could be written as:

dr = (θ (t ) − αr )dt + σdZ
where:
r is the instantaneous short rate of interest
α is the speed of mean reversion
b is the long run expected value for rate
σ is the instantaneous standard deviation of r, and
θ (t ) is the market price of risk for time t

As noted earlier the Extended Vasicek (Hull and White) model is currently the most
popular term structure model. It has a clear economic meaning, and is
computationally very robust. Because of its popularity numerous studies have
documented and continue to document what parameters (speed of mean reversion
and volatility) should be used. Another advantage of the Extended Vasicek model is
that bond prices have an easy closed form formula. This closed form formula leads
to very fast computation of rates for any term inside Monte Carlo simulation.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-28 Oracle Financial Services Technical Reference Manual


Term Structure Parameters Format

Term Structure Parameters Format


As mentioned above, speed of mean reversion, volatility and long run rate are the
parameters the user will have to specify for the chosen model. Speed of Mean
Reversion represents the long-run drift factor (1/mean reversion = interest rate
cycle). Volatility is the standard deviation of the one-month rate, annually
compounded on the equal-month timescale. Long Run Rate (b) represents the
equilibrium value of the one-month rate, annually compounded.
Sometimes α and σ are available from external sources, but they are quoted
differently. The following equations shows how to obtain the “one month” speed of
mean reversion and volatility from the values of a and s corresponding to:
1. instantaneous rate, α i (hereafter: αi and σi hereafter)
2. rate with term ∆t years (α∆t and σ∆t hereafter)
(For clarity we write α1m and σ 1m for the one-month parameters)

α1m = 12∗ (1 − e −α /12 ) i

α ∆t = (1 − e −α ∆t ) / ∆t
i

1 − e −αi /12
σ1m = 12 12 ∗ σ i e −αi /12 (e αi / 6 − 1) / 2αi
αi
1 − e −αi ∆t
σ ∆t = σ i e −αi ∆t (e 2αi ∆t − 1) / 2αi
α i ∆t ∆t

The following graph shows the change in the ratio σ 1m / σ i varying Dt ( α i = 0.1):

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-29


Term Structure Parameters Format

1
0.9
0.8
0.7
sigma ratio

0.6
0.5
0.4
0.3
0.2
0.1
0
1d 1 mo 3 mo 4 mo 6 mo 1 yr 2 yr 5 yr 10 yr
dt

Though the decision on the best choice for the term structure parameters is left to
the user, the software imposes certain restrictions on those as following:
■ 0 < α <1
■ 0.01% < σ < 10%
■ 0% < b < 200%
One more restriction has been set on the parameter combination for no-arbitrage
models:
(σ - 23α) > 0.7
If this inequality does not hold the system outputs a warning message and
continues processing. Be aware that the resulting rates may not be fully no-arbitrage
if the yield curve is very erratic.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-30 Oracle Financial Services Technical Reference Manual


Term Structure Parameters Format

Estimating Term Structure Parameters


Many discussions of the use of term structure models in risk management overlook
the difficulties of estimating the parameters for such models. Market participants
have become used to the idea of estimating parameters from observable market
data through the popularity of the Black-Scholes option pricing model and the
accepted market practice of estimating volatility for use in the model from market
option prices. “Implied volatility” is the value of volatility in the Black-Scholes
model that makes the theoretical price equal to the observable market price.
TSC1 and Kamakura Corporation made an in-depth analysis of this parameter
estimation problem. The analysis was based on the data set that includes 2,320 days
of Canadian Government Bond data provided by a major Canadian financial
institution. The data spanned the time period January 2, 1987 to March 6, 1996. In
the last section, American swaption data provided by one of the leading New York
derivatives dealers is used.
Estimating procedures for term structure models have not progressed as rapidly as
the theory of the term structure itself, and leading-edge practice is progressing
rapidly. There is a hierarchy of approaches of varying quality to determine the
appropriate parameters.

Traditional Academic Approach


This approach follows theory precisely to estimate the stochastic process for the
short term risk-less rate of interest, in this case the one-month Canadian
government bill yield. This approach is generally not satisfactory in any market and
was found to be unsatisfactory with Canadian data as well.
For an example of a well done analysis of the parameters of a number of theoretical
models, see Chan, Karolyi, Longstaff and Sanders2 [4]. The study, while well done,
suffers from the typical outcome of such studies: in no case does the assumed
stochastic process explain more than three percent of the variation in the short term
rate of interest. We find the same problem when running the regression on 2,320
days of data using the one-month Canadian bill rate as the short rate proxy. It is
concluded that this approach is not useful in the Canadian market because of the
lack of correlation between the level of interest rates and change in the level of the
short rate.

1
Treasury Services Corporation (TSC) has been acquired by Oracle in September of 1997.
2
K.C. Chan, G.A. Karolyi, F.A. Longstaff and A.B. Sanders, “An Empirical Comparison of
Alternative Models of the Short-Term Interest Rate”, Journal of Finance, Vol. 47, No 3, July
1992.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-31


Term Structure Parameters Format

Volatility Curve Approach


This approach matches parameters to the historical relative volatilities of bond
yields at different maturities. This approach worked moderately well.
Many market participants use parameter estimates that are consistent with the
historical relative degree of volatility of longer term “yields” in relationship to the
short rate. Market participants calculate observable variances for bond yields and
then select values of s and a that best fit historical “volatility.” The findings for the
Canadian Government Bond market were based on the use of par bond coupon
rates as proxies for zero coupon bond yields. The results of this analysis are
summarized in the following table:
Variance in Canadian Government Interest Rates
January 2, 1987 to March 6, 1996

Canadian Treasury Bills Canadian Government Bonds


1 mth 2 mth 3 mth 6 mth 1 yr 2 yrs 3 yrs 4yrs 5yrs 7 yrs 10 yrs 25 yrs
Actual 7.677 8.346 7.433 6.842 6.529 3.880 3.044 2.623 2.237 1.909 1.471 0.006
Variance
Estimated 7.943 7.745 7.552 7.008 6.051 4.564 3.496 2.717 2.143 1.389 0.794 0.140
Variance
Error -0.266 0.602 -0.119 -0.166 0.478 -0.684 -0.452 -0.095 0.094 0.520 0.677 0.856
Squared 0.071 0.362 0.014 0.028 0.228 0.468 0.204 0.009 0.009 0.270 0.458 0.732
Error
Best Fitting Parameter Values:
a 0.305172
s 2.854318%
Maturity 0.083 0.167 0.25 0.5 1 2 3 4 5 7 10 25

Note: Interest Rates and Variances are in %.


The best fitting a value was 0.305. This is a fairly large speed of mean reversion and
reflects the relatively large variation in short term Canadian rates, relative to long
rates, over the sample period. Interest rate volatility was also high at .0285. At the
1996 low levels of Canadian interest rates, this volatility level would clearly be too
high. Comparable figures for the United States swap market, based on a fit to 100

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-32 Oracle Financial Services Technical Reference Manual


Term Structure Parameters Format

swaptions prices, reflected a speed of mean reversion of 0.05 and an interest rate
volatility of 0.013.

Advanced Historical Volatility Approach


This approach fits relative yield changes on all 2,320 days based on the theoretical
relationship between the short rate and longer term yields by regression analysis,
and then fits term structure model parameters to the regression coefficients.
For the Canadian market, a regression of par bond coupon yields (as proxies for
zero coupon bond yields) on the one-month Canadian Government bill rate was
performed. The results of this regression showed a higher implied mean reversion
speed at shorter maturities.
Implied Speed of Mean Reversion
By Historical Sensitivity to Movements
in the Canadian Treasury Bill Rate (1987 - 1996)

3 - Year Bond Yield 10 - Year Bond Yield 25 - Year Bond Yield


Coefficient of 0.31430 0.17709 0.13505
Short Rate
Standard Error 0.01960 0.01573 0.01349
t - score 16.03177 11.26116 10.01270
R2 0.09985 0.05189 0.04422

Best Fitting α 1.00921 0.56275 0.29600

The best fitting a at three years was a very high 1.00921. At 25 years, the a at 0.296 is
much more consistent with the historical variances. This chart provides a strong
indication that a two-factor model would add value in the Canadian market
(assuming other problems, like parameter estimation and the valuation of American
options, that are strong disadvantages of two-factor models). This is true of most
markets where recent interest rate fluctuations have been large and where current
rate levels are near historical lows. The Australian market has had similar
experiences.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-33


Term Structure Parameters Format

Single-Day Yield Curve Fitting


This approach is the yield curve equivalent of "implied volatility" using
Black-Scholes. Most market participants feel more comfortable basing analysis on
parameter values implied from observable securities prices than on historical data
when observable prices are sufficient for this task. For example, if the only
observable data is the yield curve itself, we can still attempt to fit the actual data to
the theory by maximizing the goodness of fit from the theoretical model.
We arbitrarily set the market price of risk to zero and the long run expected value of
the short rate to equal the ten-year bond yield. They then find the best fitting a and
s. The result is generally of marginal acceptability. This is a common conclusion, as
pointed out by the former head of derivatives research at Merrill Lynch1, and one of
the reasons why market participants often feel compelled to supplement current
yield curve data with historical parameter data.
To illustrate the yield curve fitting approach, we took yield curve data for the
beginning, middle and end of the data set and picked the days for which the
ten-year Canadian government bond yield reached its highest and lowest points.
The following maturities have been used: one-month, six-months, two, three, four,
five, seven and ten years. The results of this analysis, using simple spreadsheet
software to obtain parameters, were as follows:
■ Best Fitting Parameters from Selected Yield
■ Canadian Government Bond Market,
■ Extended Vasicek Model,
■ Using Common Spreadsheet Non-Linear Equation Solver

Data
Beginnin Highest Data Lowest Date
Environment g Rates Mid-Point Rates Ending
January April 19, August 1, January 28, March 6,
Date 2, 1987 1990 1991 1994 1996
Mean Reversion 0.01462 0.25540 0.62661 0.70964 0.58000
Volatility 0.00000 0.05266 0.00000 0.00000 0.00100
Mkt Price of Risk 0.00000 0.00000 0.00000 0.00000 0.00000

1
B. Flesaker, “Testing the Heath-Jarrow-Morton/ Ho-Lee Model of Interest Rate Contingent
Claims Pricing”, Journal of Financial and Quantitative Analysis, Vol. 28, No 4, December
1993, pp. 483-495.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-34 Oracle Financial Services Technical Reference Manual


Term Structure Parameters Format

Data
Beginnin Highest Data Lowest Date
Environment g Rates Mid-Point Rates Ending
January April 19, August 1, January 28, March 6,
Date 2, 1987 1990 1991 1994 1996
Long Run Rate 0.08730 0.11950 0.09885 0.06335 0.07600
Estimate Quality Low Medium Low Low Low

Note: Spreadsheet solver capabilities are limited. Market price of risk and long run
rate were arbitrarily set to displayed values with optimization speed of mean
reversion and volatility.
The results were consistent with other approaches in generally showing a high
degree of mean reversion. The lack of power in spreadsheet non-linear equation
solving is reflected in the low or zero values for interest rate volatility and illustrate
the need for other data (caps, floors, swaptions, bond options prices, and so on) and
more powerful techniques for obtaining these parameters.

The Best Approach


Given these results, we think it is essential to use parameters estimated from
observable caps, floors, and swaptions data (or other option-related securities
prices) to the extent it is available. To illustrate the power of this approach, consider
now the U.S. dollar data on European swaption prices observable in August 1995.
At the time the data were obtained, there were 54 observable swaption prices. A
swaption gives the holder the right to initiate a swap of a predetermined maturity
and fixed rate level on an exercise date in the future. We estimated extended Vasicek
model parameters by choosing the speed of mean reversion (a) and interest rate
volatility (s), which minimized the sum of the squared errors in pricing these 54
swaptions. The “price” of the swaption was obtained by converting the
Black-Scholes volatility quotation for the swaption price to the percentage of
notional principal that the equivalent dollar swaption price represented. The
exercise periods on the swaptions were 0.5, one, two, three, four and five years. The
underlying swap maturities were 0.5, one, two, three, four, five, six, seven and ten
years.
Overall, the extended Vasicek model’s performance was extraordinary. The average
model error was literally 0 basis points with a mean absolute error of five basis
points of notional principal, even though only two parameters (in addition to the
current yield curve) were used to price 54 securities. Compare this to the Black
model for commodity futures, which is often used for swaptions and caps and

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-35


Choosing a Smoothing Method

floors pricing. The Black model required 54 different implied volatility values to
match actual market prices, even though the model, in theory, assumes that one
volatility parameter should correctly price all 54 swaptions. Volatilities in the Black
model ranged from 0.13 to 0.226, a very wide range that should indicate to swaption
market participants the need for caution.
In summary, the extended version of the Vasicek model, when applied to swaption
prices, proved two things:
■ Swaptions provide a rich data set with excellent convergence properties that
enable market participants to use even common spreadsheet software to obtain
high quality term structure parameter estimates.
■ The accuracy of the extended Vasicek model using only two parameters held
constant over 54 swaptions, is far superior to that of the Black commodity
futures model in predicting actual market prices.
In estimating term structure parameters, the lesson is clear. A rich data set of
current prices of securities with significant optionality is necessary to provide an
easy-to-locate global optimum for almost any popular term structure model.

Choosing a Smoothing Method


One of the most fundamental steps in fixed-income option valuation is calculating a
smooth yield curve. The original yield curve from the FDM Rate Manager IRC may
not have enough terms for the term structure parameter estimation routine to work
properly. In particular, the trinomial lattice needs the value of the yield for every
bucket point.
The simple description of a smoothing is to draw a smooth, continuous line through
observable market data points. Because an infinite number of smooth, continuous
lines pass through a given set of points, some other criterion has to be provided to
select among the alternatives. There are many different ways to smooth a yield
curve. The best technique is the one that results in the best term structure
parameters.
The Rate Generator has two different smoothing techniques:
■ Cubic Spline
■ Linear Interpolation

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-36 Oracle Financial Services Technical Reference Manual


Choosing a Smoothing Method

Cubic Spline of Yields


One approach to smoothing yield curves is the use of cubic splines. A cubic spline is
a series of third degree polynomials that have the form:
y = a + bx + cx2 + dx3
These polynomials are used to connect-the-dots formed by observable data. For
example, a US Treasury yield curve might consist of interest rates observable at 1, 2,
3, 5, 7, and 10 years. To value a fixed-income option, we need a smooth yield curve
that can provide yields for all possible yields to maturity between zero and 10 years.
A cubic spline fits a different third degree polynomial to each interval between data
points (0 to 1 years, 1 to 2 years, 2 to 3 years, and so on). In the case of a spline fitted
to swap yields, the variable x (independent variable) is years to maturity and the
variable y (dependent variable) is yield. The polynomials are constrained so they fit
together smoothly at each knot point (the observable data point); that is, the slope
and the rate of change in the slope with respect to time to maturity have to be equal
for each polynomial at the knot point where they join. If this is not true, there will
be a kink in the yield curve (that is, continuous but not differentiable).
However, two more constraints are needed to make the cubic spline curve unique.
The first constraint restricts the zero-maturity yield to equal the 1-day interest rate
(for example, the federal funds rate in the U.S. market). At the long end of the
maturity spectrum a number of alternatives exist. The most common one restricts
the yield curve at the longest maturity to be either straight (y"=0) or flat (y’=0).
There are other alternatives if the cubic spline is fitted to zero coupon bond prices
instead of yields.
Our function will also extrapolate the original yield curve outside its domain of
definition. The resulting smoothed yield curve will be constant and equal to:
■ the first term yield for T ≤ first term
■ the last term yield for T ≥ last term.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-37


Defining a Rate Index Formula

Linear Interpolation
Cubic splines have historically been the method preferred for yield curve
smoothing. In spite of the popularity of the cubic spline approach, market
participants have often relied on linear yield curve smoothing as a technique that is
especially easy to implement, but its limitations are well-known:
■ Linear yield curves are continuous but not smooth; at each knot point there is a
kink in the yield curve.
■ Forward rate curves associated with linear yield curves are linear and
discontinuous at the knot points. This means that linear yield curve smoothing
sometimes cannot be used with the Heath, Jarrow, and Morton term structure
model because it usually assumes the existence of a continuous forward rate
curve.
■ Estimates for the parameters associated with popular term structure models
like the extended Vasicek model are unreliable because the structure of the yield
curve is unrealistic. The shape of the yield curve, because of its linearity, is
fundamentally incompatible with an academically sound term structure model.
Resulting parameter estimates are therefore, often implausible.
Note that as in the case of cubic spline, we extrapolate for the maturities less than
the first term yield and greater than the last term yield: in the former, the yield is set
to be equal to the first term yield, and for the latter it is set to be the last term yield.

Defining a Rate Index Formula


The purpose of the Index ID is to define a forecast of the index rates (such as Libor
or Prime) based on the Monte Carlo forecast of the risk-free rate. This forecast is
applicable for every time t in the future and every scenario. “Future” means any
time after the As-of-Date.
The rate index primarily should be defined under the following situations:
■ The index is a contractual function of the risk-free yield
■ The index is defined through a conjunction of exogenous factors, in which case
time series analysis finds the best formula.
In this section we analyze one important special case of a contractual function,
namely how to translate simple rates (zero-coupon yields) into par bond coupon
rates for a risk-free bond with one payment. We first describe the general formula a
user can enter.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-38 Oracle Financial Services Technical Reference Manual


Defining a Rate Index Formula

General Case
The user can enter the following formula for each index and index term:

8
Index(t , t + Tk , ω ) = a 0 + ∑ a i Max(0, R (t , t + τ i , ω ) bi )
i =1

where:

ai are coefficients, ai Š 0

bi are exponents; they can be integer only

ω refers to the Monte Carlo scenario

Tk is the term of the index for which the formula applies

τ i is the term of each forecasted risk-free rate
■ R( t , t + τ i , ω ) is the risk-free rate at time t for a term of τ i .
In this formula we included the scenario ω for notational convenience, although it
cannot be specified by the user: the same formula is applied on each scenario - what
varies is the risk-free rate. The user can specify only i
a , bi , Tk , τ i , and of course the
identity of the Index IRC for which the formula applies.
If an adjustable instrument in the database is linked to an index term for which the
user did not define a formula, the engine will linearly interpolate (or extrapolate)
along term. For instance, suppose the user defined formulae only for Libor 1 month
and Libor 5 months, but an instrument record is linked to Libor 3 months, the
engine will calculate the index rate for Libor 3 months as the average of Libor 1
month and 5 months.

Formula for a Coupon Rate


Suppose that the security is issued at time t and pays T year(s) after it has been
issued. A typical example would be a 6-month T-bill, that is, T = 0.5 . The owner of
the security will receive at time t + T :
Cash flow = principal * ( 1 + cT ),
where c is the unknown (annual) coupon rate. In a no-arbitrage economy this cash
flow should be equal to:
Future value of principal = principal *
(1 + R(t , t + T , ω )) T

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-39


Defining a Rate Index Formula

Solving for the coupon rate gives the equation:

(1 + R ( t , t + T , ω )) T − 1
c=
T
Because yields are usually much smaller than 100%, we can expand the numerator
of the right handside in a Taylor series:

T (T − 1) 2 T (T − 1)(T − 2) 3
(1 + R) T ≅ 1 + TR + R + R +...
2 6

Therefore,

T − 1 2 (T − 1)(T − 2) 3
c= R+ R + R +...
2 6

The user would then input the following formula coefficients:

i ai bi τi

1 1 1 T

2
( T − 1) / 2 2 T

3
(T − 1)( T − 2) / 6 3 T

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-40 Oracle Financial Services Technical Reference Manual


Defining a Rate Index Formula

and all other coefficients equal to zero. The following example shows that we do not
need to go very far in the Taylor series to converge to the true value of the coupon
rate. This is important to remember because a long formula necessitates more
computing time than a slow one.
Example:
Term: T = 0.5
Yield: R = 0.05

Order of approximation Formula Coupon


1 0.05

R
2 0.049375

T −1 2
R+ R
2
3 0.049390625

T − 1 2 ( T − 1)( T − 2) 3
R+ R + R
2 2
True value 0.049390153

(1 + R ) T − 1
T

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-41


Defining a Rate Index Formula

Computation of Duration and Convexity


Risk Manager does not directly output duration. However, a simple manual
procedure computes delta and therefore duration. We describe this procedure
hereafter.
1. Run RM to compute market value using the original yield curve; we call this
value.

MV (1)

2. Select a rate increment, ∆r to be 100 basis points (1%) for example.


3. Create a new yield curve, equal to the original yield curve plus a parallel shift
equal to the rate increment.
4. Run RM to compute market value with the same parameters as in (1), but with
the new yield curve; we call this value MV ( 2 )
5. Delta can be computed manually:
MV (1) − MV (2)
∆=
∆r
6. Modified duration is equal to [ − ∆ / MV (1) ]
To compute gamma (and therefore convexity), we need two yield curve shocks, one
upward, and one downward, with the same rate increment. Gamma is equal to the
difference between the duration corresponding to each shock over the rate
increment.
A parallel yield curve shift will result in a change of value of the instantaneous
short rate but will not change the value of the market price of risk because all term
structure models we use are affine.
This justifies the parallel yield curve shift.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-42 Oracle Financial Services Technical Reference Manual


References

References
[1] F. Black, “Interest Rates as Options”, Journal of Finance, December 1995,
pp.1371-1376.
[2] P. Bratley, and Fox, “Algorithm 659: Implementing Sobol’s Quasirandom
Sequence generator”, ACM Transactions on Mathematical Software, Vol. 15, No 1,
March 1988.
[3] R. Caflisch, Morokoff, and A. Owen “Valuation of Mortgage Backed Securities
Using Brownian Bridges to Reduce Effective Dimension”, Caflisch’ World Wide
Web site, January 15, 1997.
[4] K.C. Chan, G.A. Karolyi, F.A. Longstaff and A.B. Sanders, “An Empirical
Comparison of Alternative Models of the Short-Term Interest Rate”, Journal of
Finance, Vol. 47, No 3, July 1992.
[5] P. Fitton, “Hybrid Low Discrepancy Sequences. Effective Path Reduction for
Yield Curve Scenario Generation”. To appear in the Journal of Fixed Income.
[6] B. Flesaker, “Testing the Heath-Jarrow-Morton/ Ho-Lee Model of Interest Rate
Contingent Claims Pricing”, Journal of Financial and Quantitative Analysis, Vol. 28,
No 4, December 1993, pp. 483-495.
[7] T.S.Y. Ho and S.-B Lee, “Term Structure Movements and Pricing Interest Rate
Contingence Claims”, Journal of Finance, Vol. 41, 1986, pp. 1011-1029.
[8] J. Hull, “Options, Futures, and other Derivatives”, 2-nd Edition, Prentice Hall,
1993.
[9] J. Hull, “Options, Futures, and other Derivatives”, 3-rd Edition, Prentice Hall,
1997. ISBN 01-13-186479.
[10] J. Hull and A. White, “One-factor Interest-Rate Models and the Valuation of
Interest-Rate Derivative Securities”, Journal of Financial and Quantitative Analysis,
Vol. 28, No 2, June 1993.
[11] C. Joy, Boyle and Tan, “Quasi-Monte Carlo Methods in Numerical Finance”,
Management Science, Vol. 42, No 6, June 1996.
[12] Lord G., Paskov, Vanderhoof, “Using Low-Discrepancy Points to Value
Complex Financial Instruments”, Contingencies, September/October 1996.
[13] W. Morokoff, and R. Caflisch, “Quasi-Random Sequences and Their
Discrepancies”, SIAM Journal of. Scientific Computing, Vol. 15, No 6, pp. 1251-1279,
November 1994.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Monte Carlo Analytics 15-43


References

[14] H. Niederreiter, “Random Number Generation and Quasi-Monte Carlo


Methods”, Regional Conference Series in Applied Mathematics, SIAM, 1992.
[15] A.Owen, “Monte Carlo Variance of Scrambled Equidistribution Quadrature”,
SIAM Journal of Numerical Analysis, 1996.
[16] W. Press, S. Teukolski, W. Vetterling, B. Flannery, “Numerical Recipes in C, The
Art of Scientific Computing”, 2nd Edition, Cambridge University Press, 1992.
[17] J. Spanier, private communication. July 1997.
[18] J. Spanier and Li. “Quasi-Monte Carlo Methods for Integral Equations”.
Unpublished.
[19] O.A. Vasicek, “An Equilibrium Characterization of the Term Structure”, Journal
of Financial Economics, Vol. 5, 1977, pp. 177-188.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

15-44 Oracle Financial Services Technical Reference Manual


16
Oracle Risk Manager Financial Elements

This chapter contains the descriptions and calculation details of Oracle Risk
Manager financial elements. This chapter contains the following topics:
■ Accumulation Methods
■ Financial Element Listed by Description
■ Financial Elements Listed by Number
■ Element Type - Cash Flow Financial Elements: Non-Maturity Accounts
■ Element Type - Cash Flow: Income Statement Accounts
■ Element Type - Cash Flow: Simple Accounts
■ Element Type - Gap
■ Element Type - Market Value
■ Financial Element Output by Account Type
■ Financial Element Calculations
■ Translation Methods for Financial Elements

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-1


Accumulation Methods

Accumulation Methods
Accumulation methods are applied to the summary financial information calculated
at each event in order to generate financial element data for each modeling bucket.
There are five different accumulation methods:
■ Average Method
■ Accrual Method
■ Sum Method
■ At First Method
■ At Last Method
Each of these methods is described in detail in this section.

Average Method
The average method is used to calculate an average value (such as Average
Balance, Average Net Rate) over a bucket. The calculation sums up the daily
values and divided by the number of days in the bucket.
Daily Average Balance = ∑(Daily Balance)/days in bucket
All simulated events (originations, payments, prepayments, and repricings) are
assumed to happen at the end of the event date. This implies that the balance
and rate on the day of an event is counted as the value prior to any changes
made by the event. Changes made impact the value of the next day.

Accrual Method
The accrual method is used to determine how much accrual has occurred over
the modeling bucket. The accrual method is determined by the code value in
the detail record. Interest in advance instruments calculate interest accruals
from the current payment date to the next payment date. Interest in arrears
instruments calculate interest accruals from the current payment date to the
previous payment date.
The interest cash flow is divided by the number of days between these two
dates to determine a daily accrual for each day within the modeling term. Daily
interest accruals are summed by modeling bucket.
Daily Interest Accrual = Interest Cash Flow/ number of days in payment
The example below demonstrates an interest accrual for an arrears record:

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-2 Oracle Financial Services Technical Reference Manual


Accumulation Methods

Example:

Payment Date Interest Cash Flow Days in Payment Daily Accrual


January 15 950 31 30.64
February 15 900 31 29.03
March 15 850 28 30.36

Modeling Start Date = January 1

Bucket End Date Accrual Calculation Interest Accrual


January 31 15 days @ 30.64 + 16 days @ 29.03 924.08
February 28 13 days @ 29.03 + 15 days @ 30.36 832.79

Sum Method
Summed financial element values are calculated by adding together all values
associated with events occurring during the modeling bucket.
Principal Runoff = ∑(Principal Runoff)

At First Method
At First accumulation method determines the value from the first event within
a modeling bucket (for example, Beginning Balance).

At Last Method
At Last accumulation method determines the value from the last event within a
modeling bucket (for example, Ending Balance).There are two Financial Element
listings in this chapter. The first lists all elements by element number and the second
by element description.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-3


Financial Element Listed by Description

Financial Element Listed by Description


Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Accumulated Translation 950 At Last
Amount
After Reprice Balance 255 At Last DCF
After Reprice Gross Rate 290 At Last After Reprice Balance DCF
After Reprice Net Rate 300 At Last After Reprice Balance DCF
After Reprice Transfer Rate 310 At Last After Reprice Balance DCF
Average Balance 140 Daily average B, DCF
Average Gross Rate 150 Daily average Average Balance DCF
Average Net Rate 160 Daily average Average Balance DCF
Average Transfer Rate 170 Daily average Average Balance DCF
Before Reprice Balance 250 At First DCF
Before Reprice Gross Rate 260 At First Before Reprice Balance DCF
Before Reprice Net Rate 270 At First Before Reprice Balance DCF
Before Reprice Transfer Rate 280 At First Before Reprice Balance DCF
Beginning Balance 60 At first B, DCF
Beginning Gross Rate 70 At first Beginning Balance DCF
Beginning Net Rate 80 At first Beginning Balance DCF
Beginning Transfer Rate 90 At first Beginning Balance DCF
Deferred Average Balance 530 Daily average DCF
Deferred Ending Balance 520 At last DCF
Deferred Runoff 540 Accrual DCF
Dividends 940 Sum A
Ending Balance 100 At last B, DCF
Ending Gross Rate 110 At last Ending Balance DCF
Ending Net Rate 120 At last Ending Balance DCF

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-4 Oracle Financial Services Technical Reference Manual


Financial Element Listed by Description

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Ending Transfer Rate 130 At last Ending Balance DCF
Fully Indexed Gross Rate 320 Sum DCF
Fully Indexed Net Rate 330 Sum DCF
Interest Accrual - Gross 445 Accrual DCF, I
Interest Accrual - Net 440 Accrual DCF, I
Interest Accrual - Transfer 450 Accrual DCF, I
Rate
Interest Cash Flow Gross 435 Sum DCF, I
Interest Cash Flow Net 430 Sum DCF, I
Interest Cash Flow Transfer 437 Sum DCF, I
Rate
Interest Credited 480 Sum DCF
Lifetime Cap Balance 580 Daily Average DCF
Lifetime Cap Effect 600 Accrual DCF
Lifetime Cap Rate 590 Daily Average Lifetime Cap Balance DCF
Fee Income Percent 905 Sum Average Balance
New Add Balance 340 Sum DCF
New Add Gross Rate 350 Sum New Add Balance DCF
New Add Net Rate 360 Sum New Add Balance DCF
New Add Transfer Rate 370 Sum New Add Balance DCF
NGAM Balance 640 Daily Average DCF
NGAM Interest 650 Accrual DCF
Non-Interest Income 455 Sum N
Non-Interest Expense 457 Sum N
Payment Runoff (positive) 190 Sum DCF
Payment Runoff (negative) 192 Sum DCF
Periodic Cap Balance 550 Daily Average DCF

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-5


Financial Element Listed by Description

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Periodic Cap Effect 570 Accrual DCF
Periodic Cap Rate 560 Daily Average Periodic Cap Balance DCF
Prepay Balance 515 Sum DCF
Prepay Rate (Annual) 510 Sum Prepay Balance DCF
Prepay Runoff (positive) 180 Sum DCF
Prepay Runoff (negative) 182 Sum DCF
Realized Currency 475 Sum DCF
Gain/Loss (Principal)
Prepay Runoff Gross Rate 225 Sum By Prepay Runoff DCF
Prepay Runoff Net Rate 235 Sum By Prepay Runoff DCF
Prepay Runoff Transfer Rate 245 Sum By Prepay Runoff DCF
Realized Currency 485 Sum DCF
Gain/Loss (Interest--Net)
Realized Currency 486 Sum DCF
Gain/Loss (Interest--Gross)
Realized Currency 487 Sum DCF
Gain/Loss (Interest--Tran.
Rate)
Roll Add Balance 380 Sum DCF
Roll Add Gross Rate 390 Sum DCF
Roll Add Net Rate 400 Sum DCF
Roll Add Transfer Rate 410 Sum DCF
Taxes - Federal 930 Sum A
Taxes - Local 935 Sum A
Tease Balance 610 Daily Average DCF
Tease Effect 630 Accrual DCF
Tease Rate 620 Daily Average Tease Balance DCF
Timing of Payment Runoff 191 Sum Payment Runoff DCF
(positive) (positive)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-6 Oracle Financial Services Technical Reference Manual


Financial Element Listed by Description

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Timing of Payment Runoff 193 Sum Payment Runoff DCF
(negative) (positive)
Timing of Prepay Runoff 181 Sum Prepay Runoff (positive) DCF
(positive)
Timing of Prepay Runoff 183 Sum Prepay Runoff (negative) DCF
(negative)
Timing of Total Runoff 211 Sum Total Runoff (positive) DCF
(positive)
Timing of Total Runoff 213 Sum Total Runoff (negative) DCF
(negative
Total Currency Gain/Loss 465 Sum
(Principal)
Total Runoff (positive) 210 Sum DCF
Total Runoff (negative) 212 Sum DCF
Total Runoff Gross Rate 220 Sum Total Runoff DCF
Total Runoff Net Rate 230 Sum DCF
Total Runoff Transfer Rate 240 Sum DCF
Weighted Average Term 500 Sum Ending Balance DCF

* This specifies for which account types the financial elements will be processed. The code values are B =
Balance only; I = Interest only; DCF = Detail Cash Flow; A = Autobalancing; N = Non Interest

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-7


Financial Elements Listed by Number

Financial Elements Listed by Number


Financial
Financial Element Element
Description Number Averaging Type Weighting Factor Output Group
Beginning Balance 60 At first Standard
Beginning Gross Rate 70 At first By Beginning Balance Standard
Beginning Net Rate 80 At first By Beginning Balance Standard
Beginning Transfer Rate 90 At first By Beginning Balance Standard
Ending Balance 100 At last Standard
Ending Gross Rate 110 At last By Ending Balance Standard
Ending Net Rate 120 At last By Ending Balance Standard
Ending Transfer Rate 130 At last By Ending Balance Standard
Average Balance 140 Daily average Standard
Average Gross Rate 150 Daily average By Average Balance Standard
Average Net Rate 160 Daily average By Average Balance Standard
Average Transfer Rate 170 Daily average By Average Balance Standard
Prepay Runoff - Positive 180 Sum Standard
Timing of Prepay Runoff - 181 Sum By Prepay Runoff Prepay Detail
positive (positive)
Prepay Runoff - negative 182 Sum Prepay Detail
Timing of Prepay Runoff - 183 Sum By Prepay Runoff Prepay Detail
negative (negative)
Payment Runoff - positive 190 Sum Runoff Detail
Timing of Payment Runoff - 191 Sum By Principal Runoff Runoff Detail
positive (positive)
Payment Runoff - negative 192 Sum Runoff Detail
Timing of Payment Runoff - 193 Sum By Principal Runoff Runoff Detail
negative (negative)
Maturity Runoff - positive 195 Sum Runoff Detail
Timing of Maturity Runoff - 196 Sum By Principal at Maturity Runoff Detail
positive (positive)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-8 Oracle Financial Services Technical Reference Manual


Financial Elements Listed by Number

Financial
Financial Element Element
Description Number Averaging Type Weighting Factor Output Group
Maturity Runoff - negative 197 Sum Runoff Detail
Timing of Maturity Runoff - 198 Sum By Principal at Maturity Runoff Detail
negative (negative)
Total Runoff - positive 210 Sum Standard
Timing of Total Runoff - 211 Sum By Total Runoff (positive) Standard
positive
Total Runoff - negative 212 Sum Standard
Timing of Total Runoff - 213 Sum By Total Runoff Standard
negative (negative)
Total Runoff Gross Rate 220 Sum By Total Runoff Standard
Prepay Runoff Gross Rate 225 Sum By Prepay Runoff DCF
Total Runoff Net Rate 230 Sum Standard
Prepay Runoff Net Rate 235 Sum By Prepay Runoff DCF
Total Runoff Transfer Rate 240 Sum Standard
Prepay Runoff Transfer Rate 245 Sum By Prepay Runoff DCF
Before Reprice Balance 250 At First Repricing
After Reprice Balance 255 At Last Repricing
Before Reprice Gross Rate 260 At First Before Reprice Balance Repricing
Before Reprice Net Rate 270 At First Before Reprice Balance Repricing
Before Reprice Transfer Rate 280 At First Before Reprice Balance Repricing
After Reprice Gross Rate 290 At Last After Reprice Balance Repricing
After Reprice Net Rate 300 At Last After Reprice Balance Repricing
After Reprice Transfer Rate 310 At Last After Reprice Balance Repricing
Fully Indexed Gross Rate 320 Sum Repricing
Fully Indexed Net Rate 330 Sum Repricing
New Add Balance 340 Sum New Origination
New Add Gross Rate 350 Sum New Add Balance New Origination
New Add Net Rate 360 Sum New Add Balance New Origination

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-9


Financial Elements Listed by Number

Financial
Financial Element Element
Description Number Averaging Type Weighting Factor Output Group
New Add Transfer Rate 370 Sum New Add Balance New Origination
Roll Add Balance 380 Sum New Origination
Roll Add Gross Rate 390 Sum New Origination
Roll Add Net Rate 400 Sum New Origination
Roll Add Transfer Rate 410 Sum New Origination
Interest Cash Flow Net 430 Sum Standard
Interest Cash Flow Gross 435 Sum Standard
Interest Cash Flow Transfer 437 Sum Standard
Rate
Interest Accrual - Net 440 Accrual Standard
Interest Accrual - Gross 445 Accrual Standard
Interest Accrual - Transfer 450 Accrual Standard
Rate
Non-Interest Income 455 Sum Standard
Non-Interest Expense 457 Sum Standard
Interest Credited 480 Sum Runoff Detail
Weighted Average Term 500 Sum Ending Balance Standard
Prepay Rate (Annual) 510 Sum Prepay Balance Prepay Detail
Prepay Balance 515 Sum Prepay Detail
Deferred Ending Balance 520 At last Standard
Deferred Average Balance 530 Daily average Standard
Deferred Runoff 540 Accrual Standard
Periodic Cap Balance 550 Daily Average Cap/Floor/Tease/N
GAM
Periodic Cap Rate 560 Daily Average Periodic Cap Balance Cap/Floor/Tease/N
GAM
Periodic Cap Effect 570 Accrual Cap/Floor/Tease/N
GAM

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-10 Oracle Financial Services Technical Reference Manual


Financial Elements Listed by Number

Financial
Financial Element Element
Description Number Averaging Type Weighting Factor Output Group
Lifetime Cap Balance 580 Daily Average Cap/Floor/Tease/N
GAM
Lifetime Cap Rate 590 Daily Average Lifetime Cap Balance Cap/Floor/Tease/N
GAM
Lifetime Cap Effect 600 Accrual Cap/Floor/Tease/N
GAM
Tease Balance 610 Daily Average Cap/Floor/Tease/N
GAM
Tease Rate 620 Daily Average Tease Balance Cap/Floor/Tease/N
GAM
Tease Effect 630 Accrual Cap/Floor/Tease/N
GAM
NGAM Balance 640 Daily Average Cap/Floor/Tease/N
GAM
NGAM Interest 650 Accrual Cap/Floor/Tease/N
GAM
Gap Runoff 660 Sum Standard
Gap Principal Runoff 661 Sum Runoff Detail
Gap Repricing Runoff 662 Sum Repricing
Gap Deferred Runoff 663 Sum Runoff Detail
Gap Runoff Term 670 Sum By Gap Runoff Bal Standard
Gap Interest Cash Flow 671 Sum Runoff Detail
Gross Rate
Gap Interest Cash Flow Net 672 Sum Runoff Detail
Rate
Gap Interest Cash Flow 673 Sum Runoff Detail
Transfer Rate
Gap Accrued Interest Gross 674 Accrual Runoff Detail
Rate
Gap Accrued Interest Net 675 Accrual Runoff Detail
Rate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-11


Element Type - Cash Flow Financial Elements: Non-Maturity Accounts

Financial
Financial Element Element
Description Number Averaging Type Weighting Factor Output Group
Gap Accrued Interest 676 Accrual Runoff Detail
Transfer Rate
Gap Interest Credited 677 Sum Runoff Detail
Gap Runoff Gross Rate 680 Sum By Gap Runoff Bal Standard
Gap Runoff Net Rate 690 Sum By Gap Runoff Bal Standard
Gap Runoff Transfer Rate 700 Sum By Gap Runoff Bal Standard
Fee Income Percent 905 Sum Average Balance
Taxes - Federal 930 Sum Standard
Taxes - Local 935 Sum Standard
Dividends 940 Sum StandardA

Element Type - Cash Flow Financial Elements: Non-Maturity Accounts


Other
Assets/Liability/ Non-Mat. Acct Non-Mat. Acct Non-Mat. Acct Non-Mat. Acct
Financial Element Equity (Multi Rts) (Net Rts) (No T-Rts) (No Grss Rts)
60 Beg Bal X X X X X
70 Beg Gross X X
80 Beg Net X X X X
90 Beg T-Rate X X
100 End Balance X X X X X
110 Ending Gross Rate X X
120 Ending Net Rate X X X X
130 Ending Transfer Rate X X
140 Average Bal X X X X X
150 Average Gross Rate X X
160 Average Net Rate X X X X
170 Average Transfer Rate X X

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-12 Oracle Financial Services Technical Reference Manual


Element Type - Cash Flow: Simple Accounts

Other
Assets/Liability/ Non-Mat. Acct Non-Mat. Acct Non-Mat. Acct Non-Mat. Acct
Financial Element Equity (Multi Rts) (Net Rts) (No T-Rts) (No Grss Rts)
440 Interest Accrued X X X X
445 Interest Accrued Gross X X X
450 Charge/Credit X

Element Type - Cash Flow: Income Statement Accounts


Income Interest Non-Interest
Financial Element Income Expense Taxes Dividends
455 Non-Interest Income X
457 Non-Interest Expense X
930 Taxes - Federal X
935 Taxes - State X
940 Dividends X

Element Type - Cash Flow: Simple Accounts


Simple Acct Simple Acct Simple Acct Simple Acct
Type Type Type Type
Financial Element (No T-Rts) (No Grss Rts) (Net Rts) (Multi Rts)
60 Beg Bal X X X X
70 Beg Gross X X
80 Beg Net X X X X
90 Beg T-Rate X X
100 End Balance X X X X
110 Ending Gross Rate X X
120 Ending Net Rate X X X X
130 Ending Transfer Rate X X
140 Average Bal X X X X
150 Average Gross Rate X X
160 Average Net Rate X X X X
170 Average Transfer Rate X X

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-13


Element Type - Gap

Simple Acct Simple Acct Simple Acct Simple Acct


Type Type Type Type
Financial Element (No T-Rts) (No Grss Rts) (Net Rts) (Multi Rts)
210 Total Runoff - positive X X X X
211 Timing of Total Runoff - positive X X X X
212 Total Runoff - negative X X X X
213 Timing of Total Runoff - negative X X X X
220 Total Runoff Gross Rate X X
230 Total Runoff Net Rate X X X X
240 Total Runoff Transfer Rate X X
340 New Add Balance X X X X
350 New Add Gross Rate X X
360 New Add Net Rate X X X X
370 New Add Transfer Rate X X
440 Interest Accrued X X X X
445 Interest Accrued Gross X X
450 Charge/Credit X X

Element Type - Gap


Element Number Element Name
660 Gap Runoff
661 Gap Principal Runoff
662 Gap Repricing Runoff
663 Deferred Runoff
670 Gap Runoff Term
671 Gap Interest Cash Flow Gross
672 Gap Interest Cash Flow Net
673 Gap Interest Cash Flow Transfer
674 Gap Accrued Interest Gross
675 Gap Accrued Interest Net
676 Gap Accrued Interest Transfer

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-14 Oracle Financial Services Technical Reference Manual


Element Type - Market Value

Element Number Element Name


677 Gap Interest Credited
680 Gap Runoff Gross Rate
690 Gap Runoff Net Rate
700 Gap Runoff Transfer Rate

Element Type - Market Value


Element Number Element Name
2001 Static Gross Par Balance
2002 Static Net par Balance
2003 Static Deferred Balance
2004 Static Accrued Interest Balance
2005 Static Net Rate
2006 Static Transfer Rate
2007 Static Remaining Term
2008 Static Market Value

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-15


Financial Element Output by Account Type

Financial Element Output by Account Type


Account Types are assigned through the Leaf Set-Up interface for each Common
COA ID. Product leaves other than Common COA ID are assigned the same
account type as their associated Common COA ID. During Risk Manager
processing, the financial elements generated are dependent on the account type
associated with each instrument record’s product leaf value. The following table
defines which financial elements are produced for instruments of a specific account
type classification.

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
60 Beginning Y Y Y Y Y
Balance
70 Beginning Gross Y Y Y
Rate
80 Beginning Net Y Y Y
Rate
90 Beginning Y Y Y
Transfer Rate
100 Ending Balance Y Y Y Y Y
110 Ending Gross Y Y Y
Rate
120 Ending Net Rate Y Y Y
130 Ending Transfer Y Y Y
Rate
140 Average Balance Y Y Y Y Y
150 Average Gross Y Y Y
Rate
160 Average Net Y Y Y
Rate
170 Average Y Y Y
Transfer Rate
180 Prepay Runoff Y Y
181 Timing of Y Y
Prepay Runoff-
positive

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-16 Oracle Financial Services Technical Reference Manual


Financial Element Output by Account Type

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
182 Prepay Runoff- Y Y
negative
183 Timing of Y Y
Prepay Runoff -
negative
190 Schedule Y Y
Principal Runoff
192 Pmnt Runoff- Y Y
negative
193 Timing of Pmnt Y Y
Runoff- negative
195 Maturity Y Y
Runoff- positive
196 Timing of Mat. Y Y
Runoff-positive
197 Maturity Y Y
Runoff-negative
198 Timing of Mat. Y Y
Runoff-negative
210 Total Runoff - Y Y
positive
211 Timing of Total Y Y
Runoff-positive
212 Total Runoff- Y Y
negative
213 Timing of Total Y Y
Runoff-negative
220 Total Runoff Y Y
Gross Rate
230 Total Runoff Net Y Y
Rate
240 Total Runoff Y Y
Transfer Rate
250 Reprice Balance Y Y
Beginning
255 Reprice Balance Y Y
Ending

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-17


Financial Element Output by Account Type

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
260 Before Reprice Y Y
Gross Rate
270 After Reprice Y Y
Gross Rate
280 Before Reprice Y Y
Net Rate
290 After Reprice Y Y
Net Rate
300 Before Reprice Y Y
Transfer Rate
310 After Reprice Y Y
Transfer Rate
320 Fully Indexed Y Y
Gross Rate
330 Fully Indexed Y Y
Net Rate
340 New Add Y Y Y Y Y
Balance
350 New Add Gross Y Y
Rate
360 New Add Net Y Y
Rate
370 New Add Y Y
Transfer Rate
380 Roll Add Y Y
Balance
390 Roll Add Gross Y Y
Rate
400 Roll Add Net Y Y
Rate
410 Roll Add Y Y
Transfer Rate
430 Interest Cash Y Y Y Y
Flow Net
435 Interest Cash Y Y Y Y
Flow Gross

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-18 Oracle Financial Services Technical Reference Manual


Financial Element Output by Account Type

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
437 Interest Cash Y Y Y Y
Flow Transfer
Rate
440 Int Accrd - Net Y Y Y Y
445 Int Accrd - Y Y Y Y
Gross
450 Int Accrd - Tran Y Y Y Y
Rt
455 Non-Interest Y
Income
457 Non-Interest Y
Expense
480 Interest Credited Y Y
500 Weighted Y Y
Average
Remaining Term
510 Annual Y Y
Prepayment
Rate
515 Prepay Balance Y Y
520 Deferred Ending Y Y
Balance
530 Deferred Y Y
Average Balance
540 Deferred Runoff Y Y
550 Periodic Cap Y Y
Balance
560 Periodic Cap Y Y
Effect - Rate
570 Periodic Cap Y Y
Effect - Amount
580 Lifetime Cap Y Y
Balance
590 Lifetime Cap Y Y
Effect - Rate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-19


Financial Element Output by Account Type

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
600 Lifetime Cap Y Y
Effect - Amount
610 Tease Balance Y Y
620 Tease Effect - Y Y
Rate
630 Tease effect - Y Y
Amount
640 NGAM Balance Y Y
650 NGAM Interest Y Y
660 Gap Total Y Y Y Y
Runoff
661 Gap Principal Y Y Y Y
Runoff
662 Gap Repricing Y Y Y
663 Gap Deferred Y Y Y
Runoff
670 Gap Runoff Y Y Y Y
Term
671 Gap Interest Y Y Y Y Y Y
Cash Flow Gross
672 Gap Interest Y Y Y Y Y Y
Cash Flow Net
673 Gap Interest Y Y Y Y Y Y
Cash Flow
Transfer Rate
674 Gap Accrued Y Y Y Y Y Y
Interest Gross
675 Gap Accrued Y Y Y Y Y Y
Interest Net
676 Gap Accrued Y Y Y Y Y Y
Interest Transfer
Rate
677 Gap Interest Y Y Y
Credited
680 Gap Runoff Y Y Y
Gross Rate

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-20 Oracle Financial Services Technical Reference Manual


Financial Element Calculations

Earning
Asset/ Interest Other
Interest- Income/ OBS Assets/ Non- Non-
Fin. Autobal bearing Interest Recv./ Other Interest Interest
Elmt. # Description Accts Liability Expense Pay. Equity Liabs Income Expense Taxes Dividends
690 Gap Runoff Net Y Y Y
Rate
700 Gap Runoff Y Y Y
Transfer Rate
930 Taxes Y
935 Taxes Y
940 Dividends Y

Financial Element Calculations


Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
After Reprice Balance 255 At Last DCF
After Reprice Gross Rate 290 At Last After Reprice Balance DCF
After Reprice Net Rate 300 At Last After Reprice Balance DCF
After Reprice Transfer Rate 310 At Last After Reprice Balance DCF
Average Balance 140 Daily average B, DCF
Average Gross Rate 150 Daily average Average Balance DCF
Average Net Rate 160 Daily average Average Balance DCF
Average Transfer Rate 170 Daily average Average Balance DCF
Before Reprice Balance 250 At First DCF
Before Reprice Gross Rate 260 At First Before Reprice Balance DCF
Before Reprice Net Rate 270 At First Before Reprice Balance DCF
Before Reprice Transfer Rate 280 At First Before Reprice Balance DCF
Beginning Balance 60 At first B, DCF
Beginning Gross Rate 70 At first Beginning Balance DCF
Beginning Net Rate 80 At first Beginning Balance DCF

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-21


Financial Element Calculations

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Beginning Transfer Rate 90 At first Beginning Balance DCF
Deferred Average Balance 530 Daily average DCF
Deferred Ending Balance 520 At last DCF
Deferred Runoff 540 Accrual DCF
Dividends 940 Sum A
Ending Balance 100 At last B, DCF
Ending Gross Rate 110 At last Ending Balance DCF
Ending Net Rate 120 At last Ending Balance DCF
Ending Transfer Rate 130 At last Ending Balance DCF
Fully Indexed Gross Rate 320 Sum DCF
Fully Indexed Net Rate 330 Sum DCF
Interest Accrual - Gross 445 Accrual DCF, I
Interest Accrual - Net 440 Accrual DCF, I
Interest Accrual - Transfer 450 Accrual DCF, I
Rate
Interest Cash Flow Gross 435 Sum DCF, I
Interest Cash Flow Net 430 Sum DCF, I
Interest Cash Flow Transfer 437 Sum DCF, I
Rate
Interest Credited 480 Sum DCF
Lifetime Cap Balance 580 Daily Average DCF
Lifetime Cap Effect 600 Accrual DCF
Lifetime Cap Rate 590 Daily Average Lifetime Cap Balance DCF
New Add Balance 340 Sum DCF
New Add Gross Rate 350 Sum New Add Balance DCF
New Add Net Rate 360 Sum New Add Balance DCF
New Add Transfer Rate 370 Sum New Add Balance DCF

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-22 Oracle Financial Services Technical Reference Manual


Financial Element Calculations

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
NGAM Balance 640 Daily Average DCF
NGAM Interest 650 Accrual DCF
Non-Interest Income 455 Sum N
Non-Interest Expense 457 Sum N
Periodic Cap Balance 550 Daily Average DCF
Periodic Cap Effect 570 Accrual DCF
Periodic Cap Rate 560 Daily Average Periodic Cap Balance DCF
Prepay Balance 515 Sum DCF
Prepay Rate (Annual) 510 Sum Prepay Balance DCF
Prepay Runoff 180 Sum DCF
Prepay Runoff 182 Sum DCF
Roll Add Balance 380 Sum DCF
Roll Add Gross Rate 390 Sum DCF
Roll Add Net Rate 400 Sum DCF
Roll Add Transfer Rate 410 Sum DCF
Scheduled Principal Runoff 190 Sum DCF
Taxes - Federal 930 Sum A
Taxes - Local 935 Sum A
Tease Balance 610 Daily Average DCF
Tease Effect 630 Accrual DCF
Tease Rate 620 Daily Average Tease Balance DCF
Timing of Prepay Runoff 181 Sum Prepay Runoff (positive) DCF
(positive)
Prepay Runoff (negative) 182 Sum DCF
Timing of Prepay Runoff 183 Sum Prepay Runoff (negative) DCF
(negative)
Timing of Total Runoff 211 Sum Total Runoff (positive) DCF
(positive)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-23


Translation Methods for Financial Elements

Financial
Financial Element Element Account Type
Description Number Averaging Type Weighting Factor Processing *
Total Runoff (negative) 212 Sum DCF
Timing of Total Runoff 213 Sum Total Runoff (negative) DCF
(negative
Total Runoff 210 Sum DCF
Total Runoff (negative) 212 Sum DCF
Total Runoff Gross Rate 220 Sum Total Runoff DCF
Total Runoff Net Rate 230 Sum DCF
Total Runoff Transfer Rate 240 Sum DCF
Weighted Average Term 500 Sum Ending Balance DCF

* This specifies for which account types the financial elements will be processed. The code values are B =
Balance only; I = Interest only; DCF = Detail Cash Flow; A = Autobalancing; N = Non Interest

Translation Methods for Financial Elements


The following table defines the translation methods used for each financial element:

Temporal and Current Rate


Code Financial Elements Methods Historical Basis Method
(most) All elements not Current bucket exchange rate Exchange Rate at origination
listed below should be applied to all should be applied to all financial
financial elements, except those elements, except those listed
listed below. below.
60 Beginning Balance Previous bucket exchange rate Exchange rate at origination
70, 80, 90 Beginning Rate Previous bucket exchange rate Exchange rate at origination
440 Net Interest Accrued Exchange rate at origination Exchange rate at origination
(historical basis)
441 Net Interest Accrued Current bucket exchange rate N/A
(current basis)
445 Gross Interest Exchange rate at origination Exchange rate at origination
Accrued (historical
basis)

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-24 Oracle Financial Services Technical Reference Manual


Translation Methods for Financial Elements

Temporal and Current Rate


Code Financial Elements Methods Historical Basis Method
446 Gross Interest Current bucket exchange rate N/A
Accrued (current
basis)
520 Deferred Ending Exchange rate at origination Exchange rate at origination
Balance
530 Deferred Average Exchange rate at origination Exchange rate at origination
Balance
540 Deferred Runoff Exchange rate at origination Exchange rate at origination
465 Total Currency No translation (used only for N/A
Gain/Loss Temporal)
475 Realized Currency No translation (used only for No translation
Gain/Loss Temporal & Historical
(Principal) methods)
485, 486, 487 Realized Currency No translation No translation
Gain/Loss (Interest)
950 Accumulated No translation (used only for N/A
Translation Amount Current Rate method)
660 - 700 All Gap financial Calculate values for reporting Exchange rate at origination
elements currencies from translated
financial elements

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Oracle Risk Manager Financial Elements 16-25


Translation Methods for Financial Elements

Oracle Proprietary, Confidential Information - Use Restricted by Contract

16-26 Oracle Financial Services Technical Reference Manual


A
Insurance Data Model

The Property/Casualty and Life Insurance data models for insurance profitability
and reporting solutions are new in Release 4.5. This chapter includes the following
Entity/Relationship diagrams to show the table structures in these data models.
■ Property Casualty Insurance
■ Property Casualty Insurance
■ Vehicle Policies
■ Floater and Umbrella Policies
■ Life Insurance
■ Term Life Policies
■ Whole/Universal Life Policies
■ Life Insurance Participants

Note: Each diagram shows only the unique key and mandatory columns
for each table. Each diagram is followed by full column listings for each
table, showing the column name, its data type and size, and its display
name as it appears within any of the OFS applications. The columns are
shown in the same order as they appear in their respective tables.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-1


Note: Because the CUST and the OFSA_INSTRUMENT_ACCOUNT_
CUST tables are pre-existing tables already documented in the Oracle
Financial Data Manager Data Dictionary, their column lists are not included
in this appendix chapter. Note also that the LIFE_PARTICIPANTS, LIFE_
PARTICIPANTS_POLICIES, TERM_LIFE_POLICIES, and WHOLE_UL_
LIFE_POLICIES tables appear in more than one diagram, but their column
listings are included only once.

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-2 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Property Casualty Insurance

Home Policies
HOMES_DETAIL
may be insured by # ID_NUMBER
insures # AS_OF_DATE

HOME_POLICIES OFSA_INSTRUMENT_ACCOUNT_CUST
# IDENTITY_CODE * IDENTITY_CODE
# ID_NUMBER * ID_NUMBER
* ORG_UNIT_ID may be owned by * INSTRUMENT_TYPE_CD
* COMMON_COA_ID * CUS_KEY
* GL_ACCOUNT_ID relates customer to policies
* COVERAGE_ID
* AS_OF_DATE
* ISO_CURRENCY_CD
* POLICY_NUMBER relates policy to customers
* EFFECTIVE_DATE owns
* INCEPTION_DATE HOME_POLICY_DEDUCTIBLES
# IDENTITY_CODE
may have # ID_NUMBER
# DEDUCTIBLE_CD CUST
applies to # DEDUCTIBLE_APPLIES_TO_CD # CUS_NO
* AS_OF_DATE

HOME_POLICY_DISCOUNTS
may have # IDENTITY_CODE
# ID_NUMBER
applies to # HOME_DISCOUNT_CD
* AS_OF_DATE

HOME_POLICY_SURCHARGES
may have # IDENTITY_CODE
# ID_NUMBER
applies to # HOME_SURCHARGE_CD
* AS_OF_DATE

may have
HOME_COVERAGES_ENDORSEMENTS
is a component of or an addition to # IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
may have * ORG_UNIT_ID
* COMMON_COA_ID
* GL_ACCOUNT_ID
* AS_OF_DATE
HOME_CVRG_ENDRSMNT_DED * ISO_CURRENCY_CD
# IDENTITY_CODE * POLICY_NUMBER
# ID_NUMBER applies to * EFFECTIVE_DATE
# COVERAGE_ID
# DEDUCTIBLE_CD may have
# DEDUCTIBLE_APPLIES_TO_CD
* AS_OF_DATE

HOME_CVRG_ENDRSMNT_SURCH
# IDENTITY_CODE
# ID_NUMBER applies to
# COVERAGE_ID
# HOME_SURCHARGE_CD may have
* AS_OF_DATE

HOME_CVRG_ENDRSMNT_DISC
# IDENTITY_CODE applies to
# ID_NUMBER
# COVERAGE_ID may have
# HOME_DISCOUNT_CD
* AS_OF_DATE

may have
is submitted against

HOME_CLAIMS
# IDENTITY_CODE HOME_CVRG_ENDRSMNT_CLAIMS
is submitted against # ID_NUMBER # IDENTITY_CODE
# CLAIM_NUMBER # ID_NUMBER
# CLAIM_OCCURRENCE_NUMBER # COVERAGE_ID
# CLAIM_CLASS_CD # CLAIM_NUMBER
* AS_OF_DATE # CLAIM_OCCURRENCE_NUMBER
* AS_OF_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-3


Property Casualty Insurance

Table: HOMES_DETAIL
Column Name Data Type Display Name
ID_NUMBER NUMBER(25) ID Number
AS_OF_DATE DATE As of Date
ADDITION_TYPE_CD VARCHAR2(5) Addition Type Code
ADDITION_TYPE_AMT NUMBER(14,2) Addition Type Amount
ADDITIONAL_FEATURES_AMT NUMBER(14,2) Additional Features Amount
ADJ_BASE_RESIDENCE_COST NUMBER(14,2) Adj Base Residence Cost
AIR_CONDITIONING_CD VARCHAR2(15) Air Conditioning Code
ALARM_DESCRIPTION_CD VARCHAR2(5) Alarm Description Code
ATTACHED_STRUCTURES_CD VARCHAR2(15) Attached Structures Code
BASE_COST NUMBER(14,2) Base Cost
BASE_COST_YEAR NUMBER(4) Base Cost Year
BASEMENT_CONSTR_TYPE_CD VARCHAR2(15) Basement Constr Type Code
BASEMENT_FINISHED_FLG NUMBER(1) Basement Finished Flag
BASEMENT_FLG NUMBER(1) Basement Flag
BASE_RESIDENCE_COST NUMBER(14,2) Base Residence Cost
BATH_MASTER_TYPE_CD VARCHAR2(15) Bath Master Type Code
BATH_MAST_CONSTR_QLTY_CD VARCHAR2(10) Bath Mast Constr Qlty Code
BATH_OTHER_TYPE_CD VARCHAR2(15) Bath Other Type Code
BATH_OTH_CONSTR_QLTY_CD VARCHAR2(10) Bath Oth Constr Qlty Code
BREEZEWAY_TYPE_CD VARCHAR2(10) Breezeway Type Code
BLDG_ELEVATED_CD VARCHAR2(5) Building Elevated Code
BLDG_ELEVATED_FLG NUMBER(1) Building Elevated Flag
BLDG_FLOOD_PROOFED_FLG NUMBER(1) Building Flood Proofed Flag
BLDG_IMPROVED_FLG NUMBER(1) Building Improved Flag
BODY_OF_WATER_PRXMTY_CD VARCHAR2(5) Body of Water Proximity Code
BUILT_IN_YEAR NUMBER(4) Built In Year
BUILTINS_TOTAL_AMT NUMBER(14,2) Builtins Total Amount
BUSINESS_ON_PREMISES_FLG NUMBER(1) Business on Premises Flag
CHIMNEY_CD VARCHAR2(5) Chimney Code
CONDITION_CD VARCHAR2(5) Condition Code
CONDO_FLOOD_COVERAGE_FLG NUMBER(1) Condo Flood Coverage Flag
CONDO_WALL_COVERAGE_FLG NUMBER(1) Condo Wall Coverage Flag
CNSCTVE_MONTHS_OCC_EACH_YEAR NUMBER(2) Cnsctve Months Occ Each Year
CONSTR_COST NUMBER(14,2) Constr Cost
CONSTR_TYPE_CD VARCHAR2(15) Constr Type Code
DATE_INSPECTED DATE Date Inspected
DAYTIME_OCCUPANCY_FLG NUMBER(1) Daytime Occupancy Flag
DECK_TYPE_CD VARCHAR2(10) Deck Type Code
DETACHED_STRUCT_TYPE_CD VARCHAR2(10) Detached Struct Type Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-4 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

DISTANCE_TO_BRUSH_FT NUMBER(8) Distance to Brush Feet


DISTANCE_TO_FIRE_STATION NUMBER(8) Distance to Fire Station
DISTANCE_TO_HYDRANT NUMBER(8) Distance to Hydrant
DISTANCE_TO_BODY_OF_WATER NUMBER(8) Distance to Body of Water
DIVING_BOARD_FLG NUMBER(1) Diving Board Flag
DOG_TYPE_CD VARCHAR2(10) Dog Type Code
DOOR_LOCK_CD VARCHAR2(5) Door Lock Code
DWELL_CDRC_FLG NUMBER(1) Dwelling CDRC Flag
DWELL_RENTED_TO_OTHERS_FLG NUMBER(1) Dwelling Rented to Others Flag
DWELL_STYLE_CD VARCHAR2(10) Dwelling Style Code
DWELL_USE_CD VARCHAR2(5) Dwelling Use Code
DWELL_VALUATION_DATE DATE Dwelling Valuation Date
EARTHQUAKE_BLDG_GRND_CD VARCHAR2(5) Earthquake Bldg Ground Code
EARTHQUAKE_RETROFIT_BOLT_FLG NUMBER(1) Earthquake Retrofit Bolt Flag
ELECTRIC_SERV_PANEL_CD VARCHAR2(10) Electric Serv Panel Code
ENCLOSED_PORCH_TYPE_CD VARCHAR2(5) Enclosed Porch Type Code
EQUIPMENT_STORAGE_CD VARCHAR2(5) Equipment Storage Code
EVALUATION_METHOD_CD VARCHAR2(5) Evaluation Method Code
EVALUATION_SYSTEM_CD VARCHAR2(5) Evaluation System Code
EXTERIOR_BUILTINS_CD VARCHAR2(10) Exterior Builtins Code
EXTERIOR_PAINT_TYPE_CD VARCHAR2(10) Exterior Paint Type Code
EXTERIOR_PAINT_YEAR NUMBER(4) Exterior Paint Year
EXT_WALL_MATERIAL_CD VARCHAR2(15) Exterior Wall Material Code
FT_ABOVE_TIDE_OR_FLOOD_PLAIN NUMBER(8) Ft Above Tide or Flood Plain
FINISHED_ATTIC_FLG NUMBER(1) Finished Attic Flag
FINISHED_BASEMENT_FLG NUMBER(1) Finished Basement Flag
FIRE_DISTRICT_CD VARCHAR2(5) Fire District Code
FIRE_EXTINGUISHER_FLG NUMBER(1) Fire Extinguisher Flag
FIRE_PROTECTION_CLASS_CD VARCHAR2(5) Fire Protection Class Code
FIREPLACE_TYPE_CD VARCHAR2(15) Fireplace Type Code
FLOOD_FLOORS_IN_BLDG_CD VARCHAR2(5) Flood Floors In Building Code
FLOOD_INFO_SOURCE_CD VARCHAR2(5) Flood Info Source Code
FLOOD_MEANS_OFF_GRND_CD VARCHAR2(5) Flood Means Off Ground Code
FLOOD_PROOF_FLG NUMBER(1) Flood Proof Flag
FLOOD_ZONE_CD VARCHAR2(5) Flood Zone Code
FLOOR_CONSTRUCTION_CD VARCHAR2(5) Floor Construction Code
FOUNDATION_CD VARCHAR2(10) Foundation Code
GARAGE_TYPE_CD VARCHAR2(10) Garage Type Code
HEATING_IMPROVEMENT_YEAR NUMBER(4) Heating Improvement Year
HEATING_SYSTEM_CD VARCHAR2(15) Heating System Code
HEAT_SOURCE_PRIMARY_CD VARCHAR2(10) Heat Source Primary Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-5


Property Casualty Insurance

HILLSIDE_CD VARCHAR2(5) Hillside Code


HILLSIDE_PERCENT NUMBER(2) Hillside Percent
HYDRANT_DISTANCE NUMBER(8) Hydrant Distance
HYDRANT_LOCATION_CD VARCHAR2(5) Hydrant Location Code
HYDRANT_TYPE_CD VARCHAR2(5) Hydrant Type Code
INSPECTION_DATE DATE Inspection Date
INSPECTION_DISP_CD VARCHAR2(5) Inspection Disposition Code
INTERIOR_BUILTINS_CD VARCHAR2(15) Interior Builtins Code
ISO_EXCEPTION_CD VARCHAR2(5) ISO Exception Code
KITCHEN_CONSTR_QLTY_CD VARCHAR2(10) Kitchen Constr Qlty Code
MARKET_VALUE_AMT NUMBER(14,2) Market Value Amount
MARKET_VALUE_DATE DATE Market Value Date
MH_IN_PARK_FLG NUMBER(1) Motor Home In Park Flag
MH_PARK_EST_DATE DATE Motor Home Park Est Date
MH_TIE_DOWN_CD VARCHAR2(5) Motor Home Tie Down Code
MH_WIDTH NUMBER(8) Motor Home Width
MH_FOUNDATION_CD VARCHAR2(5) Motor Home Foundation Code
MH_SKIRTED_FLG NUMBER(1) Motor Home Skirted Flag
NUM_CARS_IN_GARAGE NUMBER(2) Number of Cars In Garage
NUM_CHIMNEYS NUMBER(2) Number of Chimneys
NUM_BATHROOMS NUMBER(3,1) Number of Bathrooms
NUM_DECKS NUMBER(2) Number of Decks
NUM_FIREPLACES NUMBER(2) Number of Fireplaces
NUM_GARAGES NUMBER(2) Number of Garages
NUM_KITCHENS NUMBER(2) Number of Kitchens
NUM_PORCHES NUMBER(2) Number of Porches
NUM_ROOMS NUMBER(2) Number of Rooms
NUM_STORIES_CD VARCHAR2(10) Number of Stories Code
NUM_SWIMMING_POOLS NUMBER(2) Number of Swimming Pools
INSURANCE_OCCUPANCY_CD VARCHAR2(5) Insurance Occupancy Code
PERM_CONNECT_TO_ELECTRIC_FLG NUMBER(1) Perm Connect to Electric Flag
PERM_CONNECT_TO_PHONE_FLG NUMBER(1) Perm Connect to Phone Flag
PERM_CONNECT_TO_SEWER_FLG NUMBER(1) Perm Connect to Sewer Flag
PERM_CONNECT_TO_WATER_FLG NUMBER(1) Perm Connect to Water Flag
PLUMBING_IMPROVEMENT_CD VARCHAR2(5) Plumbing Improvement Code
PLUMBING_IMPROVEMENT_YEAR NUMBER(4) Plumbing Improvement Year
PLUMBING_SYSTEM_TYPE_CD VARCHAR2(10) Plumbing System Type Code
POOL_SLIDE_FLG NUMBER(1) Pool Slide Flag
PORCH_TYPE_CD VARCHAR2(10) Porch Type Code
PRTCTV_DEVICE_BURGLAR_CD VARCHAR2(5) Protective Device Burglar Code
PRTCTV_DEVICE_FIRE_CD VARCHAR2(5) Protective Device Fire Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-6 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

PRTCTV_DEVICE_SMOKE_CD VARCHAR2(5) Protective Device Smoke Code


PRTCTV_DEVICE_SPRNKLR_CD VARCHAR2(5) Protective Device Sprnklr Code
PURCHASE_DATE DATE Purchase Date
RECORD_COUNT NUMBER(6) Record Count
RENOVATION_DATE DATE Renovation Date
REPL_CST_CONSTR_CLASS_CD VARCHAR2(5) Repl Cost Constr Class Code
REPL_CST_EXT_WALL_CAT_CD VARCHAR2(10) Repl Cost Ext Wall Cat Code
REPL_COST_ITEM_TYPE_CD VARCHAR2(5) Repl Cost Item Type Code
REPL_COST_QUALIFIER_CD VARCHAR2(5) Repl Cost Qualifier Code
ROOFING_IMPROVEMENT_CD VARCHAR2(5) Roofing Improvement Code
ROOFING_IMPROVEMENT_YEAR NUMBER(4) Roofing Improvement Year
ROOF_MATERIAL_CD VARCHAR2(10) Roof Material Code
ROOF_TYPE_CD VARCHAR2(5) Roof Type Code
RM_ADDITION_ABOVE_GARAGE_FLG NUMBER(1) Rm Addition Above Garage Flag
RURAL_FIRE_DISTRICT_CD VARCHAR2(5) Rural Fire District Code
SLAB_FLG NUMBER(1) Slab Flag
SLAB_SQ_FOOTAGE NUMBER(8) Slab Sq Footage
SPECIALTY_ROOM_CD VARCHAR2(10) Specialty Room Code
SQ_FOOTAGE_ADDITION NUMBER(8) Sq Footage Addition
SQ_FOOTAGE_ATTIC NUMBER(8) Sq Footage Attic
SQ_FOOTAGE_ATTIC_FINISHED NUMBER(8) Sq Footage Attic Finished
SQ_FOOTAGE_BALCONY_DECK NUMBER(8) Sq Footage Balcony Deck
SQ_FOOTAGE_BASEMENT NUMBER(8) Sq Footage Basement
SQ_FOOTAGE_BASEMENT_FINISHED NUMBER(8) Sq Footage Basement Finished
SQ_FOOTAGE_BREEZEWAY NUMBER(8) Sq Footage Breezeway
SQ_FOOTAGE_COVERED_PATIO NUMBER(8) Sq Footage Covered Patio
SQ_FOOTAGE_DECK NUMBER(8) Sq Footage Deck
SQ_FOOTAGE_FIRST_FLOOR NUMBER(8) Sq Footage First Floor
SQ_FOOTAGE_GARAGE NUMBER(8) Sq Footage Garage
SQ_FOOTAGE_PORCH NUMBER(8) Sq Footage Porch
SQ_FOOTAGE_SECOND_FLOOR NUMBER(8) Sq Footage Second Floor
SQ_FOOTAGE_THIRD_FLOOR NUMBER(8) Sq Footage Third Floor
SQ_FOOTAGE_TOTAL_LIVING NUMBER(8) Sq Footage Total Living
STORM_SHUTTERS_CD VARCHAR2(5) Storm Shutters Code
SWIMMING_POOL_CD VARCHAR2(5) Swimming Pool Code
TOWNHOUSE_ROWHOUSE_CD VARCHAR2(5) Townhouse Rowhouse Code
USE_CD VARCHAR2(5) Use Code
WIND_CLASS_CD VARCHAR2(5) Wind Class Code
WIND_PLAN_FLG NUMBER(1) Wind Plan Flag
WIRING_IMPROVEMENT_CD VARCHAR2(5) Wiring Improvement Code
WIRING_IMPROVEMENT_YEAR NUMBER(4) Wiring Improvement Year

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-7


Property Casualty Insurance

WIRING_TYPE_CD VARCHAR2(10) Wiring Type Code


YEAR_BUILT NUMBER(4) Year Built
YEAR_OF_OCCUPANCY NUMBER(4) Year of Occupancy

Table: HOME_CLAIMS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
CLAIM_NUMBER VARCHAR2(25) Claim Number
CLAIM_OCCURRENCE_NUMBER NUMBER(10) Claim Occurrence Number
CLAIM_CLASS_CD VARCHAR2(5) Claim Class Code
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
ADDITIONAL_CLAIM_FLG NUMBER(1) Additional Claim Flag
ADJUSTER_ASSIGNED_CD VARCHAR2(5) Adjuster Assigned Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_CASE_INCURRED_LOSS NUMBER(14,2) ALAE Case Incurred Loss
ALAE_PAID_DATE DATE ALAE Paid Date
ATTORNEY_OR_AUTH_REP_CD VARCHAR2(5) Attorney or Auth Rep Code
CATASTROPHE_CD VARCHAR2(5) Catastrophe Code
CATASTROPHE_CD_SOURCE_CD VARCHAR2(5) Catastrophe Code Source Code
CATASTROPHE_FLG NUMBER(1) Catastrophe Flag
CATASTROPHE_LOSS_FLG NUMBER(1) Catastrophe Loss Flag
CAUSE_OF_LOSS_CD VARCHAR2(10) Cause of Loss Code
CLAIM_ACTIVITY_CD VARCHAR2(5) Claim Activity Code
CLAIM_PAY_ACTIVITY_CD VARCHAR2(10) Claim Pay Activity Code
CLAIM_PAY_TYPE_CD VARCHAR2(10) Claim Pay Type Code
CLAIMANT_RELATIONSHIP_CD VARCHAR2(5) Claimant Relationship Code
COUNT_PAID NUMBER(8) Count Paid
COUNT_REPORTED NUMBER(8) Count Reported
DAMAGE_DESCRIPTION_CD VARCHAR2(15) Damage Description Code
DATE_ADJUSTER_ASSIGNED DATE Date Adjuster Assigned
DATE_CLAIM_NOTICE_RECEIVED DATE Date Claim Notice Received
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-8 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk


LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_INCURRED NUMBER(14,2) Loss Case Incurred
LOSS_DATE DATE Loss Date
LOSS_PAID_DATE DATE Loss Paid Date
NUM_CLAIMANTS NUMBER(8) Number of Claimants
RECORD_COUNT NUMBER(6) Record Count
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
CLAIM_SETTLEMENT_TYPE_CD VARCHAR2(5) Claim Settlement Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TOTAL_LOSS_FLG NUMBER(1) Total Loss Flag

Table: HOME_COVERAGES_ENDORSEMENTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
EFFECTIVE_DATE DATE Effective Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End
ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss
AMT_OF_INSURANCE NUMBER(14,2) Amount of Insurance
CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date
CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
COMMISSIONS NUMBER(14,2) Commissions

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-9


Property Casualty Insurance

DIVIDENDS NUMBER(14,2) Dividends


EC_PREMIUM_GROUP_CD VARCHAR2(5) EC Premium Group Code
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
LIMIT_CD VARCHAR2(5) Limit Code
LOB_CD VARCHAR2(10) LOB Code
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PREMIUM_GROUP_CD VARCHAR2(5) Premium Group Code
PROPERTY_CLASS_CD VARCHAR2(10) Property Class Code
POLICIES_IN_FORCE NUMBER(1) Policies In Force
RECORD_COUNT NUMBER(6) Record Count

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-10 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

REINSTATEMENT_DATE DATE Reinstatement Date


REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
REPLACEMENT_COST NUMBER(14,2) Replacement Cost
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense
VALUE NUMBER(14,2) Value
VALUATION_TYPE_CD VARCHAR2(5) Valuation Type Code
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number

Table: HOME_CVRG_ENDRSMNT_CLAIMS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
CLAIM_NUMBER VARCHAR2(25) Claim Number
CLAIM_OCCURRENCE_NUMBER NUMBER(10) Claim Occurrence Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
ADDITIONAL_CLAIM_FLG NUMBER(1) Additional Claim Flag
ADJUSTER_ASSIGNED_CD VARCHAR2(5) Adjuster Assigned Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_CASE_INCURRED_LOSS NUMBER(14,2) ALAE Case Incurred Loss
ALAE_PAID_DATE DATE ALAE Paid Date
ATTORNEY_OR_AUTH_REP_CD VARCHAR2(5) Attorney or Auth Rep Code
CATASTROPHE_CD VARCHAR2(5) Catastrophe Code
CATASTROPHE_CD_SOURCE_CD VARCHAR2(5) Catastrophe Code Source Code
CATASTROPHE_FLG NUMBER(1) Catastrophe Flag

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-11


Property Casualty Insurance

CATASTROPHE_LOSS_FLG NUMBER(1) Catastrophe Loss Flag


CAUSE_OF_LOSS_CD VARCHAR2(10) Cause of Loss Code
CLAIM_ACTIVITY_CD VARCHAR2(5) Claim Activity Code
CLAIM_PAY_ACTIVITY_CD VARCHAR2(10) Claim Pay Activity Code
CLAIM_PAY_TYPE_CD VARCHAR2(10) Claim Pay Type Code
CLAIMANT_RELATIONSHIP_CD VARCHAR2(5) Claimant Relationship Code
COUNT_PAID NUMBER(8) Count Paid
COUNT_REPORTED NUMBER(8) Count Reported
DAMAGE_DESCRIPTION_CD VARCHAR2(15) Damage Description Code
DATE_ADJUSTER_ASSIGNED DATE Date Adjuster Assigned
DATE_CLAIM_NOTICE_RECEIVED DATE Date Claim Notice Received
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_INCURRED NUMBER(14,2) Loss Case Incurred
LOSS_DATE DATE Loss Date
LOSS_PAID_DATE DATE Loss Paid Date
NUM_CLAIMANTS NUMBER(8) Number of Claimants
RECORD_COUNT NUMBER(6) Record Count
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
CLAIM_SETTLEMENT_TYPE_CD VARCHAR2(5) Claim Settlement Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TOTAL_LOSS_FLG NUMBER(1) Total Loss Flag

Table: HOME_CVRG_ENDRSMNT_DED
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
DEDUCTIBLE_CD NUMBER(5) Deductible Code
DEDUCTIBLE_APPLIES_TO_CD NUMBER(5) Deductible Applies to Code
AS_OF_DATE DATE As of Date
DEDUCTIBLE_BASIS_CD VARCHAR2(5) Deductible Basis Code
DEDUCTIBLE_TYPE_CD VARCHAR2(10) Deductible Type Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-12 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Table: HOME_CVRG_ENDRSMNT_DISC
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
HOME_DISCOUNT_CD NUMBER(5) Home Discount Code
AS_OF_DATE DATE As of Date

Table: HOME_CVRG_ENDRSMNT_SURCH
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
HOME_SURCHARGE_CD NUMBER(5) Home Surcharge Code
AS_OF_DATE DATE As of Date

Table: HOME_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
EFFECTIVE_DATE DATE Effective Date
INCEPTION_DATE DATE Inception Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACTIVITY_CD VARCHAR2(5) Activity Code
ADDITIONAL_RESIDENCE_FLG NUMBER(1) Additional Residence Flag
AGENT_CD VARCHAR2(5) Agent Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-13


Property Casualty Insurance

ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss


BILL_FREQ NUMBER(5) Bill Frequency
BILLED_DATE DATE Billed Date
BILLING_ACCT_NUMBER NUMBER(25) Billing Account Number
BILLING_METHOD_CD VARCHAR2(5) Billing Method Code
BLDG_ACTUAL_CASH_VALUE NUMBER(14,2) Building Actual Cash Value
BLDG_AMT_OF_INS NUMBER(14,2) Building Amount of Insurance
BLDG_REPLACEMENT_COST NUMBER(14,2) Building Replacement Cost
CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date
CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
CARRIER_CD VARCHAR2(5) Carrier Code
COMMISSIONS NUMBER(14,2) Commissions
CONTENTS_AMT_OF_INS NUMBER(14,2) Contents Amount of Insurance
CONTENTS_VALUE NUMBER(14,2) Contents Value
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DECL_CANCELED_NONRENEWED_FLG NUMBER(1) Decl Cancelled Nonrenewed Flag
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INSTALLMENT_NUMBER NUMBER(8) Installment Number
LOB_CD VARCHAR2(10) LOB Code
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_ASSESSMENT_AMT_OF_INS NUMBER(14,2) Loss Assessment Amount of Insurance
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
LOSS_OF_USE_AMT_OF_INS NUMBER(14,2) Loss of Use Amount of Insurance
MEDICAL_LIMIT_CD VARCHAR2(5) Medical Limit Code
METHOD_OF_PAYMENT_CD VARCHAR2(10) Method of Payment Code
NAIC_CD VARCHAR2(5) NAIC Code
OCCUPANCY_TYPE_CD VARCHAR2(10) Occupancy Type Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-14 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

OPT_OUT_FLG NUMBER(1) Opt Out Flag


OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
OTHER_STRUCT_ACTUAL_CASH_VALUE NUMBER(14,2) Other Struct Actual Cash Value
OTHER_STRUCT_AMT_OF_INS NUMBER(14,2) Other Struct Amount of Insurance
OTHER_STRUCT_REPLACEMENT_COST NUMBER(14,2) Other Struct Replacement Cost
PACKAGE_POLICY_FLG NUMBER(1) Package Policy Flag
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_PLAN_CD VARCHAR2(5) Payment Plan Code
PERSONAL_LIAB_LIMIT_CD VARCHAR2(5) Personal Liab Limit Code
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PREMIUM_GROUP_CD VARCHAR2(5) Premium Group Code
PRIMARY_RESIDENCE_FLG NUMBER(1) Primary Residence Flag
POLICIES_IN_FORCE NUMBER(1) Policies In Force
POLICY_STATUS_PC_CD VARCHAR2(5) Policy Status PC Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE VARCHAR2(11) Postal Code
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-15


Property Casualty Insurance

RENEWAL_CHANNEL_CD VARCHAR2(5) Renewal Channel Code


SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
STATE_CD VARCHAR2(5) State Code
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TENURE NUMBER(3) Tenure
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense
VALUATION_TYPE_CD VARCHAR2(5) Valuation Type Code

Table: HOME_POLICY_DEDUCTIBLES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
DEDUCTIBLE_CD NUMBER(5) Deductible Code
DEDUCTIBLE_APPLIES_TO_CD NUMBER(5) Deductible Applies to Code
AS_OF_DATE DATE As of Date
DEDUCTIBLE_BASIS_CD VARCHAR2(5) Deductible Basis Code
DEDUCTIBLE_TYPE_CD VARCHAR2(10) Deductible Type Code

Table: HOME_POLICY_DISCOUNTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
HOME_DISCOUNT_CD NUMBER(5) Home Discount Code
AS_OF_DATE DATE As of Date

Table: HOME_POLICY_SURCHARGES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
HOME_SURCHARGE_CD NUMBER(5) Home Surcharge Code
AS_OF_DATE DATE As of Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-16 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Vehicle Policies
CUST
# CUS_NO
owns
owns
relates policy to customers

OFSA_INSTRUMENT_ACCOUNT_CUST
relates customer to policies * IDENTITY_CODE
may be owned by * ID_NUMBER
* INSTRUMENT_TYPE_CD
relates vehicle to customers * CUS_KEY
PL_VEHICLE_ POLICIES
# IDENTITY_CODE
# ID_NUMBER
VEHICLE_OWNERS * ORG_UNIT_ID
# CUS_KEY * COMMON_COA_ID
# VEHICLE_ID_NUM * GL_ACCOUNT_ID
* AS_OF_DATE * COVERAGE_ID may consist of
* AS_OF_DATE
* ISO_CURRENCY_CD
relates customer to vehicles * VEHICLE_ID_NUM is a component of
* PRIMARY_OPERATOR_NUMBER
* POLICY_NUMBER
* EFFECTIVE_DATE PL_VEHICLE_COVERAGES
may be owned by * INCEPTION_DATE
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
VEHICLES_DETAIL * ORG_UNIT_ID
# VEHICLE_ID_NUM * COMMON_COA_ID
* GL_ACCOUNT_ID may have
# AS_OF_DATE
* AS_OF_DATE
* ISO_CURRENCY_CD
* VEHICLE_ID_NUM
may be insured by * PRIMARY_OPERATOR_NUMBER
* EFFECTIVE_DATE

premium may be decreased by


insures is submitted against
premium may be increased by

insures PL_VEHICLE_CLAIMS
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
relates operator to policies # CLAIM_NUMBER
# CLAIM_OCCURRENCE_NUMBER
* AS_OF_DATE
PL_VEHICLE_OPERATORS_POLICIES
# IDENTITY_CODE
# ID_NUMBER decreases premium for
# OPERATOR_NUMBER
* AS_OF_DATE

PL_VEHICLE_DISCOUNTS
relates policy to operators # IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
# VEHICLE_DISCOUNT_CD
is insured by * AS_OF_DATE

increases premium for


VEHICLE_OPERATORS
# OPERATOR_NUMBER
# AS_OF_DATE
PL_VEHICLE_SURCHARGES
# IDENTITY_CODE
may have may have # ID_NUMBER
# COVERAGE_ID
# VEHICLE_SURCHARGE_CD
* AS_OF_DATE

on driving record of on driving record of

VEH_OPERATOR_CITATION_HIST VEH_OPERATOR_ACCIDENT_HIST
# OPERATOR_NUMBER # OPERATOR_NUMBER
# CITATION_NUMBER # ACCIDENT_NUMBER
* CITATION_DATE * ACCIDENT_VIOLATION_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-17


Property Casualty Insurance

Table: PL_VEHICLE_CLAIMS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
CLAIM_NUMBER VARCHAR2(25) Claim Number
CLAIM_OCCURRENCE_NUMBER NUMBER(10) Claim Occurrence Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number
PRIMARY_OPERATOR_NUMBER NUMBER(10) Primary Operator Number
EFFECTIVE_DATE DATE Effective Date
ADDITIONAL_CLAIM_FLG NUMBER(1) Additional Claim Flag
ADJUSTER_ASSIGNED_CD VARCHAR2(5) Adjuster Assigned Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_CASE_INCURRED_LOSS NUMBER(14,2) ALAE Case Incurred Loss
ALAE_PAID_DATE DATE ALAE Paid Date
AT_FAULT_FLG NUMBER(1) At Fault Flag
ATTORNEY_OR_AUTH_REP_CD VARCHAR2(5) Attorney or Auth Rep Code
CATASTROPHE_CD VARCHAR2(5) Catastrophe Code
CATASTROPHE_CD_SOURCE_CD VARCHAR2(5) Catastrophe Code Source Code
CATASTROPHE_FLG NUMBER(1) Catastrophe Flag
CATASTROPHE_LOSS_FLG NUMBER(1) Catastrophe Loss Flag
CLAIM_ACTIVITY_CD VARCHAR2(5) Claim Activity Code
CLAIM_CLASS_CD VARCHAR2(5) Claim Class Code
CLAIM_PAY_ACTIVITY_CD VARCHAR2(10) Claim Pay Activity Code
CLAIM_PAY_TYPE_CD VARCHAR2(10) Claim Pay Type Code
CLAIMANT_RELATIONSHIP_CD VARCHAR2(5) Claimant Relationship Code
COUNT_PAID NUMBER(8) Count Paid
COUNT_REPORTED NUMBER(8) Count Reported
DAMAGE_DESCRIPTION_CD VARCHAR2(15) Damage Description Code
DATE_ADJUSTER_ASSIGNED DATE Date Adjuster Assigned
DATE_CLAIM_NOTICE_RECEIVED DATE Date Claim Notice Received
DRIVER_REL_TO_INSURED_CD VARCHAR2(5) Driver Rel to Insured Code
FATALITY_FLG NUMBER(1) Fatality Flag

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-18 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid


LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_INCURRED NUMBER(14,2) Loss Case Incurred
LOSS_DATE DATE Loss Date
LOSS_PAID_DATE DATE Loss Paid Date
NUM_CLAIMANTS NUMBER(8) Number of Claimants
OTHER_INSURANCE_FLG NUMBER(1) Other Insurance Flag
RECORD_COUNT NUMBER(6) Record Count
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
CLAIM_SETTLEMENT_TYPE_CD VARCHAR2(5) Claim Settlement Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TOTAL_LOSS_FLG NUMBER(1) Total Loss Flag

Table: PL_VEHICLE_COVERAGES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number
PRIMARY_OPERATOR_NUMBER NUMBER(10) Primary Operator Number
EFFECTIVE_DATE DATE Effective Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End
ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-19


Property Casualty Insurance

COMMISSIONS NUMBER(14,2) Commissions


DEDUCTIBLE_CD NUMBER(5) Deductible Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
LAST_MODIFIED_DATE DATE Last Modified Date
LIMIT_PER_ACCIDENT_CD VARCHAR2(5) Limit per Accident Code
LIMIT_PER_PERSON_CD VARCHAR2(5) Limit per Person Code
LOB_CD VARCHAR2(10) LOB Code
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
POLICIES_IN_FORCE NUMBER(1) Policies In Force
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
RECORD_COUNT NUMBER(6) Record Count

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-20 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums


REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense
VALUATION_TYPE_CD VARCHAR2(5) Valuation Type Code

Table: PL_VEHICLE_DISCOUNTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
VEHICLE_DISCOUNT_CD NUMBER(5) Vehicle Discount Code
AS_OF_DATE DATE As of Date
RECORD_COUNT NUMBER(6) Record Count

Table: PL_VEHICLE_OPERATORS_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
OPERATOR_NUMBER NUMBER(10) Operator Number
AS_OF_DATE DATE As of Date
PRIMARY_OPERATOR_FLG NUMBER(1) Primary Operator Flag

Table: PL_VEHICLE_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number
PRIMARY_OPERATOR_NUMBER NUMBER(10) Primary Operator Number
POLICY_NUMBER VARCHAR2(25) Policy Number

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-21


Property Casualty Insurance

EFFECTIVE_DATE DATE Effective Date


INCEPTION_DATE DATE Inception Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACTIVITY_CD VARCHAR2(5) Activity Code
AGENT_CD VARCHAR2(5) Agent Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End
ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss
BILL_FREQ NUMBER(5) Bill Frequency
BILLED_DATE DATE Billed Date
BILLING_ACCT_NUMBER NUMBER(25) Billing Account Number
BILLING_METHOD_CD VARCHAR2(5) Billing Method Code
CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date
CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
CARRIER_CD VARCHAR2(5) Carrier Code
COMMISSIONS NUMBER(14,2) Commissions
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DISTANT_STUDENT_FLG NUMBER(1) Distant Student Flag
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INSTALLMENT_NUMBER NUMBER(8) Installment Number
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-22 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

LOSS_INCURRED NUMBER(14,2) Loss Incurred


METHOD_OF_PAYMENT_CD VARCHAR2(10) Method of Payment Code
NAIC_CD VARCHAR2(5) NAIC Code
NUM_YOUTH_OPERATORS NUMBER(2) Number of Youth Operators
OCCUPANCY_TYPE_CD VARCHAR2(10) Occupancy Type Code
OPT_OUT_FLG NUMBER(1) Opt Out Flag
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_PLAN_CD VARCHAR2(5) Payment Plan Code
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
POLICIES_IN_FORCE NUMBER(1) Policies In Force
POLICY_STATUS_PC_CD VARCHAR2(5) Policy Status PC Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE VARCHAR2(11) Postal Code
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
RENEWAL_CHANNEL_CD VARCHAR2(5) Renewal Channel Code
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-23


Property Casualty Insurance

SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received


SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
STATE_CD VARCHAR2(5) State Code
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TENURE NUMBER(3) Tenure
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense

Table: PL_VEHICLE_SURCHARGES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
VEHICLE_SURCHARGE_CD NUMBER(5) Vehicle Surcharge Code
AS_OF_DATE DATE As of Date
RECORD_COUNT NUMBER(6) Record Count

Table: VEHICLES_DETAIL
Column Name Data Type Display Name
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number
AS_OF_DATE DATE As of Date
AIRBAG_TYPE_CD VARCHAR2(10) Airbag Type Code
ALTERATIONS_AMT NUMBER(14,2) Alterations Amount
ALTERED_FLG NUMBER(1) Altered Flag
ALTERED_VEHICLE_CD VARCHAR2(5) Altered Vehicle Code
ANTILOCK_BRAKE_CD VARCHAR2(10) Antilock Brake Code
ANTITHEFT_DEVICE_CD VARCHAR2(5) Antitheft Device Code
AUTO_CUSTOMIZED_FLG NUMBER(1) Auto Customized Flag
BUMBER_DISCOUNT_FLG NUMBER(1) Bumber Discount Flag
CAR_SPECIAL_CONTROLS_FLG NUMBER(1) Car Special Controls Flag
CARPOOL_FLG NUMBER(1) Carpool Flag
COLLISION_SYMBOL_CD VARCHAR2(5) Collision Symbol Code
CO_OWNERSHIP_FLG NUMBER(1) Co-Ownership Flag
COMB_PHYS_DAM_SYMBOL_CD VARCHAR2(5) Comb Phys Dam Symbol Code
COMPREHENSIVE_SYMBOL_CD VARCHAR2(5) Comprehensive Symbol Code
COOKING_LOCATION_CD VARCHAR2(5) Cooking Location Code
COST_NEW_AMT NUMBER(14,2) Cost New Amount
CURRENT_VALUE_OF_VEHICLE NUMBER(14,2) Current Value of Vehicle

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-24 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

DAMAGEABILITY_CD VARCHAR2(5) Damageability Code


DAYS_DRIVEN_PER_WEEK NUMBER(1) Days Driven per Week
DAYTIME_RUNNING_LIGHT_FLG NUMBER(1) Daytime Running Light Flag
ENGINE_TYPE_CD VARCHAR2(5) Engine Type Code
ESTIMATED_ANNUAL_MILEAGE NUMBER(8) Estimated Annual Mileage
EXISTING_UNREPAIRED_DAMAGE_FLG NUMBER(1) Existing Unrepaired Dam Flag
FOUR_WHEEL_DRIVE_FLG NUMBER(1) Four Wheel Drive Flag
FUEL_TANK_CD VARCHAR2(5) Fuel Tank Code
FUEL_TYPE_CD VARCHAR2(5) Fuel Type Code
GARAGING_TYPE_CD VARCHAR2(5) Garaging Type Code
GARAGING_POSTAL_CODE VARCHAR2(11) Garaging Postal Code
HORSEPOWER NUMBER(8) Horsepower
HORSEPOWER_DISPLACEMENT NUMBER(8) Horsepower Displacement
HULL_DESIGN_TYPE_CD VARCHAR2(5) Hull Design Type Code
HULL_MATERIAL_TYPE_CD VARCHAR2(5) Hull Material Type Code
INSPECTION_DATE DATE Inspection Date
INSPECTION_STATUS_CD VARCHAR2(5) Inspection Status Code
LEASED_VALUE NUMBER(14,2) Leased Value
LENGTH NUMBER(8) Length
LIABILITY_SYMBOL_CD VARCHAR2(5) Liability Symbol Code
LIC_PLATE_EFFECTIVE_DATE DATE License Plate Effective Date
LIC_PLATE_JURISDICTN_CD VARCHAR2(5) License Plate Jurisdictn Code
LIC_PLATE_NUMBER VARCHAR2(10) License Plate Number
MAXIMUM_SPEED NUMBER(8) Maximum Speed
MC_CCS NUMBER(8) Motorcycle CCs
MC_NUM_WHEELS NUMBER(1) Motorcycle Number of Wheels
MC_TYPE_CD VARCHAR2(5) Motorcycle Type Code
MH_DOUBLEWIDE_TRAILER_FLG NUMBER(1) Motor Home Doublewide Trailer Flag
MH_TYPE_CD VARCHAR2(5) Motor Home Type Code
NEW_FLG NUMBER(1) New Flag
NON_OWNED_VEHICLE_FLG NUMBER(1) Non Owned Vehicle Flag
NUM_AXLES NUMBER(2) Number of Axles
NUM_BEDS NUMBER(2) Number of Beds
NUM_CYLINDERS NUMBER(2) Number of Cylinders
ODOMETER_READING NUMBER(8) Odometer Reading
PERM_CONNECT_TO_ELECTRIC_FLG NUMBER(1) Perm Connect to Electric Flag
PERM_CONNECT_TO_PHONE_FLG NUMBER(1) Perm Connect to Phone Flag
PERM_CONNECT_TO_SEWER_FLG NUMBER(1) Perm Connect to Sewer Flag
PERM_CONNECT_TO_WATER_FLG NUMBER(1) Perm Connect to Water Flag
PROPULSION_TYPE_CD VARCHAR2(5) Propulsion Type Code
PURCHASE_DATE DATE Purchase Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-25


Property Casualty Insurance

PURCHASED_NEW_FLG NUMBER(1) Purchased New Flag


RECORD_COUNT NUMBER(6) Record Count
REGISTRATION_STATE_CD VARCHAR2(5) Registration State Code
RV_NON_PROFESSIONAL_CONV_FLG NUMBER(1) RV Non-Professional Conv Flag
RV_PERSONAL_EFFECTS NUMBER(14,2) RV Personal Effects
RV_PRIMARY_RESIDENCE_FLG NUMBER(1) RV Primary Residence Flag
SALVAGE_FLG NUMBER(1) Salvage Flag
SEATBELT_TYPE_CD VARCHAR2(10) Seatbelt Type Code
TRACTION_CONTROL_FLG NUMBER(1) Traction Control Flag
TT_TYPE_CD VARCHAR2(5) Travel Trailer Type Code
VEH_INSPECTION_STATUS_CD VARCHAR2(5) Vehicle Inspection Status Code
VEHICLE_BODY_TYPE_CD VARCHAR2(10) Vehicle Body Type Code
VEHICLE_CATEGORY_CD VARCHAR2(5) Vehicle Category Code
VEHICLE_OWNERSHIP_CD VARCHAR2(5) Vehicle Ownership Code
VEHICLE_LEASE_CD VARCHAR2(5) Vehicle Lease Code
VEHICLE_MAKE_CD VARCHAR2(5) Vehicle Make Code
VEHICLE_MODEL_CD VARCHAR2(5) Vehicle Model Code
VEHICLE_MODEL_YEAR NUMBER(4) Vehicle Model Year
VEHICLE_PERFORMANCE_CD VARCHAR2(5) Vehicle Performance Code
VEHICLE_TYPE_CD VARCHAR2(10) Vehicle Type Code
VEHICLE_USE_CD VARCHAR2(5) Vehicle Use Code
WATERSKIING_FLG NUMBER(1) Waterskiing Flag
WC_EQUIPMENT_TYPE_CD VARCHAR2(5) WC Equipment Type Code
WC_LAYUP_TYPE_CD VARCHAR2(5) WC Layup Type Code
WC_NUM_MOTORS NUMBER(2) WC Number of Motors
WC_PROPULSION_CD VARCHAR2(5) WC Propulsion Code
WC_TYPE_CD VARCHAR2(5) WC Type Code
WC_WATER_SUPPLY_QTY_CD VARCHAR2(5) WC Water Supply Quantity Code
WC_WATER_SUPPLY_SRC_CD VARCHAR2(5) WC Water Supply Source Code
WC_WATER_UNIT_TYPE_CD VARCHAR2(5) WC Water Unit Type Code
WC_WATERS_NAVIGATED_CD VARCHAR2(5) WC Waters Navigated Code

Table: VEHICLE_OPERATORS
Column Name Data Type Display Name
OPERATOR_NUMBER NUMBER(10) Operator Number
AS_OF_DATE DATE As of Date
AGE NUMBER(3) Age
ATTEND_SCHOOL_FLG NUMBER(1) Attend School Flag
ASSIGNED_RISK_REASON_CD VARCHAR2(5) Assigned Risk Reason Code
AUTO_ASSOC_MEMBER_FLG NUMBER(1) Auto Association Member Flag
COVERAGE_LAPSE_CD VARCHAR2(5) Coverage Lapse Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-26 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

CREDIT_SCORE VARCHAR2(10) Credit Score


CREDIT_SCORE_DATE DATE Credit Score Date
CUS_KEY VARCHAR2(30) Customer Key
GENDER CHAR(1) Gender
GRADE_AVERAGE NUMBER(14,2) Grade Average
DATE_SINCE_ASSIGNED_RISK DATE Date Since Assigned Risk
DECL_CANCELLED_NONRENEWED_FLG NUMBER(1) Decl Cancelled Nonrenewed Flag
DEFENSIVE_DRIVER_DATE DATE Defensive Driver Date
DEFENSIVE_DRIVER_EXPIRE_DATE DATE Defensive Driver Expire Date
DEFENSIVE_DRIVER_FLG NUMBER(1) Defensive Driver Flag
DRIVER_ASSIGNED_RISK_FLG NUMBER(1) Driver Assigned Risk Flag
DRIVERS_LICENSE_NUMBER VARCHAR2(25) Drivers License Number
DRIVERS_LICENSE_POINTS NUMBER(8) Drivers License Points
DRIVER_TRAINING_DATE DATE Driver Training Date
DRIVER_TRAINING_FLG NUMBER(1) Driver Training Flag
DRIVER_TYPE_CD VARCHAR2(5) Driver Type Code
EDUCATION_LEVEL_PC_CD VARCHAR2(5) Education Level PC Code
FILING_FLG NUMBER(1) Filing Flag
FILING_JURISDICTION_CD VARCHAR2(5) Filing Jurisdiction Code
FILING_ORIGINAL_DATE DATE Filing Original Date
FILING_REASON_CD VARCHAR2(5) Filing Reason Code
FILING_STATUS_CD VARCHAR2(5) Filing Status Code
FIRST_DATE_LICENSED DATE First Date Licensed
GOOD_DRIVER_FLG NUMBER(1) Good Driver Flag
GOOD_STUDENT_DATE DATE Good Student Date
GOOD_STUDENT_EXPIRATION_DATE DATE Good Student Expiration Date
GOOD_STUDENT_FLG NUMBER(1) Good Student Flag
INCIDENT_DATE DATE Incident Date
LIC_CLASS_CD VARCHAR2(5) License Class Code
LIC_STATE_CD VARCHAR2(5) License State Code
LIC_RESTRICTION_CD VARCHAR2(5) License Restriction Code
LIC_SUSPENSED_REVOKED_FLG NUMBER(1) License Suspended Revoked Flag
LIC_ORIGINAL_DATE DATE License Original Date
LOSSES_ACCIDENTS_CONVICT_FLG NUMBER(1) Losses Accidents Convict Flag
LOSSES_FLG NUMBER(1) Losses Flag
MARITAL_STATUS_PC_CD VARCHAR2(5) Marital Status PC Code
MATURE_DRIVER_DATE DATE Mature Driver Date
MATURE_DRIVER_EXPIRATION_DATE DATE Mature Driver Expiration Date
MATURE_DRIVER_FLG NUMBER(1) Mature Driver Flag
MC_ASSOCIATION_CD VARCHAR2(15) Motorcycle Association Code
MC_EXPERIENCE_TERM NUMBER(5) Motorcycle Experience Term

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-27


Property Casualty Insurance

MC_EXPERIENCE_MULT CHAR(1) Motorcycle Experience Multiplier


MC_SAFETY_COURSE_FLG NUMBER(1) Motorcycle Safety Course Flag
MVR_TYPE_CD VARCHAR2(5) Motor Vehicle Report Type Code
NUM_MILES_ONE_WAY_TO_SCHOOL NUMBER(3) Number of Miles One Way to School
NUM_MILES_ONE_WAY_TO_WORK NUMBER(3) Number of Miles One Way to Work
NUM_YEARS_DRIVING NUMBER(2) Number of Years Driving
OCCUPATION_CD VARCHAR2(5) Occupation Code
OWNED_VEHICLE_FLG NUMBER(1) Owned Vehicle Flag
PERCENT_OF_USE NUMBER(3) Percent of Use
POLICY_LAPSE_FLG NUMBER(1) Policy Lapse Flag
RATE_CLASS_CD VARCHAR2(5) Rate Class Code
RELATION_TO_VEH_OWNER_CD VARCHAR2(5) Relation to Vehicle Owner Code
RESIDE_WITH_PARENTS_FLG NUMBER(1) Reside With Parents Flag
RESIDENCE_TYPE_CD VARCHAR2(15) Residence Type Code
RESTRICTED_AUTO_USE_FLG NUMBER(1) Restricted Auto Use Flag
SUSPENSION_REVOCATION_DATE DATE Suspension Revocation Date
SUSP_REVOC_REASON_CD VARCHAR2(5) Susp Revoc Reason Code
TT_ASSOCIATION_CD VARCHAR2(15) Travel Trailer Association Code
TT_EXPERIENCE_TERM NUMBER(5) Travel Trailer Experience Term
TT_EXPERIENCE_MULT CHAR(1) Travel Trailer Experience Multiplier
TT_SAFETY_COURSE_FLG NUMBER(1) Travel Trailer Safety Course Flag
WC_ASSOC_CD VARCHAR2(15) WC Association Code
WC_EXPERIENCE_TERM NUMBER(5) WC Experience Term
WC_EXPERIENCE_MULT CHAR(1) WC Experience Multiplier
WC_SAFETY_COURSE_FLG NUMBER(1) WC Safety Course Flag

Table: VEHICLE_OWNERS
Column Name Data Type Display Name
CUS_KEY VARCHAR2(30) Customer Key
VEHICLE_ID_NUM VARCHAR2(25) Vehicle ID Number
AS_OF_DATE DATE As of Date

Table: VEH_OPERATOR_ACCIDENT_HIST
Column Name Data Type Display Name
OPERATOR_NUMBER NUMBER(10) Operator Number
ACCIDENT_NUMBER NUMBER(10) Accident Number
ACCIDENT_VIOLATION_DATE DATE Accident Violation Date
AGE_OF_ACCIDENT NUMBER(8) Age of Accident
ACCIDENT_VIOLATION_CD VARCHAR2(5) Accident Violation Code
ACCIDENT_RECORD_TYPE_CD VARCHAR2(5) Accident Record Type Code
BODILY_INJURY_INVOLVED_FLG NUMBER(1) Bodily Injury Involved Flag

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-28 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

CONVICTION_DATE DATE Conviction Date


DRIVER_AT_FAULT_FLG NUMBER(1) Driver at Fault Flag
FATALITY_INVOLVED_FLG NUMBER(1) Fatality Involved Flag
NUM_SURCHARGE_POINTS NUMBER(8) Number of Surcharge Points
RECORD_COUNT NUMBER(6) Record Count
TOTAL_DAMAGE_AMT NUMBER(14,2) Total Damage Amount

Table: VEH_OPERATOR_CITATION_HIST
Column Name Data Type Display Name
OPERATOR_NUMBER NUMBER(10) Operator Number
CITATION_NUMBER NUMBER(10) Citation Number
CITATION_DATE DATE Citation Date
AGE_OF_CITATION NUMBER(8) Age of Citation
CITATION_VIOLATION_CD VARCHAR2(5) Citation Violation Code
CONVICTION_DATE DATE Conviction Date
NUM_SURCHARGE_POINTS NUMBER(8) Number of Surcharge Points
RECORD_COUNT NUMBER(6) Record Count

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-29


Property Casualty Insurance

Floater and Umbrella Policies


CUST
# CUS_NO

owns

relates policy to customers

PL_FLOATER_POLICIES OFSA_INSTRUMENT_ACCOUNT_CUST
# IDENTITY_CODE
may be owned by * IDENTITY_CODE
* ID_NUMBER
# ID_NUMBER
* INSTRUMENT_TYPE_CD
* ORG_UNIT_ID relates customer to policies * CUS_KEY
* COMMON_COA_ID
* GL_ACCOUNT_ID
* COVERAGE_ID
* AS_OF_DATE relates customer to policies
* ISO_CURRENCY_CD
* POLICY_NUMBER
* EFFECTIVE_DATE
* INCEPTION_DATE
may be owned by

insures premium may be decreased by UMBRELLA_POLICIES


# IDENTITY_CODE
# ID_NUMBER
* ORG_UNIT_ID
* COMMON_COA_ID
decreases premium for * GL_ACCOUNT_ID
* COVERAGE_ID
* AS_OF_DATE
* ISO_CURRENCY_CD
PL_FLOATER_DISCOUNTS * POLICY_NUMBER
# IDENTITY_CODE * EFFECTIVE_DATE
# ID_NUMBER * INCEPTION_DATE
# FLOATER_DISCOUNT_CD
* AS_OF_DATE

may have insures beyond


is insured by

PL_FLOATER_ARTICLES
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID is submitted against
* ORG_UNIT_ID
* COMMON_COA_ID
* GL_ACCOUNT_ID
* AS_OF_DATE
UMBRELLA_CLAIMS
* ISO_CURRENCY_CD # IDENTITY_CODE
* POLICY_NUMBER # ID_NUMBER
* EFFECTIVE_DATE # CLAIM_NUMBER
* INCEPTION_DATE # CLAIM_OCCURRENCE_NUMBER
* AS_OF_DATE

may have

is a prerequisite for

UMBRELLA_UNDERLYING_POLICIES
is submitted for # IDENTITY_CODE
# ID_NUMBER
# UNDERLYING_POLICY_NUMBER
* UNDERLYING_POLICY_TYPE_CD
PL_FLOATER_CLAIMS * AS_OF_DATE
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
# CLAIM_NUMBER
* AS_OF_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-30 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Table: PL_FLOATER_ARTICLES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
EFFECTIVE_DATE DATE Effective Date
INCEPTION_DATE DATE Inception Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End
ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss
AMT_OF_INSURANCE NUMBER(14,2) Amount of Insurance
CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date
CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
COMMISSIONS NUMBER(14,2) Commissions
DEDUCTIBLE_CD NUMBER(5) Deductible Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INSTALLMENT_NUMBER NUMBER(8) Installment Number
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-31


Property Casualty Insurance

LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk


LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROPERTY_CLASS_CD VARCHAR2(10) Property Class Code
POLICIES_IN_FORCE NUMBER(1) Policies In Force
RECORD_COUNT NUMBER(6) Record Count
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SCHEDULED_TYPE_CD VARCHAR2(5) Scheduled Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense
VALUATION_TYPE_CD VARCHAR2(5) Valuation Type Code
VALUE NUMBER(14,2) Value

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-32 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Table: PL_FLOATER_CLAIMS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
CLAIM_NUMBER VARCHAR2(25) Claim Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
ADDITIONAL_CLAIM_FLG NUMBER(1) Additional Claim Flag
ADJUSTER_ASSIGNED_CD VARCHAR2(5) Adjuster Assigned Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_CASE_INCURRED_LOSS NUMBER(14,2) ALAE Case Incurred Loss
ALAE_PAID_DATE DATE ALAE Paid Date
ATTORNEY_OR_AUTH_REP_CD VARCHAR2(5) Attorney or Auth Rep Code
CATASTROPHE_CD VARCHAR2(5) Catastrophe Code
CATASTROPHE_CD_SOURCE_CD VARCHAR2(5) Catastrophe Code Source Code
CATASTROPHE_FLG NUMBER(1) Catastrophe Flag
CATASTROPHE_LOSS_FLG NUMBER(1) Catastrophe Loss Flag
CAUSE_OF_LOSS_CD VARCHAR2(10) Cause of Loss Code
CLAIM_ACTIVITY_CD VARCHAR2(5) Claim Activity Code
CLAIM_PAY_ACTIVITY_CD VARCHAR2(10) Claim Pay Activity Code
CLAIM_PAY_TYPE_CD VARCHAR2(10) Claim Pay Type Code
COUNT_PAID NUMBER(8) Count Paid
COUNT_REPORTED NUMBER(8) Count Reported
DAMAGE_DESCRIPTION_CD VARCHAR2(15) Damage Description Code
DATE_ADJUSTER_ASSIGNED DATE Date Adjuster Assigned
DATE_CLAIM_NOTICE_RECEIVED DATE Date Claim Notice Received
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_INCURRED NUMBER(14,2) Loss Case Incurred
LOSS_DATE DATE Loss Date
LOSS_PAID_DATE DATE Loss Paid Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-33


Property Casualty Insurance

OTHER_INSURANCE_FLG NUMBER(1) Other Insurance Flag


RECORD_COUNT NUMBER(6) Record Count
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
CLAIM_SETTLEMENT_TYPE_CD VARCHAR2(5) Claim Settlement Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TOTAL_LOSS_FLG NUMBER(1) Total Loss Flag

Table: PL_FLOATER_DISCOUNTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
FLOATER_DISCOUNT_CD NUMBER(5) Floater Discount Code
AS_OF_DATE DATE As of Date
RECORD_COUNT NUMBER(6) Record Count

Table: PL_FLOATER_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
EFFECTIVE_DATE DATE Effective Date
INCEPTION_DATE DATE Inception Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACTIVITY_CD VARCHAR2(5) Activity Code
AGENT_CD VARCHAR2(5) Agent Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-34 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End


ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss
BILL_FREQ NUMBER(5) Bill Frequency
BILLED_DATE DATE Billed Date
BILLING_ACCT_NUMBER NUMBER(25) Billing Account Number
BILLING_METHOD_CD VARCHAR2(5) Billing Method Code
CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date
CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
CARRIER_CD VARCHAR2(5) Carrier Code
COMMISSIONS NUMBER(14,2) Commissions
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
FLOATER_TYPE_CD VARCHAR2(5) Floater Type Code
GENERAL_EXPENSE NUMBER(14,2) General Expense
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INSTALLMENT_NUMBER NUMBER(8) Installment Number
LOB_CD VARCHAR2(10) LOB Code
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
METHOD_OF_PAYMENT_CD VARCHAR2(10) Method of Payment Code
NAIC_CD VARCHAR2(5) NAIC Code
OCCUPANCY_TYPE_CD VARCHAR2(10) Occupancy Type Code
OPT_OUT_FLG NUMBER(1) Opt Out Flag
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_PLAN_CD VARCHAR2(5) Payment Plan Code
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-35


Property Casualty Insurance

PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct


PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
POLICIES_IN_FORCE NUMBER(1) Policies In Force
POLICY_STATUS_PC_CD VARCHAR2(5) Policy Status PC Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE VARCHAR2(11) Postal Code
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
RENEWAL_CHANNEL_CD VARCHAR2(5) Renewal Channel Code
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
STATE_CD VARCHAR2(5) State Code
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TENURE NUMBER(3) Tenure
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-36 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Table: UMBRELLA_CLAIMS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
CLAIM_NUMBER VARCHAR2(25) Claim Number
CLAIM_OCCURRENCE_NUMBER NUMBER(10) Claim Occurrence Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
ADDITIONAL_CLAIM_FLG NUMBER(1) Additional Claim Flag
ADJUSTER_ASSIGNED_CD VARCHAR2(5) Adjuster Assigned Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_CASE_INCURRED_LOSS NUMBER(14,2) ALAE Case Incurred Loss
ALAE_PAID_DATE DATE ALAE Paid Date
ATTORNEY_OR_AUTH_REP_CD VARCHAR2(5) Attorney or Auth Rep Code
CATASTROPHE_CD VARCHAR2(5) Catastrophe Code
CATASTROPHE_CD_SOURCE_CD VARCHAR2(5) Catastrophe Code Source Code
CATASTROPHE_FLG NUMBER(1) Catastrophe Flag
CATASTROPHE_LOSS_FLG NUMBER(1) Catastrophe Loss Flag
CAUSE_OF_LOSS_CD VARCHAR2(10) Cause of Loss Code
CLAIM_ACTIVITY_CD VARCHAR2(5) Claim Activity Code
CLAIM_CLASS_CD VARCHAR2(5) Claim Class Code
CLAIM_PAY_ACTIVITY_CD VARCHAR2(10) Claim Pay Activity Code
CLAIM_PAY_TYPE_CD VARCHAR2(10) Claim Pay Type Code
CLAIMANT_RELATIONSHIP_CD VARCHAR2(5) Claimant Relationship Code
COUNT_PAID NUMBER(8) Count Paid
COUNT_REPORTED NUMBER(8) Count Reported
DATE_ADJUSTER_ASSIGNED DATE Date Adjuster Assigned
DATE_CLAIM_NOTICE_RECEIVED DATE Date Claim Notice Received
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_INCURRED NUMBER(14,2) Loss Case Incurred
LOSS_DATE DATE Loss Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-37


Property Casualty Insurance

LOSS_PAID_DATE DATE Loss Paid Date


OTHER_INSURANCE_FLG NUMBER(1) Other Insurance Flag
NUM_CLAIMANTS NUMBER(8) Number of Claimants
RECORD_COUNT NUMBER(6) Record Count
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverables
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
CLAIM_SETTLEMENT_TYPE_CD VARCHAR2(5) Claim Settlement Type Code
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
TOTAL_LOSS_FLG NUMBER(1) Total Loss Flag

Table: UMBRELLA_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
EFFECTIVE_DATE DATE Effective Date
INCEPTION_DATE DATE Inception Date
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACTIVITY_CD VARCHAR2(5) Activity Code
AGENT_CD VARCHAR2(5) Agent Code
ALAE_AMT_PAID NUMBER(14,2) ALAE Amount Paid
ALAE_CASE_RESERVE_BEG NUMBER(14,2) ALAE Case Reserve Beg
ALAE_CASE_RESERVE_END NUMBER(14,2) ALAE Case Reserve End
ALAE_CASE_RESERVE_BEG_BULK NUMBER(14,2) ALAE Case Reserve Beg Bulk
ALAE_CASE_RESERVE_END_BULK NUMBER(14,2) ALAE Case Reserve End Bulk
ALAE_IBNR_BEG NUMBER(14,2) ALAE IBNR Beg
ALAE_IBNR_END NUMBER(14,2) ALAE IBNR End
ALAE_INCURRED_LOSS NUMBER(14,2) ALAE Incurred Loss
BILL_FREQ NUMBER(5) Bill Frequency
BILLED_DATE DATE Billed Date
BILLING_ACCT_NUMBER NUMBER(25) Billing Account Number
BILLING_METHOD_CD VARCHAR2(5) Billing Method Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-38 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

CANCEL_EFFECTIVE_DATE DATE Cancel Effective Date


CANCEL_TYPE_CD VARCHAR2(5) Cancel Type Code
CARRIER_CD VARCHAR2(5) Carrier Code
COMMISSIONS NUMBER(14,2) Commissions
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DEFENSE_COSTS_CD VARCHAR2(5) Defense Costs Code
DEFENSE_COSTS_FLG NUMBER(1) Defense Costs Flag
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DIVIDENDS NUMBER(14,2) Dividends
EXPECTED_LOSS_AMT NUMBER(14,2) Expected Loss Amount
EXPECTED_LOSS_RATIO NUMBER(8,4) Expected Loss Ratio
EXPIRATION_DATE DATE Expiration Date
EXPOSURES_EARNED NUMBER(8,4) Exposures Earned
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
GENERAL_EXPENSE NUMBER(14,2) General Expense
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INSTALLMENT_NUMBER NUMBER(8) Installment Number
LIMIT_CD VARCHAR2(5) Limit Code
LOB_CD VARCHAR2(10) LOB Code
LOSS_AMT_PAID NUMBER(14,2) Loss Amount Paid
LOSS_CASE_RESERVE_END NUMBER(14,2) Loss Case Reserve End
LOSS_CASE_RESERVE_BEG NUMBER(14,2) Loss Case Reserve Beg
LOSS_CASE_RESERVE_END_BULK NUMBER(14,2) Loss Case Reserve End Bulk
LOSS_CASE_RESERVE_BEG_BULK NUMBER(14,2) Loss Case Reserve Beg Bulk
LOSS_IBNR_BEG NUMBER(14,2) Loss IBNR Beg
LOSS_IBNR_END NUMBER(14,2) Loss IBNR End
LOSS_INCURRED NUMBER(14,2) Loss Incurred
METHOD_OF_PAYMENT_CD VARCHAR2(10) Method of Payment Code
NAIC_CD VARCHAR2(5) NAIC Code
NUM_AUTO_POLICIES NUMBER(8) Number of Auto Policies
NUM_BUSINESS_POLICIES NUMBER(8) Number of Business Policies
NUM_HOME_POLICIES NUMBER(8) Number of Home Policies
OCCUPANCY_TYPE_CD VARCHAR2(10) Occupancy Type Code
OPT_OUT_FLG NUMBER(1) Opt Out Flag
OTHER_ACQUISITION_COSTS NUMBER(14,2) Other Acquisition Costs
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_PLAN_CD VARCHAR2(5) Payment Plan Code
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-39


Property Casualty Insurance

PREM_EARNED_NET NUMBER(14,2) Premium Earned Net


PREM_FULL_TERM NUMBER(14,2) Premium Full Term
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pro Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pro Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pro Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pro Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pro Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pro Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_CHANGE_AMT NUMBER(14,2) Premium Written Change Amount
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
POLICIES_IN_FORCE NUMBER(1) Policies In Force
POLICY_STATUS_PC_CD VARCHAR2(5) Policy Status PC Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE VARCHAR2(11) Postal Code
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_PREMIUMS NUMBER(14,2) Reinsurance Premiums
REINSURANCE_RECOVERABLES NUMBER(14,2) Reinsurance Recoverable
RENEWAL_CHANNEL_CD VARCHAR2(5) Renewal Channel Code
SALVAGE_ANTICIPATED NUMBER(14,2) Salvage Anticipated
SALVAGE_RECOV_RECEIVED NUMBER(14,2) Salvage Recoverables Received
SELF_INSURED_RETENTION NUMBER(14,2) Self Insured Retention
SUBROGATION_ANTICIPATED NUMBER(14,2) Subrogation Anticipated
SUBROGATION_RECEIVED NUMBER(14,2) Subrogation Received
STATE_CD VARCHAR2(5) State Code
TAXES_LICENSE_FEES NUMBER(14,2) Taxes License Fees
TENURE NUMBER(3) Tenure
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
TERRITORY_CD VARCHAR2(5) Territory Code
UNALLOC_LOSS_ADJ_EXP NUMBER(14,2) Unallocated Loss Adj Expense

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-40 Oracle Financial Services Technical Reference Manual


Property Casualty Insurance

Table: UMBRELLA_UNDERLYING_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ULYING_POLICY_NUMBER VARCHAR2(25) Underlying Policy Number
ULYING_POLICY_TYPE_CD VARCHAR2(5) Underlying Policy Type Code
AS_OF_DATE DATE As of Date
ULYING_AGENT_CD VARCHAR2(5) Underlying Agent Code
ULYING_BI_PERSON_LIM_CD VARCHAR2(5) UL Bod Inj Person Limit Code
ULYING_BI_ACC_LIMIT_CD VARCHAR2(5) UL Bod Inj Accident Limit Code
ULYING_CARRIER_CD VARCHAR2(5) Underlying Carrier Code
ULYING_LIABILITY_LIM_CD VARCHAR2(5) Underlying Liability Limit Code
ULYING_MEDICAL_LIMIT_CD VARCHAR2(5) Underlying Medical Limit Code
ULYING_OTHER_LIMIT_CD VARCHAR2(5) Underlying Other Limit Code
ULYING_UM_PERSON_LIM_CD VARCHAR2(5) UL UM Person Limit Code
ULYING_UM_ACC_LIMIT_CD VARCHAR2(5) UL UM Accident Limit Code
ULYING_UIM_PERSON_LIM_CD VARCHAR2(5) UL UIM Person Limit Code
ULYING_UIM_ACC_LIMIT_CD VARCHAR2(5) UL UIM Accident Limit Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-41


Life Insurance

Life Insurance

Term Life Policies


OFSA_INSTRUMENT_ACCOUNT_CUST
* IDENTITY_CODE
* ID_NUMBER relates policy to customers CUST
* INSTRUMENT_TYPE_CD # CUS_NO
* CUS_KEY
may own

relates customer to term policies

TERM_LIFE_POLICIES
# IDENTITY_CODE may consist of
# ID_NUMBER
* ORG_UNIT_ID
*
*
COMMON_COA_ID
GL_ACCOUNT_ID
is a component of
* COVERAGE_ID
may be owned by * AS_OF_DATE
* ISO_CURRENCY_CD TERM_LIFE_COVERAGES
* POLICY_NUMBER # IDENTITY_CODE
* GROUP_PLAN_NUM # ID_NUMBER
* PRIMARY_PARTICIPANT_NUMBER # COVERAGE_ID
may summarize to * ORG_UNIT_ID
* COMMON_COA_ID
* GL_ACCOUNT_ID
* AS_OF_DATE
insures
group summary of * ISO_CURRENCY_CD
* POLICY_NUMBER
may be modified by * PRIMARY_PARTICIPANT_NUMBER

GROUP_TERM_LIFE_POLICIES
# IDENTITY_CODE
# ID_NUMBER may be modified by
* ORG_UNIT_ID
* COMMON_COA_ID
* GL_ACCOUNT_ID
* COVERAGE_ID
* AS_OF_DATE
* ISO_CURRENCY_CD is a condition of

TERM_LIFE_COVERAGE_OPTIONS
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
relates life participants to term policies # OPTION_ID
* ORG_UNIT_ID
* COMMON_COA_ID
* GL_ACCOUNT_ID
LIFE_PARTICIPANTS_POLICIES * AS_OF_DATE
# IDENTITY_CODE * ISO_CURRENCY_CD
# ID_NUMBER * POLICY_NUMBER
# PARTICIPANT_NUMBER
# AS_OF_DATE
# INSTRUMENT_TYPE_CD
may summarize to

relates policy to life participants summarized option for


is summary of

TERM_LIFE_OPTIONS_SUMMARY
# IDENTITY_CODE
is insured by # ID_NUMBER
# OPTION_ID
* ORG_UNIT_ID
* COMMON_COA_ID
LIFE_PARTICIPANTS * GL_ACCOUNT_ID
# PARTICIPANT_NUMBER
* COVERAGE_ID
# AS_OF_DATE
* AS_OF_DATE
* ISO_CURRENCY_CD
* POLICY_NUMBER

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-42 Oracle Financial Services Technical Reference Manual


Life Insurance

Table: GROUP_TERM_LIFE_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
GROUP_PLAN_NUMBER VARCHAR2(25) Group Plan Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
AGENT_CD VARCHAR2(5) Agent Code
ANNUAL_STATEMENT_CAT_CD VARCHAR2(5) Annual Statement Category Code
CANCELLATION_DATE DATE Cancellation Date
CARRIER_CD VARCHAR2(5) Carrier Code
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred
COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid
COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_PLAN NUMBER(8) Count In Force Plan
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
EFFECTIVE_DATE DATE Effective Date
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_POLICY_PREMIUM NUMBER(14,2) Full Policy Premium

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-43


Life Insurance

FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized


GENERAL_EXP NUMBER(14,2) General Expense
HOLDFORM_CD NUMBER(5) Holdform Code
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
ISSUE_DATE DATE Issue Date
LINE_OF_BUSINESS_CD NUMBER(5) Line of Business Code
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_EXAM_CD VARCHAR2(5) Medical Exam Code
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
PER_POLICY_RESERVE_BEG_SUM NUMBER(14,2) Per Policy Reserve Beg Sum
PER_POLICY_RESERVE_END_SUM NUMBER(14,2) Per Policy Reserve End Sum
PLAN_CD VARCHAR2(5) Plan Code
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-44 Oracle Financial Services Technical Reference Manual


Life Insurance

PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded


PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_FLG NUMBER(1) Reinsurance Flag
REINSURANCE_PREMIUM NUMBER(14,2) Reinsurance Premium
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code

Table: TERM_LIFE_COVERAGES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
PRIMARY_PARTICIPANT_NUMBER NUMBER(10) Primary Participant Number
SECONDARY_PARTICIPANT_NUMBER NUMBER(10) Secondary Participant Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ALLOCATION_PREM_ITC NUMBER(14,2) Allocation Premium ITD
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
BENEFIT_PERIOD_CD NUMBER(5) Benefit Period Code
CANCELLATION_DATE DATE Cancellation Date
CEASE_AGE NUMBER(3) Cease Age
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
CONVERSION_BASIS_CD VARCHAR2(5) Conversion Basis Code
CONVERSION_CREDIT NUMBER(14,2) Conversion Credit
CONVERSION_DATE DATE Conversion Date
CONVERSION_PRIVILEGE_FLG NUMBER(1) Conversion Privilege Flag
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-45


Life Insurance

COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid


COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COVERAGE_STATUS_CD NUMBER(5) Coverage Status Code
COVERAGE_ISSUE_CD NUMBER(5) Coverage Issue Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFIT_OPTION_CD NUMBER(5) Death Benefit Option Code
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DURATION_DESIGN NUMBER(5) Duration Design
EFFECTIVE_DATE DATE Effective Date
ELIMINATION_PERIOD NUMBER(5) Elimination Period
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EQUIVALENT_AGE NUMBER(3) Equivalent Age
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_COVERAGE_PREMIUM NUMBER(14,2) Full Coverage Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense
GROSS_RATE NUMBER(14,2) Gross Rate
INIT_COVERAGE_AMT NUMBER(14,2) Initial Coverage Amount
ISSUE_AGE NUMBER(3) Issue Age
ISSUE_DATE DATE Issue Date
LIVES_TYPE_CD NUMBER(5) Lives Type Code
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
MORTALITY_CHARGE NUMBER(14,2) Mortality Charge
NET_AMT_OF_RISK NUMBER(14,2) Net Amount of Risk
NET_RATE NUMBER(14,2) Net Rate
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-46 Oracle Financial Services Technical Reference Manual


Life Insurance

PAYMENT_MODE_CD NUMBER(5) Payment Mode Code


PAYMENT_STRUCTURE_CD NUMBER(5) Payment Structure Code
PER_POLICY_RESERVE_BEG NUMBER(14,2) Per Policy Reserve Beg
PER_POLICY_RESERVE_END NUMBER(14,2) Per Policy Reserve End
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
PERM_FLAT_EXTRA_AMT NUMBER(14,2) Permanent Flat Extra Amount
PERM_PERCENTAGE_LOADING NUMBER(8,4) Permanent Percentage Loading
PERM_TABLE_RATING_CD NUMBER(5) Permanent Table Rating Code
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_FREEZE_DATE DATE Premium Freeze Date
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_SOURCE_TYPE_CD NUMBER(5) Premium Source Type Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-47


Life Insurance

PREMIUMS_PAID_UP_TO_AGE NUMBER(3) Premiums Paid Up to Age


PREMIUMS_PAID_UP_TO_YEARS NUMBER(3) Premiums Paid Up to Years
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
REENTRY_POLICY_TYPE_CD VARCHAR2(5) Reentry Policy Type Code
REINSTATEMENT_DATE DATE Reinstatement Date
RENEWABLE_FLG NUMBER(1) Renewable Flag
RENEWABLE_PERIOD NUMBER(5) Renewable Period
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TEMP_FLAT_END_DATE DATE Temp Flat End Date
TEMP_FLAT_EXTRA_AMT NUMBER(14,2) Temp Flat Extra Amount
TEMP_PERCENTAGE_LOADING NUMBER(8,4) Temp Percentage Loading
TEMP_TABLE_RATING_CD NUMBER(5) Temp Table Rating Code
TEMP_TABLE_RATING_END_DATE DATE Temp Table Rating End Date
TERMINATION_DATE DATE Termination Date

Table: TERM_LIFE_COVERAGE_OPTIONS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
OPTION_ID NUMBER(14) Option ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
BENEFIT_PERIOD_CD NUMBER(5) Benefit Period Code
CANCELLATION_DATE DATE Cancellation Date
CEASE_AGE NUMBER(3) Cease Age
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COVERAGE_ISSUE_CD NUMBER(5) Coverage Issue Code
CVRG_OPTION_STATUS_CD NUMBER(5) Coverage Option Status Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFIT_OPTION_CD NUMBER(5) Death Benefit Option Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-48 Oracle Financial Services Technical Reference Manual


Life Insurance

DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid


DURATION_DESIGN NUMBER(5) Duration Design
EFFECTIVE_DATE DATE Effective Date
ELIMINATION_PERIOD NUMBER(5) Elimination Period
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EQUIVALENT_AGE NUMBER(3) Equivalent Age
EXERCISE_DATE DATE Exercise Date
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_OPTION_PREMIUM NUMBER(14,2) Full Option Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense
GROSS_RATE NUMBER(14,2) Gross Rate
ISSUE_AGE NUMBER(3) Issue Age
ISSUE_DATE DATE Issue Date
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NET_RATE NUMBER(14,2) Net Rate
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
OPTION_AMT NUMBER(14,2) Option Amount
OPTION_TERM NUMBER(5) Option Term
OPTION_TERM_MULT CHAR(1) Option Term Multiplier
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code
PAYMENT_MODE_CD NUMBER(5) Payment Mode Code
PERM_FLAT_EXTRA_AMT NUMBER(14,2) Permanent Flat Extra Amount
PERM_PERCENTAGE_LOADING NUMBER(8,4) Permanent Percentage Loading
PERM_TABLE_RATING_CD NUMBER(5) Permanent Table Rating Code
PREM_ANNUAL_AMT NUMBER(14,2) Premium Annual Amount
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-49


Life Insurance

PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month


PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_FREEZE_DATE DATE Premium Freeze Date
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_SOURCE_TYPE_CD NUMBER(5) Premium Source Type Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
REINSTATEMENT_DATE DATE Reinstatement Date
RENEWABLE_FLG NUMBER(1) Renewable Flag
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TEMP_FLAT_END_DATE DATE Temp Flat End Date
TEMP_FLAT_EXTRA_AMT NUMBER(14,2) Temp Flat Extra Amount
TEMP_PERCENTAGE_LOADING NUMBER(8,4) Temp Percentage Loading
TEMP_TABLE_RATING_CD NUMBER(5) Temp Table Rating Code
TEMP_TABLE_RATING_END_DATE DATE Temp Table Rating End Date
TERMINATION_DATE DATE Termination Date
UNDERWRITING_CLASS_CD NUMBER(5) Underwriting Class Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-50 Oracle Financial Services Technical Reference Manual


Life Insurance

Table: TERM_LIFE_OPTIONS_SUMMARY
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
OPTION_ID NUMBER(14) Option ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
FULL_OPTION_PREMIUM NUMBER(14,2) Full Option Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
OPTION_AMT NUMBER(14,2) Option Amount
PREM_ANNUAL_AMT NUMBER(14,2) Premium Annual Amount
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-51


Life Insurance

PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD


PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TERMINATION_DATE DATE Termination Date

Table: TERM_LIFE_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
GROUP_PLAN_NUM NUMBER(25) Group Plan Number
PRIMARY_PARTICIPANT_NUMBER NUMBER(10) Primary Participant Number
SECONDARY_PARTICIPANT_NUMBER NUMBER(10) Secondary Participant Number
GROUP_PLAN_NUMBER VARCHAR2(25) Group Plan Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
AGENT_CD VARCHAR2(5) Agent Code
ANNUAL_STATEMENT_CAT_CD VARCHAR2(5) Annual Statement Category Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-52 Oracle Financial Services Technical Reference Manual


Life Insurance

BENEFIT_PAYMENT_CD VARCHAR2(5) Benefit Payment Code


BRANCH_CODE VARCHAR2(10) Branch Code
CANCELLATION_DATE DATE Cancellation Date
CARRIER_CD VARCHAR2(5) Carrier Code
CAUSE_OF_DEATH_CD VARCHAR2(5) Cause of Death Code
CLAIM_STATUS_CD NUMBER(5) Claim Status Code
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
CONVERSION_BASIS_CD VARCHAR2(5) Conversion Basis Code
CONVERSION_CREDIT NUMBER(14,2) Conversion Credit
CONVERSION_DATE DATE Conversion Date
CONVERSION_PRIVILEGE_FLG NUMBER(1) Conversion Privilege Flag
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred
COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid
COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DEATH_DATE DATE Death Date
DEATH_REPORT_DATE DATE Death Report Date
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DURATION_DESIGN NUMBER(5) Duration Design
EFFECTIVE_DATE DATE Effective Date
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
ESTIMATED_MORTALITY_DATE DATE Estimated Mortality Date
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FACE_AMT NUMBER(14,2) Face Amount
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_POLICY_PREMIUM NUMBER(14,2) Full Policy Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-53


Life Insurance

GROSS_RATE NUMBER(14,2) Gross Rate


GROUP_PLAN_FLG NUMBER(1) Group Plan Flag
GUARANTEE_ISSUE_FLG NUMBER(1) Guarantee Issue Flag
GUARANTEE_PERIOD_AGE NUMBER(3) Guarantee Period Age
GUARANTEE_PERIOD_DATE DATE Guarantee Period Date
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
ISSUE_DATE DATE Issue Date
ISSUE_STATE_CD NUMBER(5) Issue State Code
ISSUE_NATION_CD NUMBER(5) Issue Nation Code
ISSUE_TYPE_CD NUMBER(5) Issue Type Code
LINE_OF_BUSINESS_CD NUMBER(5) Line of Business Code
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_EXAM_CD VARCHAR2(5) Medical Exam Code
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
MORTALITY_CHARGE NUMBER(14,2) Mortality Charge
NAIC_CD VARCHAR2(5) NAIC Code
NET_AMT_OF_RISK NUMBER(14,2) Net Amount of Risk
NET_RATE NUMBER(14,2) Net Rate
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
NUM_BENEFICIARIES NUMBER(3) Number Beneficiaries
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code
PAYMENT_MODE_CD NUMBER(5) Payment Mode Code
PER_POLICY_RESERVE_BEG NUMBER(14,2) Per Policy Reserve Beg
PER_POLICY_RESERVE_END NUMBER(14,2) Per Policy Reserve End
PLAN_CD VARCHAR2(5) Plan Code
POLICY_AGE NUMBER(8) Policy Age
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE_ISSUE VARCHAR2(11) Postal Code Issue
POSTAL_CODE_RESIDENCE VARCHAR2(11) Postal Code Residence
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-54 Oracle Financial Services Technical Reference Manual


Life Insurance

PREM_EARNED_NET NUMBER(14,2) Premium Earned Net


PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_OFFSET_METHOD_CD NUMBER(5) Premium Offset Method Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
REDETERMINATION_CAT_CD VARCHAR2(5) Redetermination Category Code
REDETERMINATION_LAST_DATE DATE Redetermination Last Date
REDETERMINATION_NEXT_DATE DATE Redetermination Next Date
REDETERMINATION_PERIOD NUMBER(5) Redetermination Period
REENTRY_POLICY_TYPE_CD VARCHAR2(5) Reentry Policy Type Code
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_FLG NUMBER(1) Reinsurance Flag
REINSURANCE_PREMIUM NUMBER(14,2) Reinsurance Premium
RENEWABLE_FLG NUMBER(1) Renewable Flag
RENEWABLE_PERIOD NUMBER(5) Renewable Period
RESIDENCE_STATE_CD NUMBER(5) Residence State Code
STATEMENT_BASIS_CD NUMBER(5) Statement Basis Code
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TERRITORY_CD VARCHAR2(5) Territory Code
TERMINATION_DATE DATE Termination Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-55


Life Insurance

TERMINATION_CD VARCHAR2(5) Termination Code


UNDERWRITING_CATEGORY_CD VARCHAR2(5) Underwriting Category Code

Whole/Universal Life Policies


CUST
# CUS_NO

WHOLE_UL_LIFE_POLICIES may own


# IDENTITY_CODE
# ID_NUMBER relates policy to customers
GROUP_WHOLE_UL_POLICIES * ORG_UNIT_ID
* COMMON_COA_ID
# IDENTITY_CODE * GL_ACCOUNT_ID
# ID_NUMBER
* ORG_UNIT_ID
* COVERAGE_ID OFSA_INSTRUMENT_ACCOUNT_CUST
* AS_OF_DATE * IDENTITY_CODE
* COMMON_COA_ID * ISO_CURRENCY_CD
* GL_ACCOUNT_ID * ID_NUMBER
* POLICY_NUMBER * INSTRUMENT_TYPE_CD
* COVERAGE_ID * GROUP_PLAN_NUM
* AS_OF_DATE may be owned by * CUS_KEY
* PRIMARY_PARTICIPANT_NUMBER
* ISO_CURRENCY_CD

relates customer to whole/UL policies

group summary of
may consist of WHOLE_UL_COVERAGES
may summarize to # IDENTITY_CODE
is a component of # ID_NUMBER
# COVERAGE_ID
may be modified by * ORG_UNIT_ID
insures * COMMON_COA_ID
* GL_ACCOUNT_ID
* AS_OF_DATE
* ISO_CURRENCY_CD
may have may have * POLICY_NUMBER
* PRIMARY_PARTICIPANT_NUMBER

belongs to may be modified by

WHOLE_UL_INVESTMENTS
# IDENTITY_CODE is a condition of
# ID_NUMBER
# INVESTMENT_ACCOUNT_NUMBER
* AS_OF_DATE
* POLICY_NUMBER
WHOLE_UL_COVERAGE_OPTIONS
# IDENTITY_CODE
# ID_NUMBER
# COVERAGE_ID
consists of # OPTION_ID
* ORG_UNIT_ID
belongs to * COMMON_COA_ID
* GL_ACCOUNT_ID
* AS_OF_DATE
WHOLE_UL_LOANS * ISO_CURRENCY_CD
# IDENTITY_CODE * POLICY_NUMBER
# ID_NUMBER
# LOAN_ACCOUNT_NUMBER
* AS_OF_DATE
* POLICY_NUMBER
may summarize to

summarized option for


is summary of
is a component of
WHOLE_UL_OPTIONS_SUMMARY
# IDENTITY_CODE
WHOLE_UL_INVEST_SUB_ACCOUNTS # ID_NUMBER
# IDENTITY_CODE # OPTION_ID
# ID_NUMBER * ORG_UNIT_ID
# INVESTMENT_ACCOUNT_NUMBER * COMMON_COA_ID
# INVESTMENT_SUBACCT_NUMBER * GL_ACCOUNT_ID
* AS_OF_DATE * COVERAGE_ID
* AS_OF_DATE
* ISO_CURRENCY_CD
* POLICY_NUMBER
relates life participants to whole/UL policies

LIFE_PARTICIPANTS_POLICIES
# IDENTITY_CODE
# ID_NUMBER
# PARTICIPANT_NUMBER relates policy to life participants LIFE_PARTICIPANTS
# AS_OF_DATE
# INSTRUMENT_TYPE_CD # PARTICIPANT_NUMBER
is insured by # AS_OF_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-56 Oracle Financial Services Technical Reference Manual


Life Insurance

Table: GROUP_WHOLE_UL_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
GROUP_PLAN_NUMBER VARCHAR2(25) Group Plan Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
AGENT_CD VARCHAR2(5) Agent Code
ANNUAL_STATEMENT_CAT_CD VARCHAR2(5) Annual Statement Category Code
BRANCH_CODE VARCHAR2(10) Branch Code
CANCELLATION_DATE DATE Cancellation Date
CARRIER_CD VARCHAR2(5) Carrier Code
CASH_SURRENDER_VALUE NUMBER(14,2) Cash Surrender Value
CASH_VALUE_AMT_BEG NUMBER(14,2) Cash Value Amount Beg
CASH_VALUE_AMT_END NUMBER(14,2) Cash Value Amount End
CASH_VALUE_INCR_AMT_ATD NUMBER(14,2) Cash Value Increase Amount ATD
CASH_VALUE_INCR_AMT_PRI_YEAR NUMBER(14,2) Cash Value Increase Amt Pri Year
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred
COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid
COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_FULL_SURRENDER NUMBER(8) Count Full Surrender
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_PLAN NUMBER(8) Count In Force Plan
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COUNT_PARTIAL_SURRENDER NUMBER(8) Count Partial Surrender
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_AMT_NET NUMBER(14,2) Death Benefit Amount Net
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DISTRIBUTION_CD VARCHAR2(5) Distribution Code
DIVIDEND_AMT_ATD NUMBER(14,2) Dividend Amount ATD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-57


Life Insurance

DIVIDEND_AMT_ITD NUMBER(14,2) Dividend Amount ITD


DIVIDEND_AMT_MONTH NUMBER(14,2) Dividend Amount Month
DIVIDEND_PAID_IN_CASH_ATD NUMBER(14,2) Dividend Paid In Cash ATD
DIVIDEND_PAID_IN_CASH_ITD NUMBER(14,2) Dividend Paid In Cash ITD
DIVIDEND_PAID_IN_CASH_MONTH NUMBER(14,2) Dividend Paid In Cash Month
EFFECTIVE_DATE DATE Effective Date
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_AMT_NET NUMBER(14,2) Endowment Benefit Amount Net
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EXCESS_PREM_AMT_ATD NUMBER(14,2) Excess Premium Amount ATD
EXCESS_PREM_AMT_ITD NUMBER(14,2) Excess Premium Amount ITD
EXCESS_PREM_AMT_MONTH NUMBER(14,2) Excess Premium Amount Month
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_POLICY_PREMIUM NUMBER(14,2) Full Policy Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
FUND_BAL_PER_POLICY_SUM_BEG NUMBER(14,2) Fund Bal per Policy Sum Beg
FUND_BAL_PER_POLICY_SUM_END NUMBER(14,2) Fund Bal per Policy Sum End
GENERAL_EXP NUMBER(14,2) General Expense
GDB_PREMS_SUM NUMBER(14,2) GDB Premiums Sum
GDM_LIM_PREM_SUM NUMBER(14,2) GDB Limit Premium Sum
HOLDFORM_CD NUMBER(5) Holdform Code
INSTALLMENT_FEE NUMBER(14,2) Installment Fee
INT_EARN_ACTUAL_EXCESS_ATD NUMBER(14,2) Int Earnings Actual Excess ATD
INT_EARN_ACTUAL_EXCESS_ITD NUMBER(14,2) Int Earnings Actual Excess ITD
INT_EARN_ACTUAL_EXCESS_MONTH NUMBER(14,2) Int Earnings Actual Excess Month
INT_EARN_BONUS_ATD NUMBER(14,2) Interest Earnings Bonus ATD
INT_EARN_BONUS_ITD NUMBER(14,2) Interest Earnings Bonus ITD
INT_EARN_BONUS_MONTH NUMBER(14,2) Interest Earnings Bonus Month
INT_EARN_CUR_ATD NUMBER(14,2) Interest Earnings Current ATD
INT_EARN_CUR_ITD NUMBER(14,2) Interest Earnings Current ITD
INT_EARN_CUR_MONTH NUMBER(14,2) Interest Earnings Cur Month
INT_EARN_MIN_ATD NUMBER(14,2) Interest Earnings Minimum ATD
INT_EARN_MIN_ITD NUMBER(14,2) Interest Earnings Minimum ITD
INT_EARN_MIN_MONTH NUMBER(14,2) Interest Earnings Minimum Month
ISSUE_DATE DATE Issue Date
LINE_OF_BUSINESS_CD NUMBER(5) Line of Business Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-58 Oracle Financial Services Technical Reference Manual


Life Insurance

LOAN_AMT_ATD NUMBER(14,2) Loan Amount ATD


LOAN_AMT_OUTSTANDING NUMBER(14,2) Loan Amount Outstanding
LOAN_BALANCE_FOR_IMPAIRED NUMBER(14,2) Loan Balance For Impaired
LOAN_INT_AMT_ATD NUMBER(14,2) Loan Interest Amount ATD
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_EXAM_CD VARCHAR2(5) Medical Exam Code
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NET_ADDITION_TO_FUND NUMBER(14,2) Net Addition to Fund
NET_SURR_VALUE_AMT NUMBER(14,2) Net Surrender Value Amount
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
PARTIAL_SURRENDER_VALUE_PAID NUMBER(14,2) Partial Surrender Value Paid
PER_POLICY_RESERVE_BEG_SUM NUMBER(14,2) Per Policy Reserve Beg Sum
PER_POLICY_RESERVE_END_SUM NUMBER(14,2) Per Policy Reserve End Sum
PLAN_AGE NUMBER(8) Plan Age
PLAN_CD VARCHAR2(5) Plan Code
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-59


Life Insurance

PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded


PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_FLG NUMBER(1) Reinsurance Flag
REINSURANCE_PREMIUM NUMBER(14,2) Reinsurance Premium
SURRENDER_BENEFITS_PAID NUMBER(14,2) Surrender Benefits Paid
SURRENDER_BENEFITS_PAID_DATE NUMBER(14,2) Surrender Benefits Paid Date
SURRENDER_CHARGE_AMT NUMBER(14,2) Surrender Charge Amount
SURRENDER_TARGET_PREM NUMBER(14,2) Surrender Target Premium
TARGET_PREM_AMT NUMBER(14,2) Target Premium Amount
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
UNDERWRITING_CATEGORY_CD VARCHAR2(5) Underwriting Category Code
UNSCHED_PREM_AMT_ATD NUMBER(14,2) Unscheduled Premium Amount ATD
UNSCHED_PREM_AMT_ITD NUMBER(14,2) Unscheduled Premium Amount ITD
UNSCHED_PREM_AMT_MONTH NUMBER(14,2) Unscheduled Premium Amount Month
WITHDRAWAL_AMT_GROSS NUMBER(14,2) Withdrawal Amount Gross
WITHDRAWAL_AMT_TOTAL_ITD NUMBER(14,2) Withdrawal Amount Total ITD
WITHDRAWAL_AMT_TOTAL_ATD NUMBER(14,2) Withdrawal Amount Total ATD

Table: WHOLE_UL_COVERAGES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
PRIMARY_PARTICIPANT_NUMBER NUMBER(10) Primary Participant Number
SECONDARY_PARTICIPANT_NUMBER NUMBER(10) Secondary Participant Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ALLOCATION_PREM_ITC NUMBER(14,2) Allocation Premium ITD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-60 Oracle Financial Services Technical Reference Manual


Life Insurance

ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs


BENEFIT_PERIOD_CD NUMBER(5) Benefit Period Code
CANCELLATION_DATE DATE Cancellation Date
CASH_SURRENDER_VALUE NUMBER(14,2) Cash Surrender Value
CASH_VALUE_AMT_BEG NUMBER(14,2) Cash Value Amount Beg
CASH_VALUE_AMT_END NUMBER(14,2) Cash Value Amount End
CASH_VALUE_INCR_AMT_ATD NUMBER(14,2) Cash Value Increase Amount ATD
CASH_VALUE_INCR_AMT_PRI_YEAR NUMBER(14,2) Cash Value Increase Amt Pri Year
CEASE_AGE NUMBER(3) Cease Age
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred
COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid
COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_FULL_SURRENDER NUMBER(8) Count Full Surrender
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COUNT_PARTIAL_SURRENDER NUMBER(8) Count Partial Surrender
COVERAGE_STATUS_CD NUMBER(5) Coverage Status Code
COVERAGE_ISSUE_CD NUMBER(5) Coverage Issue Code
DBO_SWITCH_FLG NUMBER(1) DBO Switch Flag
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_AMT_NET NUMBER(14,2) Death Benefit Amount Net
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFIT_OPTION_CD NUMBER(5) Death Benefit Option Code
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DIVIDEND_AMT_ATD NUMBER(14,2) Dividend Amount ATD
DIVIDEND_AMT_ITD NUMBER(14,2) Dividend Amount ITD
DIVIDEND_AMT_MONTH NUMBER(14,2) Dividend Amount Month
DIVIDEND_PAID_IN_CASH_ATD NUMBER(14,2) Dividend Paid In Cash ATD
DIVIDEND_PAID_IN_CASH_ITD NUMBER(14,2) Dividend Paid In Cash ITD
DIVIDEND_PAID_IN_CASH_MONTH NUMBER(14,2) Dividend Paid In Cash Month
DIVIDEND_PAID_DATE_LAST DATE Dividend Paid Date Last
DIVIDEND_TYPE_CD NUMBER(5) Dividend Type Code
DURATION_DESIGN NUMBER(5) Duration Design
EFFECTIVE_DATE DATE Effective Date
ELIMINATION_PERIOD NUMBER(5) Elimination Period
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_AMT_NET NUMBER(14,2) Endowment Benefit Amount Net
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-61


Life Insurance

ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid


EQUIVALENT_AGE NUMBER(3) Equivalent Age
EXCESS_PREM_AMT_ATD NUMBER(14,2) Excess Premium Amount ATD
EXCESS_PREM_AMT_ITD NUMBER(14,2) Excess Premium Amount ITD
EXCESS_PREM_AMT_MONTH NUMBER(14,2) Excess Premium Amount Month
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_COVERAGE_PREMIUM NUMBER(14,2) Full Coverage Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
FUND_BAL_PER_POLICY_BEG NUMBER(14,2) Fund Bal per Policy Beg
FUND_BAL_PER_POLICY_END NUMBER(14,2) Fund Bal per Policy End
GENERAL_EXP NUMBER(14,2) General Expense
GROSS_RATE NUMBER(14,2) Gross Rate
GDB_PREMS_MONTH NUMBER(14,2) GDB Premiums Month
GDB_PREMS_SUM NUMBER(14,2) GDB Premiums Sum
GDM_LIM_PREM_MONTH NUMBER(14,2) GDB Limit Premium Month
GDM_LIM_PREM_SUM NUMBER(14,2) GDB Limit Premium Sum
GUARANTEED_CASH_VALUE NUMBER(14,2) Guaranteed Cash Value
GUARANTEED_FACE_VALUE NUMBER(14,2) Guaranteed Face Value
GUARANTEED_FUTURE_PREM NUMBER(14,2) Guaranteed Future Premium
GUARANTEED_INTEREST_RATE NUMBER(8,4) Guaranteed Interest Rate
INIT_COVERAGE_AMT NUMBER(14,2) Initial Coverage Amount
INT_EARN_ACTUAL_EXCESS_ATD NUMBER(14,2) Int Earnings Actual Excess ATD
INT_EARN_ACTUAL_EXCESS_ITD NUMBER(14,2) Int Earnings Actual Excess ITD
INT_EARN_ACTUAL_EXCESS_MONTH NUMBER(14,2) Int Earnings Actual Excess Month
INT_EARN_BONUS_ATD NUMBER(14,2) Interest Earnings Bonus ATD
INT_EARN_BONUS_ITD NUMBER(14,2) Interest Earnings Bonus ITD
INT_EARN_BONUS_MONTH NUMBER(14,2) Interest Earnings Bonus Month
INT_EARN_CUR_ATD NUMBER(14,2) Interest Earnings Current ATD
INT_EARN_CUR_ITD NUMBER(14,2) Interest Earnings Current ITD
INT_EARN_CUR_MONTH NUMBER(14,2) Interest Earnings Cur Month
INT_EARN_MIN_ATD NUMBER(14,2) Interest Earnings Minimum ATD
INT_EARN_MIN_ITD NUMBER(14,2) Interest Earnings Minimum ITD
INT_EARN_MIN_MONTH NUMBER(14,2) Interest Earnings Minimum Month
INTEREST_RATE_CUR NUMBER(8,4) Interest Rate Current
ISSUE_AGE NUMBER(3) Issue Age
ISSUE_DATE DATE Issue Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-62 Oracle Financial Services Technical Reference Manual


Life Insurance

LIVES_TYPE_CD NUMBER(5) Lives Type Code


LOAN_AMT_ATD NUMBER(14,2) Loan Amount ATD
LOAN_AMT_OUTSTANDING NUMBER(14,2) Loan Amount Outstanding
LOAN_BALANCE_FOR_IMPAIRED NUMBER(14,2) Loan Balance For Impaired
LOAN_INT_AMT_ATD NUMBER(14,2) Loan Interest Amount ATD
LOAN_MAX_AVAILABLE NUMBER(14,2) Loan Maximum Available
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
MORTALITY_CHARGE NUMBER(14,2) Mortality Charge
MORTALITY_CHARGE_MAX NUMBER(14,2) Mortality Charge Maximum
MORTALITY_CHARGE_REFUND NUMBER(14,2) Mortality Charge Refund
NET_ADDITION_TO_FUND NUMBER(14,2) Net Addition to Fund
NET_AMT_OF_RISK NUMBER(14,2) Net Amount of Risk
NET_AMT_OF_RISK_MAX NUMBER(14,2) Net Amount of Risk Maximum
NET_RATE NUMBER(14,2) Net Rate
NET_SURR_VALUE_AMT NUMBER(14,2) Net Surrender Value Amount
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
PAID_UP_TO_DATE DATE Paid Up to Date
PAID_UP_ADDITIONS NUMBER(14,2) Paid Up Additions
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code
PAYMENT_MODE_CD NUMBER(5) Payment Mode Code
PAYMENT_STRUCTURE_CD NUMBER(5) Payment Structure Code
PARTIAL_SURRENDER_VALUE_PAID NUMBER(14,2) Partial Surrender Value Paid
PER_POLICY_RESERVE_BEG NUMBER(14,2) Per Policy Reserve Beg
PER_POLICY_RESERVE_END NUMBER(14,2) Per Policy Reserve End
PERM_FLAT_EXTRA_AMT NUMBER(14,2) Permanent Flat Extra Amount
PERM_PERCENTAGE_LOADING NUMBER(8,4) Permanent Percentage Loading
PERM_TABLE_RATING_CD NUMBER(5) Permanent Table Rating Code
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-63


Life Insurance

PREM_EARNED_NET NUMBER(14,2) Premium Earned Net


PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_FREEZE_DATE DATE Premium Freeze Date
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_MIN_PREM_AMT NUMBER(14,2) Premium Minimum Amount
PREM_MIN_PREM_AMT_ITD NUMBER(14,2) Premium Minimum Amount ITD
PREM_MAX_PREM_AMT NUMBER(14,2) Premium Maximum Amount
PREM_MAX_PREM_AMT_ITD NUMBER(14,2) Premium Maximum Amount ITD
PREM_SOURCE_TYPE_CD NUMBER(5) Premium Source Type Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PREMIUMS_PAID_UP_TO_AGE NUMBER(3) Premiums Paid Up to Age
PREMIUMS_PAID_UP_TO_YEARS NUMBER(3) Premiums Paid Up to Years
PROFIT NUMBER(14,2) Profit
QUAL_ADD_BENEFIT_FLG NUMBER(1) Qual Add Benefit Flag
RECORD_COUNT NUMBER(6) Record Count
REINSTATEMENT_DATE DATE Reinstatement Date
RENEWABLE_FLG NUMBER(1) Renewable Flag
SALARY_PCT NUMBER(8,4) Salary Percent
SURRENDER_BENEFITS_PAID NUMBER(14,2) Surrender Benefits Paid
SURRENDER_BENEFITS_PAID_DATE NUMBER(14,2) Surrender Benefits Paid Date
SURRENDER_CHARGE_AMT NUMBER(14,2) Surrender Charge Amount
SURRENDER_TARGET_PREM NUMBER(14,2) Surrender Target Premium
TARGET_PREM_AMT NUMBER(14,2) Target Premium Amount

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-64 Oracle Financial Services Technical Reference Manual


Life Insurance

TAXES_AND_FEES NUMBER(14,2) Taxes and Fees


TERMINATION_DATE DATE Termination Date
UNSCHED_PREM_AMT_ATD NUMBER(14,2) Unscheduled Premium Amount ATD
UNSCHED_PREM_AMT_ITD NUMBER(14,2) Unscheduled Premium Amount ITD
WITHDRAWAL_AMT_GROSS NUMBER(14,2) Withdrawal Amount Gross
WITHDRAWAL_DATE_LAST DATE Withdrawal Date Last
WITHDRAWAL_AMT_TOTAL_ITD NUMBER(14,2) Withdrawal Amount Total ITD
WITHDRAWAL_AMT_TOTAL_ATD NUMBER(14,2) Withdrawal Amount Total ATD
GUIDELINE_ANN_PREM NUMBER(14,2) Guideline Annual Premium
GUIDELINE_ANN_PREM_SUM NUMBER(14,2) Guideline Annual Premium Sum
GUIDELINE_SINGLE_PREM NUMBER(14,2) Guideline Single Premium
GUIDELINE_FACE NUMBER(14,2) Guideline Face
MEC_7DB_LOWEST NUMBER(14,2) MEC 7DB Lowest
SEC_GUIDELINE_PREM NUMBER(14,2) SEC Guideline Premium

Table: WHOLE_UL_COVERAGE_OPTIONS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
COVERAGE_ID NUMBER(14) Coverage ID
OPTION_ID NUMBER(14) Option ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
BENEFIT_PERIOD_CD NUMBER(5) Benefit Period Code
CANCELLATION_DATE DATE Cancellation Date
CEASE_AGE NUMBER(3) Cease Age
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COVERAGE_ISSUE_CD NUMBER(5) Coverage Issue Code
CVRG_OPTION_STATUS_CD NUMBER(5) Coverage Option Status Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_AMT_NET NUMBER(14,2) Death Benefit Amount Net
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFIT_OPTION_CD NUMBER(5) Death Benefit Option Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-65


Life Insurance

DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid


DURATION_DESIGN NUMBER(5) Duration Design
EFFECTIVE_DATE DATE Effective Date
ELIMINATION_PERIOD NUMBER(5) Elimination Period
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_AMT_NET NUMBER(14,2) Endowment Benefit Amount Net
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EQUIVALENT_AGE NUMBER(3) Equivalent Age
EXERCISE_DATE DATE Exercise Date
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_OPTION_PREMIUM NUMBER(14,2) Full Option Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense
GROSS_RATE NUMBER(14,2) Gross Rate
GDB_PREMS_MONTH NUMBER(14,2) GDB Premiums Month
GDB_PREMS_SUM NUMBER(14,2) GDB Premiums Sum
GDM_LIM_PREM_MONTH NUMBER(14,2) GDB Limit Premium Month
GDM_LIM_PREM_SUM NUMBER(14,2) GDB Limit Premium Sum
ISSUE_DATE DATE Issue Date
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NET_RATE NUMBER(14,2) Net Rate
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
OPTION_AMT NUMBER(14,2) Option Amount
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code
PAYMENT_MODE_CD NUMBER(5) Payment Mode Code
PARTIAL_SURRENDER_VALUE_PAID NUMBER(14,2) Partial Surrender Value Paid
PERM_FLAT_EXTRA_AMT NUMBER(14,2) Permanent Flat Extra Amount
PERM_PERCENTAGE_LOADING NUMBER(8,4) Permanent Percentage Loading
PERM_TABLE_RATING_CD NUMBER(5) Permanent Table Rating Code
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-66 Oracle Financial Services Technical Reference Manual


Life Insurance

POLICY_TERM_MULT CHAR(1) Policy Term Multiplier


PREM_ANNUAL_AMT NUMBER(14,2) Premium Annual Amount
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_FREEZE_DATE DATE Premium Freeze Date
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_SOURCE_TYPE_CD NUMBER(5) Premium Source Type Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
QUAL_ADD_BENEFIT_FLG NUMBER(1) Qual Add Benefit Flag
RECORD_COUNT NUMBER(6) Record Count
REINSTATEMENT_DATE DATE Reinstatement Date
RENEWABLE_FLG NUMBER(1) Renewable Flag
SURRENDER_BENEFITS_PAID NUMBER(14,2) Surrender Benefits Paid
SURRENDER_BENEFITS_PAID_DATE NUMBER(14,2) Surrender Benefits Paid Date
SURRENDER_CHARGE_AMT NUMBER(14,2) Surrender Charge Amount
SURRENDER_TARGET_PREM NUMBER(14,2) Surrender Target Premium
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-67


Life Insurance

TEMP_FLAT_END_DATE DATE Temp Flat End Date


TEMP_FLAT_EXTRA_AMT NUMBER(14,2) Temp Flat Extra Amount
TEMP_PERCENTAGE_LOADING NUMBER(8,4) Temp Percentage Loading
TEMP_TABLE_RATING_CD NUMBER(5) Temp Table Rating Code
TEMP_TABLE_RATING_END_DATE DATE Temp Table Rating End Date
TERMINATION_DATE DATE Termination Date
UNDERWRITING_CLASS_CD NUMBER(5) Underwriting Class Code
WITHDRAWAL_AMT_GROSS NUMBER(14,2) Withdrawal Amount Gross
WITHDRAWAL_DATE_LAST DATE Withdrawal Date Last
WITHDRAWAL_AMT_TOTAL_ITD NUMBER(14,2) Withdrawal Amount Total ITD
WITHDRAWAL_AMT_TOTAL_ATD NUMBER(14,2) Withdrawal Amount Total ATD

Table: WHOLE_UL_INVESTMENTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
INVESTMENT_ACCOUNT_NUMBER VARCHAR2(25) Investment Account Number
AS_OF_DATE DATE As of Date
POLICY_NUMBER VARCHAR2(25) Policy Number
ACCT_OPEN_DATE DATE Account Open Date
CARRIER_CD VARCHAR2(5) Carrier Code
LIABILITY NUMBER(14,2) Liability
LONG_TERM_CAP_GAINS_CUR_YEAR NUMBER(14,2) Long Term Capital Gains Cur Year
LT_NONTAX_CAP_GAINS_CUR_YEAR NUMBER(14,2) LT Nontax Capital Gains Cur Year
QUAL_PLAN_TYPE_CD NUMBER(5) Qualified Plan Type Code
REDEMPTION_CD NUMBER(5) Redemption Code
SHORT_TERM_CAP_GAINS_CUR_YEAR NUMBER(14,2) Short Term Capital Gains Cur Year
ST_NONTAX_CAP_GAINS_CUR_YEAR NUMBER(14,2) ST Nontax Capital Gains Cur Year
TAX_STATUS_CD NUMBER(5) Tax Status Code

Table: WHOLE_UL_INVEST_SUB_ACCOUNTS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
INVESTMENT_ACCOUNT_NUMBER VARCHAR2(25) Investment Account Number
INVESTMENT_SUBACCT_NUMBER VARCHAR2(25) Investment Sub-Account Number
AS_OF_DATE DATE As of Date
PORTFOLIO_NUM NUMBER(25) Portfolio Number
ACTUAL_END_DATE DATE Actual End Date
ALLOC_PERCENT NUMBER(8,4) Allocation Percent
ASSET_ACCOUNT_BALANCE_BEG NUMBER(14,2) Asset Account Balance Beg

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-68 Oracle Financial Services Technical Reference Manual


Life Insurance

ASSET_ACCOUNT_BALANCE_END NUMBER(14,2) Asset Account Balance End


ASSET_CLASS_CD NUMBER(5) Asset Class Code
CAP_GAIN_OPT_CD NUMBER(5) Capital Gain Option Code
CARRIER_CD VARCHAR2(5) Carrier Code
COMPOUND_MODE_CD NUMBER(5) Compound Mode Code
CUR_RATE NUMBER(8,4) Current Rate
CUR_NUMBER_UNITS NUMBER(8,4) Current Number Units
DIVIDEND_OYT_CD NUMBER(5) Dividend One Yr Termination Code
FUTURE_EXP_ALLOC_PERCENT NUMBER(8,4) Future Expense Allocation Pct
INVEST_LOAD_CD NUMBER(5) Investment Load Code
INVEST_TYPE_CD NUMBER(5) Investment Type Code
LIABILITY NUMBER(14,2) Liability
MATURITY_DATE DATE Maturity Date
MATURITY_VALUE NUMBER(14,2) Maturity Value
PRICING_AS_OF_DATE DATE Pricing As of Date
PRODUCT_OBJECTIVE_CD NUMBER(5) Product Objective Code
INVESTMENT_PURPOSE_CD NUMBER(5) Investment Purpose Code
SECURITY_PURCH_TYPE_CD NUMBER(5) Security Purchase Type Code
SUB_ACCOUNT_STATUS_CD NUMBER(5) Sub Account Status Code
SYSTEMATIC_ACTV_TYPE_CD NUMBER(5) Systematic Activity Type Code
SYSTEMATIC_ACTIVITY_START_DATE DATE Systematic Activity Start Date
SYSTEMATIC_AMT NUMBER(14,2) Systematic Amount
SYSTEMATIC_MODE_CD NUMBER(5) Systematic Mode Code
TAX_BASIS NUMBER(14,2) Tax Basis
TOT_COST NUMBER(14,2) Total Cost
TOT_INC_AMT_YTD NUMBER(14,2) Total Income Amount YTD
TOT_ISSUED_UNITS NUMBER(8,4) Total Issued Units
TOT_REDEMPTION_AMT_ITD NUMBER(14,2) Total Redemption Amount ITD
TOT_UNISSUED_UNITS NUMBER(8,4) Total Unissued Units
UNIT_VALUE NUMBER(14,2) Unit Value
VALUATION_AS_OF_DATE DATE Valuation As of Date

Table: WHOLE_UL_LIFE_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-69


Life Insurance

ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code


POLICY_NUMBER VARCHAR2(25) Policy Number
GROUP_PLAN_NUM NUMBER(25) Group Plan Number
PRIMARY_PARTICIPANT_NUMBER NUMBER(10) Primary Participant Number
SECONDARY_PARTICIPANT_NUMBER NUMBER(10) Secondary Participant Number
GROUP_PLAN_NUMBER VARCHAR2(25) Group Plan Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
AGENT_CD VARCHAR2(5) Agent Code
ANNUAL_STATEMENT_CAT_CD VARCHAR2(5) Annual Statement Category Code
BAILOUT_PROVISION_FLG NUMBER(1) Bailout Provision Flag
BENEFIT_PAYMENT_CD VARCHAR2(5) Benefit Payment Code
BRANCH_CODE VARCHAR2(10) Branch Code
CANCELLATION_DATE DATE Cancellation Date
CARRIER_CD VARCHAR2(5) Carrier Code
CASH_SURRENDER_VALUE NUMBER(14,2) Cash Surrender Value
CASH_VALUE_AMT_BEG NUMBER(14,2) Cash Value Amount Beg
CASH_VALUE_AMT_END NUMBER(14,2) Cash Value Amount End
CASH_VALUE_INCR_AMT_ATD NUMBER(14,2) Cash Value Increase Amount ATD
CASH_VALUE_INCR_AMT_PRI_YEAR NUMBER(14,2) Cash Value Increase Amt Pri Year
CAUSE_OF_DEATH_CD VARCHAR2(5) Cause of Death Code
CLAIM_STATUS_CD NUMBER(5) Claim Status Code
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
COUNT_DEATH_PAID NUMBER(8) Count Death Paid
COUNT_DEATH_INCURRED NUMBER(8) Count Death Incurred
COUNT_ENDOWMENT_PAID NUMBER(8) Count Endowment Paid
COUNT_ENDOWMENT_INCURRED NUMBER(8) Count Endowment Incurred
COUNT_FULL_SURRENDER NUMBER(8) Count Full Surrender
COUNT_IN_FORCE_LIVES NUMBER(8) Count In Force Lives
COUNT_IN_FORCE_POLICY NUMBER(8) Count In Force Policy
COUNT_PARTIAL_SURRENDER NUMBER(8) Count Partial Surrender
COST_CENTER_CD VARCHAR2(5) Cost Center Code
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFIT_AMT_NET NUMBER(14,2) Death Benefit Amount Net
DEATH_BENEFIT_DATE_PAID DATE Death Benefit Date Paid
DEATH_BENEFIT_OPTION_CD NUMBER(5) Death Benefit Option Code
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
DEATH_DATE DATE Death Date
DEATH_REPORT_DATE DATE Death Report Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-70 Oracle Financial Services Technical Reference Manual


Life Insurance

DISTRIBUTION_CD VARCHAR2(5) Distribution Code


DIVIDEND_AMT_ATD NUMBER(14,2) Dividend Amount ATD
DIVIDEND_AMT_ITD NUMBER(14,2) Dividend Amount ITD
DIVIDEND_AMT_MONTH NUMBER(14,2) Dividend Amount Month
DIVIDEND_PAID_IN_CASH_ATD NUMBER(14,2) Dividend Paid In Cash ATD
DIVIDEND_PAID_IN_CASH_ITD NUMBER(14,2) Dividend Paid In Cash ITD
DIVIDEND_PAID_IN_CASH_MONTH NUMBER(14,2) Dividend Paid In Cash Month
DIVIDEND_PAID_DATE DATE Dividend Paid Date
DIVIDEND_TYPE_CD NUMBER(5) Dividend Type Code
EFFECTIVE_DATE DATE Effective Date
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_AMT_NET NUMBER(14,2) Endowment Benefit Amount Net
ENDOWMENT_BENEFIT_DATE_PAID NUMBER(14,2) Endowment Benefit Date Paid
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
ESTIMATED_MORTALITY_DATE DATE Estimated Mortality Date
EXCESS_PREM_AMT_ATD NUMBER(14,2) Excess Premium Amount ATD
EXCESS_PREM_AMT_ITD NUMBER(14,2) Excess Premium Amount ITD
EXCESS_PREM_AMT_MONTH NUMBER(14,2) Excess Premium Amount Month
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
EXPIRATION_DATE DATE Expiration Date
FACE_AMT NUMBER(14,2) Face Amount
FLAT_EXTRA_RATE_ATD NUMBER(14,2) Flat Extra Rate ATD
FLAT_EXTRA_RATE_ITD NUMBER(14,2) Flat Extra Rate ITD
FLAT_EXTRA_RATE_MONTH NUMBER(14,2) Flat Extra Rate Month
FULL_POLICY_PREMIUM NUMBER(14,2) Full Policy Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
FUND_BAL_PER_POLICY_BEG NUMBER(14,2) Fund Bal per Policy Beg
FUND_BAL_PER_POLICY_END NUMBER(14,2) Fund Bal per Policy End
GENERAL_EXP NUMBER(14,2) General Expense
GROSS_RATE NUMBER(14,2) Gross Rate
GROUP_PLAN_FLG NUMBER(1) Group Plan Flag
GDB_PREMS_SUM NUMBER(14,2) GDB Premiums Sum
GDM_LIM_PREM_SUM NUMBER(14,2) GDB Limit Premium Sum
GUARANTEED_CASH_VALUE NUMBER(14,2) Guaranteed Cash Value
GUARANTEED_FACE_VALUE NUMBER(14,2) Guaranteed Face Value
GUARANTEED_FUTURE_PREM NUMBER(14,2) Guaranteed Future Premium
GUARANTEED_INTEREST_RATE NUMBER(8,4) Guaranteed Interest Rate
GUARANTEE_ISSUE_FLG NUMBER(1) Guarantee Issue Flag
GUARANTEE_PERIOD_AGE NUMBER(3) Guarantee Period Age
GUARANTEE_PERIOD_DATE DATE Guarantee Period Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-71


Life Insurance

INSTALLMENT_FEE NUMBER(14,2) Installment Fee


INT_EARN_ACTUAL_EXCESS_ATD NUMBER(14,2) Int Earnings Actual Excess ATD
INT_EARN_ACTUAL_EXCESS_ITD NUMBER(14,2) Int Earnings Actual Excess ITD
INT_EARN_ACTUAL_EXCESS_MONTH NUMBER(14,2) Int Earnings Actual Excess Month
INT_EARN_BONUS_ATD NUMBER(14,2) Interest Earnings Bonus ATD
INT_EARN_BONUS_ITD NUMBER(14,2) Interest Earnings Bonus ITD
INT_EARN_BONUS_MONTH NUMBER(14,2) Interest Earnings Bonus Month
INT_EARN_CUR_ATD NUMBER(14,2) Interest Earnings Current ATD
INT_EARN_CUR_ITD NUMBER(14,2) Interest Earnings Current ITD
INT_EARN_CUR_MONTH NUMBER(14,2) Interest Earnings Cur Month
INT_EARN_MIN_ATD NUMBER(14,2) Interest Earnings Minimum ATD
INT_EARN_MIN_ITD NUMBER(14,2) Interest Earnings Minimum ITD
INT_EARN_MIN_MONTH NUMBER(14,2) Interest Earnings Minimum Month
INTEREST_RATE_CUR NUMBER(8,4) Interest Rate Current
ISSUE_DATE DATE Issue Date
ISSUE_STATE_CD NUMBER(5) Issue State Code
ISSUE_NATION_CD NUMBER(5) Issue Nation Code
ISSUE_TYPE_CD NUMBER(5) Issue Type Code
LINE_OF_BUSINESS_CD NUMBER(5) Line of Business Code
LOAN_AMT_ATD NUMBER(14,2) Loan Amount ATD
LOAN_AMT_OUTSTANDING NUMBER(14,2) Loan Amount Outstanding
LOAN_BALANCE_FOR_IMPAIRED NUMBER(14,2) Loan Balance For Impaired
LOAN_INT_AMT_ATD NUMBER(14,2) Loan Interest Amount ATD
LOAN_MAX_AVAILABLE NUMBER(14,2) Loan Maximum Available
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MATURED_POLICY_FLG NUMBER(1) Matured Policy Flag
MEDICAL_EXAM_CD VARCHAR2(5) Medical Exam Code
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
MORTALITY_CHARGE NUMBER(14,2) Mortality Charge
MORTALITY_CHARGE_MAX NUMBER(14,2) Mortality Charge Maximum
MORTALITY_CHARGE_REFUND NUMBER(14,2) Mortality Charge Refund
NAIC_CD VARCHAR2(5) NAIC Code
NET_ADDITION_TO_FUND NUMBER(14,2) Net Addition to Fund
NET_AMT_OF_RISK NUMBER(14,2) Net Amount of Risk
NET_AMT_OF_RISK_MAX NUMBER(14,2) Net Amount of Risk Maximum
NET_RATE NUMBER(14,2) Net Rate
NET_SURR_VALUE_AMT NUMBER(14,2) Net Surrender Value Amount
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized
NON_FORFEIT_PROVISION_CD NUMBER(5) Non-Forfeit Provision Code
NUM_BENEFICIARIES NUMBER(3) Number Beneficiaries
PAID_UP_TO_DATE DATE Paid Up to Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-72 Oracle Financial Services Technical Reference Manual


Life Insurance

PAID_UP_ADDITIONS NUMBER(14,2) Paid Up Additions


PAID_UP_POLICY_FLG NUMBER(1) Paid Up Policy Flag
PAYMENT_AMT NUMBER(14,2) Payment Amount
PAYMENT_DATE DATE Payment Date
PAYMENT_DUE_DATE DATE Payment Due Date
PAYMENT_METHOD_CD NUMBER(5) Payment Method Code
PAYMENT_MODE_CD NUMBER(5) Payment Mode Code
PARTIAL_SURRENDER_VALUE_PAID NUMBER(14,2) Partial Surrender Value Paid
PARTICIPATING_FLG NUMBER(1) Participating Flag
PER_POLICY_RESERVE_BEG NUMBER(14,2) Per Policy Reserve Beg
PER_POLICY_RESERVE_END NUMBER(14,2) Per Policy Reserve End
PLAN_CD VARCHAR2(5) Plan Code
POLICY_AGE NUMBER(8) Policy Age
POLICY_STATUS_LF_CD NUMBER(5) Policy Status Life Code
POLICY_TERM NUMBER(5) Policy Term
POLICY_TERM_MULT CHAR(1) Policy Term Multiplier
POSTAL_CODE_ISSUE VARCHAR2(11) Postal Code Issue
POSTAL_CODE_RESIDENCE VARCHAR2(11) Postal Code Residence
PREM_ANNUAL_AMT_EXCL_OPTIONS NUMBER(14,2) Prem Annual Amt Excl Options
PREM_ANNUAL_AMT_INCL_OPTIONS NUMBER(14,2) Prem Annual Amt Incl Options
PREM_DURATION_DATE DATE Premium Duration Date
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_MIN_PREM_AMT_ATD NUMBER(14,2) Premium Minimum Amount ATD
PREM_MIN_PREM_AMT_ITD NUMBER(14,2) Premium Minimum Amount ITD
PREM_MIN_PREM_AMT_MONTH NUMBER(14,2) Premium Minimum Amount Month
PREM_MAX_PREM_AMT_ATD NUMBER(14,2) Premium Maximum Amount ATD
PREM_MAX_PREM_AMT_ITD NUMBER(14,2) Premium Maximum Amount ITD
PREM_MAX_PREM_AMT_MONTH NUMBER(14,2) Premium Maximum Amount Month

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-73


Life Insurance

PREM_OFFSET_METHOD_CD NUMBER(5) Premium Offset Method Code


PREM_SUSPENSE_AMT NUMBER(14,2) Premium Suspense Amount
PREM_SUSPENSE_REASON_CD NUMBER(5) Premium Suspense Reason Code
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PREMIUMS_PAID_UP_TO_AGE NUMBER(3) Premiums Paid Up to Age
PREMIUMS_PAID_UP_TO_YEARS NUMBER(3) Premiums Paid Up to Years
PROFIT NUMBER(14,2) Profit
QUAL_PLAN_TYPE_CD NUMBER(5) Qualified Plan Type Code
RECORD_COUNT NUMBER(6) Record Count
REDETERMINATION_CAT_CD VARCHAR2(5) Redetermination Category Code
REDETERMINATION_LAST_DATE DATE Redetermination Last Date
REDETERMINATION_NEXT_DATE DATE Redetermination Next Date
REDETERMINATION_PERIOD NUMBER(5) Redetermination Period
REGIONAL_OFFICE_CD VARCHAR2(5) Regional Office Code
REINSTATEMENT_DATE DATE Reinstatement Date
REINSURANCE_FLG NUMBER(1) Reinsurance Flag
REINSURANCE_PREMIUM NUMBER(14,2) Reinsurance Premium
RESIDENCE_STATE_CD NUMBER(5) Residence State Code
ROLLOVER_AMT_TOTAL NUMBER(14,2) Rollover Amount Total
STATEMENT_BASIS_CD NUMBER(5) Statement Basis Code
SURRENDER_BENEFITS_PAID NUMBER(14,2) Surrender Benefits Paid
SURRENDER_BENEFITS_PAID_DATE NUMBER(14,2) Surrender Benefits Paid Date
SURRENDER_CHARGE_AMT NUMBER(14,2) Surrender Charge Amount
SURRENDER_TARGET_PREM NUMBER(14,2) Surrender Target Premium
TARGET_PREM_AMT NUMBER(14,2) Target Premium Amount
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
TERRITORY_CD VARCHAR2(5) Territory Code
TERMINATION_DATE DATE Termination Date
TERMINATION_CD VARCHAR2(5) Termination Code
UNDERWRITING_CATEGORY_CD VARCHAR2(5) Underwriting Category Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-74 Oracle Financial Services Technical Reference Manual


Life Insurance

UNSCHED_PREM_AMT_ATD NUMBER(14,2) Unscheduled Premium Amount ATD


UNSCHED_PREM_AMT_ITD NUMBER(14,2) Unscheduled Premium Amount ITD
UNSCHED_PREM_AMT_MONTH NUMBER(14,2) Unscheduled Premium Amount Month
WITHDRAWAL_AMT_GROSS NUMBER(14,2) Withdrawal Amount Gross
WITHDRAWAL_DATE_LAST DATE Withdrawal Date Last
WITHDRAWAL_AMT_TOTAL_ITD NUMBER(14,2) Withdrawal Amount Total ITD
WITHDRAWAL_AMT_TOTAL_ATD NUMBER(14,2) Withdrawal Amount Total ATD
ACCUM_VALUE_1035 NUMBER(14,2) Accumulation Value 1035
AMT_1035 NUMBER(14,2) Exchange Amount 1035
BASIS_1035 NUMBER(14,2) Cost Basis 1035
CUM_SEVEN_PAY_PREM NUMBER(14,2) Cumulative MEC 7 Pay Premium
DEEMED_CASH_VALUE_AMT NUMBER(14,2) Deemed Cash Value Amount
DEF_LIFE_INS_METHOD_CD NUMBER(5) Definition of Life Ins Method Code
DEFRA_DISBURSE_AV_L2Y NUMBER(14,2) DEFRA Disburse Aviation L2Y
DEFRA_DISBURSE_BASIS_L2Y NUMBER(14,2) DEFRA Disburse Basis L2Y
DEFRA_DISBURSE_DATE_L2Y DATE DEFRA Disburse Date L2Y
DEFRA_SUM_DISBURSE_L2Y NUMBER(14,2) DEFRA Sum Disburse L2Y
DEFRA_SUM_PREMS_ITD NUMBER(14,2) DEFRA Sum Premiums ITD
DEFRA_TAXABLE_PORTION_L2Y NUMBER(14,2) DEFRA Taxable Portion L2Y
GUIDELINE_ANN_PREM NUMBER(14,2) Guideline Annual Premium
GUIDELINE_ANN_PREM_SUM NUMBER(14,2) Guideline Annual Premium Sum
GUIDELINE_SINGLE_PREM NUMBER(14,2) Guideline Single Premium
HIGH_AVG_AMTS_PAID NUMBER(14,2) High Average Amounts Paid
INTERNAL_1035_FLG NUMBER(1) Internal 1035 Flag
LIFE_INS_TEST_MAX_CONTRIB NUMBER(14,2) Life Ins Test Maximum Contrib
LOAN_1035 NUMBER(14,2) Loan 1035
MAT_CHANGE_NSP NUMBER(8,4) Net Single Prem Last Matl Change
MAT_CHANGE_AV NUMBER(14,2) Acct Value Last Material Change
MATERIAL_CHANGE_DATE DATE Material Change Date
MEC_1035_FLG NUMBER(1) MEC 1035 Flag
MEC_FLG NUMBER(1) MEC Flag
MEC_DATE DATE MEC Date
MEC_MAX_CONTRIBUTION NUMBER(14,2) MEC Maximum Contribution
SEVEN_PAY_PREM NUMBER(14,2) Seven Pay Premium
TAMRA_SUM_PREMS_ITD NUMBER(14,2) TAMRA Sum Premiums ITD
TAX_GRANDFATHERED_TYP_CD NUMBER(5) Tax Grandfathered Type Code
TAXABLE_AMT NUMBER(14,2) Taxable Amount
TAXABLE_INC_AMT NUMBER(14,2) Taxable Income Amount
UNADJUST_7PAY_PREM NUMBER(14,2) Unadjusted 7 Pay Premium
UNNEC_GAP NUMBER(14,2) Unnecsry Guideline Annual Prem
UNNEC_GSP NUMBER(14,2) Unnecsry Guideline Single Prem

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-75


Life Insurance

UNNEC_PREM_PAID_ITD NUMBER(14,2) Unnecessary Premium Paid ITD


CLAIM_TAX_DEDUCTION_FLG NUMBER(1) Claim Tax Deduction Flag
EARLIEST_START_DATE DATE Earliest Start Date
EMP_ADD_DISC_CONT_AMT NUMBER(14,2) Employer Addl Discr Contrib Amt
EMP_ADD_DISC_CONT_FREQ NUMBER(5) Employer Addl Discr Contrib Freq
EMP_ADD_DISC_SALARY_PCT NUMBER(8,4) Employer Addl Discr Salary Pct
EMP_STD_DISC_CONT_AMT NUMBER(14,2) Employer Std Discr Contrib Amt
EMP_STD_DISC_CONT_FREQ NUMBER(5) Employer Std Discr Contrib Freq
EMP_STD_DISC_SALARY_PCT NUMBER(8,4) Employer Std Discr Salary Pct
GUAR_CONT_AMT NUMBER(14,2) Guarantee Superannuation Amount
GUAR_FREQ_CD NUMBER(5) Guarantee Frequency Code
GUAR_SALARY_PCT NUMBER(8,4) Guarantee Salary Percent
INDEX_COVER_FLG NUMBER(1) Index Cover Flag
INDEX_RATE NUMBER(8,4) Index Rate
MEM_CONT_AMT NUMBER(14,2) Member Contribution Amount
MEM_CONT_FREQ_CD NUMBER(5) Member Contribution Freq Code
MEM_COVERAGE_SALARY_AMT NUMBER(14,2) Member Coverage Salary Amount
MEM_SALARY_PCT NUMBER(8,4) Member Salary Percent
ROLLOVER_DATE DATE Rollover Date
UNDEDUCTED_CONT_VALUE_ITD NUMBER(14,2) Undeducted Contrib Value ITD

Table: WHOLE_UL_LOANS
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
LOAN_ACCOUNT_NUMBER VARCHAR2(25) Loan Account Number
AS_OF_DATE DATE As of Date
POLICY_NUMBER VARCHAR2(25) Policy Number
CUR_LOAN_INT_RATE NUMBER(8,4) Current Loan Interest Rate
CUR_LOAN_VALUE NUMBER(14,2) Current Loan Value
INSTALLMENT_AMT NUMBER(14,2) Installment Amount
LOAN_BALANCE_FOR_IMPAIRED NUMBER(14,2) Loan Balance For Impaired
LOAN_DATE DATE Loan Date
LOAN_EXIPIRY_DATE DATE Loan Exipiry Date
LOAN_INT_DUE NUMBER(14,2) Loan Interest Due
LOAN_INT_METHOD_CD NUMBER(5) Loan Interest Method Code
LOAN_INT_TIMING_CD NUMBER(5) Loan Interest Timing Code
LOAN_INT_TYPE_CD NUMBER(5) Loan Interest Type Code
LOAN_PAYMENT_AMT NUMBER(14,2) Loan Payment Amount
LOAN_PAYMENT_DATE DATE Loan Payment Date
LOAN_PAYMENT_METHOD NUMBER(14,2) Loan Payment Method

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-76 Oracle Financial Services Technical Reference Manual


Life Insurance

LOAN_PAYMENT_MODE NUMBER(14,2) Loan Payment Mode


LOAN_REASON_CD NUMBER(5) Loan Reason Code
LOAN_STATUS_CD VARCHAR2(5) Loan Status Code
LOAN_TYPE_CD NUMBER(5) Loan Type Code
LOANED_AMT_INT_RATE NUMBER(8,4) Loaned Amount Interest Rate
ORIGINAL_LOAN_AMT NUMBER(14,2) Original Loan Amount
PREFERRED_LOAN_BALANCE NUMBER(14,2) Preferred Loan Balance

Table: WHOLE_UL_OPTIONS_SUMMARY
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
OPTION_ID NUMBER(14) Option ID
ORG_UNIT_ID NUMBER(14) Organizational Unit ID
COMMON_COA_ID NUMBER(14) Common Chart of Accounts ID
GL_ACCOUNT_ID NUMBER(14) General Ledger Account ID
COVERAGE_ID NUMBER(14) Coverage ID
AS_OF_DATE DATE As of Date
ISO_CURRENCY_CD VARCHAR2(3) ISO Currency Code
POLICY_NUMBER VARCHAR2(25) Policy Number
IDENTITY_CODE_CHG NUMBER(10) Identity Code Change
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code
ACQUISITION_COSTS NUMBER(14,2) Acquisition Costs
COMMISSIONS NUMBER(14,2) Commissions
CONTINGENCIES NUMBER(14,2) Contingencies
DEATH_BENEFIT_AMT NUMBER(14,2) Death Benefit Amount
DEATH_BENEFITS_PAID NUMBER(14,2) Death Benefits Paid
ENDOWMENT_BENEFIT_AMT NUMBER(14,2) Endowment Benefit Amount
ENDOWMENT_BENEFIT_PAID NUMBER(14,2) Endowment Benefit Paid
EXPOSURES_WRITTEN NUMBER(8,4) Exposures Written
EXP_ALLOWANCE NUMBER(14,2) Expense Allowance
FULL_OPTION_PREMIUM NUMBER(14,2) Full Option Premium
FULLY_COMM_PREM_ANNUALIZED NUMBER(14,2) Fully Comm Premium Annualized
GENERAL_EXP NUMBER(14,2) General Expense
GDB_PREMS_MONTH NUMBER(14,2) GDB Premiums Month
GDB_PREMS_SUM NUMBER(14,2) GDB Premiums Sum
GDM_LIM_PREM_MONTH NUMBER(14,2) GDB Limit Premium Month
GDM_LIM_PREM_SUM NUMBER(14,2) GDB Limit Premium Sum
MAINTENANCE_EXP NUMBER(14,2) Maintenance Expense
MEDICAL_AND_INSPECTION NUMBER(14,2) Medical and Inspection
NON_COMM_PREM_ANNUALIZED NUMBER(14,2) Non-Comm Premium Annualized

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-77


Life Insurance

OPTION_AMT NUMBER(14,2) Option Amount


PARTIAL_SURRENDER_VALUE_PAID NUMBER(14,2) Partial Surrender Value Paid
PREM_ANNUAL_AMT NUMBER(14,2) Premium Annual Amount
PREM_EARNED_CEDED NUMBER(14,2) Premium Earned Ceded
PREM_EARNED_ITD NUMBER(14,2) Premium Earned ITD
PREM_EARNED_DIRECT NUMBER(14,2) Premium Earned Direct
PREM_EARNED_MONTH NUMBER(14,2) Premium Earned Month
PREM_EARNED_NET NUMBER(14,2) Premium Earned Net
PREM_EARNED_SUBSTD_MONTH NUMBER(14,2) Premium Earned Substandard Month
PREM_EARNED_SUBSTD_ITD NUMBER(14,2) Premium Earned Substandard ITD
PREM_GROSS_AMT_ATD NUMBER(14,2) Premium Gross Amount ATD
PREM_GROSS_AMT_ITD NUMBER(14,2) Premium Gross Amount ITD
PREM_GROSS_AMT_MONTH NUMBER(14,2) Premium Gross Amount Month
PREM_GROSS_SUBSTD_AMT_ATD NUMBER(14,2) Prem Gross Substandard Amt ATD
PREM_GROSS_SUBSTD_AMT_ITD NUMBER(14,2) Prem Gross Substandard Amt ITD
PREM_GROSS_SUBSTD_AMT_MONTH NUMBER(14,2) Prem Gross Substandard Amt Month
PREM_IN_FORCE NUMBER(14,2) Premium In Force
PREM_UNEARNED_CEDED_CUR_MONTH NUMBER(14,2) Premium Unearned Ceded Cur Month
PREM_UNEARNED_CEDED_PRI_MONTH NUMBER(14,2) Premium Unearned Ceded Pri Month
PREM_UNEARNED_CEDED_PRI_YEAR NUMBER(14,2) Premium Unearned Ceded Pri Year
PREM_UNEARNED_DIRECT_CUR_MONTH NUMBER(14,2) Premium Unearned Direct Cur Month
PREM_UNEARNED_DIRECT_PRI_MONTH NUMBER(14,2) Premium Unearned Direct Pri Month
PREM_UNEARNED_DIRECT_PRI_YEAR NUMBER(14,2) Premium Unearned Direct Pri Year
PREM_UNEARNED_NET_CUR_MONTH NUMBER(14,2) Premium Unearned Net Cur Month
PREM_UNEARNED_NET_PRI_MONTH NUMBER(14,2) Premium Unearned Net Pri Month
PREM_UNEARNED_NET_PRI_YEAR NUMBER(14,2) Premium Unearned Net Pri Year
PREM_WRITTEN_CEDED NUMBER(14,2) Premium Written Ceded
PREM_WRITTEN_DIRECT NUMBER(14,2) Premium Written Direct
PREM_WRITTEN_NET NUMBER(14,2) Premium Written Net
PROFIT NUMBER(14,2) Profit
RECORD_COUNT NUMBER(6) Record Count
SURRENDER_BENEFITS_PAID NUMBER(14,2) Surrender Benefits Paid
SURRENDER_CHARGE_AMT NUMBER(14,2) Surrender Charge Amount
SURRENDER_TARGET_PREM NUMBER(14,2) Surrender Target Premium
TAXES_AND_FEES NUMBER(14,2) Taxes and Fees
UNDERWRITING_CLASS_CD NUMBER(5) Underwriting Class Code
WITHDRAWAL_AMT_GROSS NUMBER(14,2) Withdrawal Amount Gross
WITHDRAWAL_AMT_TOTAL_ITD NUMBER(14,2) Withdrawal Amount Total ITD
WITHDRAWAL_AMT_TOTAL_ATD NUMBER(14,2) Withdrawal Amount Total ATD

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-78 Oracle Financial Services Technical Reference Manual


Life Insurance

Life Insurance Participants


TERM_LIFE_POLICIES WHOLE_UL_LIFE_POLICIES
# IDENTITY_CODE # IDENTITY_CODE
# ID_NUMBER # ID_NUMBER
* ORG_UNIT_ID * ORG_UNIT_ID
* COMMON_COA_ID * COMMON_COA_ID
* GL_ACCOUNT_ID * GL_ACCOUNT_ID
* COVERAGE_ID * COVERAGE_ID
* AS_OF_DATE * AS_OF_DATE
* ISO_CURRENCY_CD * ISO_CURRENCY_CD
* POLICY_NUMBER * POLICY_NUMBER
* GROUP_PLAN_NUM * GROUP_PLAN_NUM
* PRIMARY_PARTICIPANT_NUMBER * PRIMARY_PARTICIPANT_NUMBER

insures insures

LIFE_PARTICIPANTS relates life participants to term policies


# PARTICIPANT_NUMBER relates life participants to whole/UL policies
# AS_OF_DATE

LIFE_PARTICIPANTS_POLICIES
# IDENTITY_CODE
# ID_NUMBER
# PARTICIPANT_NUMBER
# AS_OF_DATE
is insured by # INSTRUMENT_TYPE_CD

relates policy to life participants

LIFESTYLE_ACTIVITIES
may participate in # PARTICIPANT_NUMBER
# LIFESTYLE_ACTV_TYPE_CD
describes # AS_OF_DATE

CRIMINAL_CONVICTIONS
may have # PARTICIPANT_NUMBER
# CRIMINAL_CONVICTION_NUM
for # AS_OF_DATE

SUBSTANCE_USAGES
may have # PARTICIPANT_NUMBER
# SUBSTANCE_USAGE_NUM
# AS_OF_DATE
for

DRIVER_VIOLATIONS
may have # PARTICIPANT_NUMBER
# VIOLATION_NUM
# AS_OF_DATE
for

may participate in RACING_COMPETITIONS


# PARTICIPANT_NUMBER
for # RACING_COMPETITION_NUM
# AS_OF_DATE

FAMILY_ILLNESSES
may have # PARTICIPANT_NUMBER
# FAMILY_ILLNESS_NUM
# AS_OF_DATE
describes

MEDICAL_PREVENTIONS
may have # PARTICIPANT_NUMBER
# MEDICAL_PREVENTION_NUM
# AS_OF_DATE
for

MEDICAL_CONDITIONS
may have # PARTICIPANT_NUMBER
# MEDICAL_CONDITION_NUM
describes # AS_OF_DATE

MEDICAL_TREATMENTS
may have # PARTICIPANT_NUMBER
# MEDICAL_CONDITION_NUM
# TREATMENT_TYPE_CD
for # AS_OF_DATE

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-79


Life Insurance

Table: CRIMINAL_CONVICTIONS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
CRIMINAL_CONVICTION_NUM NUMBER(10) Criminal Conviction Number
AS_OF_DATE DATE As of Date
CRIME_TYPE_CD NUMBER(5) Crime Type Code
CONVICTION_DATE DATE Conviction Date
CONVICTION_COUNTRY_CD NUMBER(5) Conviction Country Code
CONVICTION_JURISD_CD NUMBER(5) Conviction Jurisdiction Code
PROBATION_FLG NUMBER(1) Probation Flag
PROBATION_END_DATE DATE Probation End Date

Table: DRIVER_VIOLATIONS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
VIOLATION_NUM NUMBER(10) Violation Number
AS_OF_DATE DATE As of Date
DRIVER_IMPROVEMENT_SCHOOL_FLG NUMBER(1) Driver Improvement School Flag
VIOLATION_TYPE_CD NUMBER(5) Violation Type Code
VIOLATION_DATE DATE Violation Date
VIOLATION_COUNTRY_CD NUMBER(5) Violation Country Code
VIOLATION_JURISD_CD NUMBER(5) Violation Jurisdiction Code

Table: FAMILY_ILLNESSES
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
FAMILY_ILLNESS_NUM NUMBER(10) Family Illness Number
AS_OF_DATE DATE As of Date
AGE_AS_OF_DATE DATE Age As of Date
AGE_AT_DEATH NUMBER(3) Age at Death
AGE_IF_LIVING NUMBER(3) Age If Living
DATE_OF_ONSET DATE Date of Onset
DIAGNOSIS_CD NUMBER(5) Diagnosis Code
ONSET_AGE NUMBER(3) Onset Age
RECOVERY_DATE DATE Recovery Date
RECOVERY_FLG NUMBER(1) Recovery Flag
ROLE_CODE_DESC_CD NUMBER(5) Role Description Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-80 Oracle Financial Services Technical Reference Manual


Life Insurance

Table: LIFESTYLE_ACTIVITIES
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
LIFESTYLE_ACTV_TYPE_CD NUMBER(5) Lifestyle Activity Type Code
AS_OF_DATE DATE As of Date
ACTIVITY_COUNT_LAST_YEAR NUMBER(8) Activity Count Last Year
ACTIVITY_COUNT_TOTAL NUMBER(8) Activity Count Total
ACTIVITY_FREQ_MODE_CD NUMBER(5) Activity Frequency Mode Code
AIRSPORTS_PROFESSIONAL_FLG NUMBER(1) Airsports Professional Flag
AT_FAULT_FLG NUMBER(1) At Fault Flag
DATE_LAST_UPDATED DATE Date Last Updated
HOURS_OF_INSTRUCTION NUMBER(8) Hours of Instruction
LAST_ACCIDENT_DATE DATE Last Accident Date
LAST_ACTIVITY_DATE DATE Last Activity Date
LICENSE_FLG NUMBER(1) License Flag
OUTSIDE_RESIDENCE_COUNTRY_FLG NUMBER(1) Outside Residence Country Flag

Table: LIFE_PARTICIPANTS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
AS_OF_DATE DATE As of Date
CUS_KEY VARCHAR2(30) Customer Key
AGE NUMBER(3) Age
ATTAINED_AGE NUMBER(3) Attained Age
AUTO_LIC_REINSTATMENT_DATE DATE Auto License Reinstatment Date
AUTO_LIC_SUSPENSION_FLG NUMBER(1) Auto License Suspension Flag
BIRTH_COUNTRY_CD NUMBER(5) Birth Country Code
BIRTH_JURISDICTION_CD NUMBER(5) Birth Jurisdiction Code
BIRTHDATE DATE Birthdate
BIRTHWEIGHT NUMBER(8,4) Birthweight
CITIZENSHIP_CD NUMBER(5) Citizenship Code
DISTRIBUTION_OPTION_CD NUMBER(5) Distribution Option Code
DRIVERS_LICENSE_CNTRY_CD NUMBER(5) Drivers License Country Code
DRIVERS_LICENSE_NUMBER VARCHAR2(25) Drivers License Number
DRIVERS_LICENSE_POINTS NUMBER(8) Drivers License Points
DRIVERS_LICENSE_POINTS_DATE DATE Drivers License Points Date
DRIVERS_LICENSE_STATE_CD NUMBER(5) Drivers License State Code
EDUCATION_LEVEL_LF_CD NUMBER(5) Education Level Life Code
EST_MORTALITY_DATE DATE Estimated Mortality Date
EST_RETIRE_DATE DATE Estimated Retire Date
EST_SALARY NUMBER(14,2) Estimated Salary

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-81


Life Insurance

HEIGHT NUMBER(3) Height


IMMIGRATION_STATUS_CD NUMBER(5) Immigration Status Code
ISSUE_AGE NUMBER(3) Issue Age
ISSUE_GENDER CHAR(1) Issue Gender
KNOWN_FAMILY_HISTORY_FLG NUMBER(1) Known Family History Flag
LAST_DATE_UPDATED DATE Last Date Updated
LICENSE_STATE_CD NUMBER(5) License State Code
MARITAL_STATUS_LF_CD NUMBER(5) Marital Status Life Code
MIB_REASON_CD NUMBER(5) MIB Reason Code
NUM_BROTHERS_DEAD NUMBER(3) Number Brothers Dead
NUM_BROTHERS_LIVING NUMBER(3) Number Brothers Living
NUM_SISTERS_DEAD NUMBER(3) Number Sisters Dead
NUM_SISTERS_LIVING NUMBER(3) Number Sisters Living
OCCUP_CLASS_CD NUMBER(5) Occupation Class Code
OCCUP_RATING_CD NUMBER(5) Occupation Rating Code
OCCUPATION_CD VARCHAR2(5) Occupation Code
PARTICIPANT_ROLE_CD NUMBER(5) Participant Role Code
PERM_FLAT_EXTRA_AMT NUMBER(14,2) Permanent Flat Extra Amount
PERM_TABLE_RATING_CD NUMBER(5) Permanent Table Rating Code
POSTAL_CODE_RESIDENCE VARCHAR2(11) Postal Code Residence
PREMATURE_BIRTH_FLG NUMBER(1) Premature Birth Flag
RECORD_COUNT NUMBER(6) Record Count
REJECTED_DATE_LAST DATE Rejected Date Last
REJECTION_FLG NUMBER(1) Rejection Flag
REJECTION_REASON_CD VARCHAR2(5) Rejection Reason Code
RESIDENCE_COUNTRY_CD NUMBER(5) Residence Country Code
RESIDENCE_STATE_CD NUMBER(5) Residence State Code
SMOKER_FREQ_MODE_CD NUMBER(5) Smoker Frequency Mode Code
SMOKER_FREQ_NUMBER NUMBER(8) Smoker Frequency Number
SMOKER_STAT_CD NUMBER(5) Smoker Stat Code
SPECIAL_DATE_LAST DATE Special Date Last
SPECIAL_TERMS_FLG NUMBER(1) Special Terms Flag
SPECIAL_TERMS_REASON_CD VARCHAR2(5) Special Terms Reason Code
TEMP_FLAT_END_DATE DATE Temp Flat End Date
TEMP_FLAT_EXTRA_AMT NUMBER(14,2) Temp Flat Extra Amount
TEMP_TABLE_RATING_CD NUMBER(5) Temp Table Rating Code
TEMP_TABLE_RATING_END_DATE DATE Temp Table Rating End Date
TOBACCO_FREE_DATE DATE Tobacco Free Date
TOBACCO_TYPE_CD NUMBER(5) Tobacco Type Code
UNDERWRITING_CLASS_CD NUMBER(5) Underwriting Class Code
WEIGHT NUMBER(8,4) Weight

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-82 Oracle Financial Services Technical Reference Manual


Life Insurance

WORK_EXPERIENCE_ADMIN NUMBER(8,4) Work Experience Admin


WORK_EXPERIENCE_MANUAL NUMBER(8,4) Work Experience Manual
WORK_EXPERIENCE_SUPERV_ADMIN NUMBER(8,4) Work Experience Superv Admin
WORK_EXPERIENCE_SUPERV_MANUAL NUMBER(8,4) Work Experience Superv Manual
WORK_EXPERIENCE_TRAVEL NUMBER(8,4) Work Experience Travel
AIRSPORTS_COMPETE_FLG NUMBER(1) Airsports Compete Flag
AIRSPORTS_PROFESSIONAL_FLG NUMBER(1) Airsports Professional Flag
AIRSPORTS_SAFETY_STANDARDS_FLG NUMBER(1) Airsports Safety Standards Flag
AV_IFR_FLG NUMBER(1) Aviation IFR Flag
AV_AVIATION_TYPE_CD NUMBER(5) Aviation Aviation Type Code
AV_STUDENT_FLG NUMBER(1) Aviation Student Flag
AV_AIRCRAFT_TYPE_CD NUMBER(5) Aviation Aircraft Type Code
AV_JOB_ON_AIRCRAFT_CD NUMBER(5) Aviation Job on Aircraft Code
AV_FLYING_PURPOSE_CD NUMBER(5) Aviation Flying Purpose Code
AV_HIGHEST_QUALIF_LVL_CD NUMBER(5) Aviation Highest Qualif Lvl Code
AV_PROPOSED_QUALIF_LVL_FLG NUMBER(1) Aviation Proposed Qualif Lvl Flag
AV_DATE_OF_QUALIFICATION DATE Aviation Date of Qualification
AV_RENEWAL_FLG NUMBER(1) Aviation Renewal Flag
BALLOON_LAND_FLG NUMBER(1) Balloon Land Flag
BALLOON_INLAND_WATER_FLG NUMBER(1) Balloon Inland Water Flag
BALLOON_REMOTE_TERRAIN_FLG NUMBER(1) Balloon Remote Terrain Flag
BALLOON_MOUNTAINS_FLG NUMBER(1) Balloon Mountains Flag
BALLOON_OCEAN_FLG NUMBER(1) Balloon Ocean Flag
BALLOON_TYPE_CD NUMBER(5) Balloon Type Code
BALOON_NUMBER_HOURS NUMBER(8) Baloon Number Hours
CLIMB_AVG_DURATION NUMBER(8) Climb Average Duration
CLIMB_AVG_HEIGHT NUMBER(8) Climb Average Height
CLIMB_AVG_DIFFICULTY_CD NUMBER(5) Climb Average Difficulty Code
CLIMB_GUIDE_USAGE_FLG NUMBER(1) Climb Guide Usage Flag
CLIMB_SOLO_FLG NUMBER(1) Climb Solo Flag
CLIMB_BREATHING_APPARATUS_FLG NUMBER(1) Climb Breathing Apparatus Flag
FOREIGN_TRAVEL_AVG_TIME NUMBER(8) Foreign Travel Average Time
FOREIGN_TRAVEL_BUS_FLG NUMBER(1) Foreign Travel Business Flag
FOREIGN_TRAVEL_CNTRY_CD NUMBER(5) Foreign Travel Country Code
FOREIGN_TRAVEL_ENV_CD NUMBER(5) Foreign Travel Environment Code
FOREIGN_TRAVEL_MAX_TIME NUMBER(8) Foreign Travel Maximum Time
FOREIGN_TRAVEL_PLEASURE_FLG NUMBER(1) Foreign Travel Pleasure Flag
HANG_GLIDE_CERTIFIED_CRAFT_FLG NUMBER(1) Hang Glide Certified Craft Flag
HANG_GLIDE_EXPERIM_EQUIP_FLG NUMBER(1) Hang Glide Experim Equip Flag
HANG_GLIDE_ASSEMBLY_CD NUMBER(5) Hang Glide Assembly Code
MILITARY_NUM_MONTHS_CUR_ASG NUMBER(8) Military Num Months Cur Assignment

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-83


Life Insurance

MILITARY_ORG_TYPE_CD NUMBER(5) Military Org Type Code


MILITARY_RANK_CD NUMBER(5) Military Rank Code
MILITARY_STATUS_CD NUMBER(5) Military Status Code
PARACHUTING_FREE_FALL_MAX NUMBER(8) Parachuting Free Fall Maximum
PARACHUTING_FREE_FALL_AVG NUMBER(8) Parachuting Free Fall Average
RACING_DISTANCE_AVG NUMBER(8) Racing Distance Average
RACING_DISTANCE_MAX NUMBER(8) Racing Distance Maximum
RACING_SPEED_AVG NUMBER(8) Racing Speed Average
RACING_SPEED_MAX NUMBER(8) Racing Speed Maximum
RACING_TRACK_TYPE_CD NUMBER(5) Racing Track Type Code
RACING_TRACK_SURFACE_CD NUMBER(5) Racing Track Surface Code
RACING_COMPETITION_LIC_FLG NUMBER(1) Racing Competition License Flag
RACING_DRIVER_SCHOOL_FLG NUMBER(1) Racing Driver School Flag
RACING_STUNT_DRIVING_FLG NUMBER(1) Racing Stunt Driving Flag
RACING_COMPETITION_LOC_FLG NUMBER(1) Racing Competition Loc Flag
RACING_PROFESSIONAL_FLG NUMBER(1) Racing Professional Flag
ULTRALIGHT_CRAFT_CD NUMBER(5) Ultralight Craft Code
ULTRALIGHT_RIGID_WING_FLG NUMBER(1) Ultralight Rigid Wing Flag
ULTRALIGHT_MOTORIZED_FLG NUMBER(1) Ultralight Motorized Flag
ULTRALIGHT_LICENSE_FLG NUMBER(1) Ultralight License Flag
UW_DIVING_AVG_DEPTH NUMBER(8) UW Diving Average Depth
UW_DIVING_AVG_MINUTES NUMBER(8) UW Diving Average Minutes
UW_DIVING_CERTIF_LVL_CD NUMBER(5) UW Diving Certif Lvl Code
UW_DIVING_DIVE_ALONE_FLG NUMBER(1) UW Diving Alone Flag
UW_DIVING_PURPOSE_CD NUMBER(5) UW Diving Purpose Code
UW_DIVING_TYPE_CD NUMBER(5) UW Diving Type Code
UW_DIVING_EXPERIM_EQUIP_FLG NUMBER(1) UW Diving Experim Equip Flag
UW_DIVING_LAST_DIVE_DATE DATE UW Diving Last Dive Date
UW_DIVING_MAX_DEPTH NUMBER(8) UW Diving Maximum Depth
UW_DIVING_MAX_MINUTES NUMBER(8) UW Diving Maximum Minutes
UW_DIVING_EQUIP_SERVICE_FLG NUMBER(1) UW Diving Equip Service Flag

Table: LIFE_PARTICIPANTS_POLICIES
Column Name Data Type Display Name
IDENTITY_CODE NUMBER(10) Identity Code
ID_NUMBER NUMBER(25) ID Number
PARTICIPANT_NUMBER NUMBER(10) Participant Number
AS_OF_DATE DATE As of Date
INSTRUMENT_TYPE_CD NUMBER(5) Instrument Type Code

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-84 Oracle Financial Services Technical Reference Manual


Life Insurance

Table: MEDICAL_CONDITIONS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
MEDICAL_CONDITION_NUM NUMBER(10) Medical Condition Number
AS_OF_DATE DATE As of Date
CONDITION_TYPE_CD NUMBER(5) Condition Type Code
CONDITION_ONSET_DATE DATE Condition Onset Date
CONDITION_STATUS_CD NUMBER(5) Condition Status Code
DATE_LAST_SEEN DATE Date Last Seen
DATE_LAST_UPDATED DATE Date Last Updated
DISABILITY_FLG NUMBER(1) Disability Flag
LAST_EPISODE_DATE DATE Last Episode Date
NUM_EPISODES_LAST_YEAR NUMBER(8) Number Episodes Last Year
NUM_EPISODES_TOTAL NUMBER(8) Number Episodes Total
RECOVERY_DATE DATE Recovery Date
RECURRENCES_FLG NUMBER(1) Recurrences Flag
TIME_OFF_WORK NUMBER(8) Time Off Work
TREATMENT_START_DATE DATE Treatment Start Date
WEIGHT_CHANGE NUMBER(8,4) Weight Change

Table: MEDICAL_PREVENTIONS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
MEDICAL_PREVENTION_NUM NUMBER(10) Medical Prevention Number
AS_OF_DATE DATE As of Date
RESULTS_FLG NUMBER(1) Results Flag
TEST_DATE DATE Test Date
TEST_TYPE_CD NUMBER(5) Test Type Code
VISIT_REASON_CD NUMBER(5) Visit Reason Code

Table: MEDICAL_TREATMENTS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
MEDICAL_CONDITION_NUM NUMBER(10) Medical Condition Number
TREATMENT_TYPE_CD NUMBER(5) Treatment Type Code
AS_OF_DATE DATE As of Date
TREATMENT_START_DATE DATE Treatment Start Date
DATE_LAST_SEEN DATE Date Last Seen
TREATMENT_COMPLETION_FLG NUMBER(1) Treatment Completion Flag
TREATMENT_FREQ_MODE_CD NUMBER(5) Treatment Frequency Mode Code
COMPLICATIONS_FLG NUMBER(1) Complications Flag

Oracle Proprietary, Confidential Information - Use Restricted by Contract

Insurance Data Model A-85


Life Insurance

Table: RACING_COMPETITIONS
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
RACING_COMPETITION_NUM NUMBER(10) Racing Competition Number
AS_OF_DATE DATE As of Date
CLASS_CHANGE_FLG NUMBER(1) Class Change Flag
COMPETITION_CLASS_CD NUMBER(5) Competition Class Code
VEHICLE_ENGINE_MAKE_CD VARCHAR2(5) Vehicle Engine Make Code
VEHICLE_ENGINE_MODEL_CD VARCHAR2(5) Vehicle Engine Model Code
VEHICLE_ENGINE_SIZE_CD VARCHAR2(5) Vehicle Engine Size Code
VEHICLE_HORSEPOWER NUMBER(8) Vehicle Horsepower
VEHICLE_MAKE_CD VARCHAR2(5) Vehicle Make Code
VEHICLE_MODEL_CD VARCHAR2(5) Vehicle Model Code
VEHICLE_USAGE_FLG NUMBER(1) Vehicle Usage Flag

Table: SUBSTANCE_USAGES
Column Name Data Type Display Name
PARTICIPANT_NUMBER NUMBER(10) Participant Number
SUBSTANCE_USAGE_NUM NUMBER(10) Substance Usage Number
AS_OF_DATE DATE As of Date
ADVISED_TO_LIMIT_USE_FLG NUMBER(1) Advised to Limit Use Flag
LAST_TREATMENT_DATE DATE Last Treatment Date
MEMBER_OF_SUPPORT_GROUP_FLG NUMBER(1) Member of Support Group Flag
SUBSTANCE_TYPE_CD NUMBER(5) Substance Type Code
SUBSTANCE_END_DATE DATE Substance End Date
SUBSTANCE_START_DATE DATE Substance Start Date
SUBSTANCE_MODE_CD NUMBER(5) Substance Mode Code
SUPPORT_GROUP_END_DATE DATE Support Group End Date
SUPPORT_GROUP_NAME_CD VARCHAR2(5) Support Group Name Code
SUPPORT_GROUP_START_DATE DATE Support Group Start Date

Oracle Proprietary, Confidential Information - Use Restricted by Contract

A-86 Oracle Financial Services Technical Reference Manual


Glossary

Assumption IDs
This term refers to a family of IDs you use to create underlying assumptions to run
Risk Manager and Transfer Pricing processes.

Bulk Processing
OFSA processing implemented with SQL statements that affect multiple rows is
identified as Bulk Processing. OFSA uses bulk processing in situations where a large
number of records are updated using a single SQL statement. A single OFSA
process can use more than one bulk SQL statement to complete the process.
Bulk processing is generally database bound. Refer to the Multi-processing section
in Chapter 5, “UNIX Server Installation and Configuration”, in the Oracle Financial
Services Installation and Configuration Guide for more information on database bound
processing.

Cash Flow Column


A Cash Flow column is an instrument column in the Oracle Financial Data Manager
(FDM) database storing specific characteristics that dictate the cash payments and
receipts for an account. Cash Flow columns are required for any OFSA processing
that needs to generate cash payment and receipt events for instrument accounts.

Database Diagram
A database diagram is a graphic representation of application tables and the
relationships between them.

Glossary-1
Functional Area
A functional area is a set of tables and processes used to satisfy a business or
process requirement. Each of the functional areas identified in the OFSA Technical
Reference Manual is a set of tables used to implement a feature or business rule in
OFSA. For example, the tables in the Leaves and Hierarchies functional area are
used to identify Leaf Nodes and Tree Rollups.

ID
An ID is a logical construct for processing assumptions, instructions, report
specifications, or other modeling related directions to OFSA software.

Instrument Table
Instrument tables in the FDM database contain account level financial data.

Knowledge Engine
The OFSA Knowledge Engines provide the means by which additional value-added
information is created within the FDM database. Information is retrieved from the
FDM database and processed based upon assumptions specified by the user.
The following is a list of the Knowledge Engines used by OFSA:
■ Data Correction Processing
■ Market Manager Processing
■ Allocation Processing
■ Risk Manager Processing
■ Transfer Pricing Processing
■ Transformation Processing
While a Knowledge Engine does not exist for Oracle Budgeting & Planning, the
process by which value is added to the data is logically the same. Oracle Budgeting
& Planning provides information to the user, which is then used to create value
added budget information.

Glossary-2
Leaf Column
A Leaf column is a special column used for categorizing data within the FDM
database. Leaf columns provide information about how an account can be classified
into different Charts of Accounts or Organizational Structures. Leaf values are the
lowest level of designation within a Chart of Accounts.
For example, the Organizational Unit leaf column is provided with the initial
installation of the FDM database. This column is used to categorize accounts by
certain Organizational designations/locations within an institution. Accounts
would be assigned (or would originate from) individual Organizational units. Each
Organizational Unit would be represented by a leaf value for that column.
Leaf values can be hierarchically organized using an OFSA Tree Rollup ID.
The standard leaf columns provided with the initial FDM database structure are
Financial Element, Organizational Unit, General Ledger Chart of Accounts, and
Common Chart of Accounts. Additional user-defined Leaf columns can be created if
needed.

LEDGER_STAT table
The LEDGER_STAT table is the data source for summary financial and statistical
data used by OFSA.

OFSA
OFSA is an abbreviation for Oracle Financial Services Applications. OFSA refers
generically to the system that comprises the products in the Oracle Financial
Services suite.

OFSA Reserved Table


OFSA Reserved tables are provided with the installation of the FDM database and
cannot be customized or altered. In addition, Oracle recommends that the data in
these tables not be updated or changed outside of the OFSA interface. To update or
change the data in these tables outside of the OFSA interface may cause OFSA to
function incorrectly.
Note that many of the tables described within Chapter 2. “Detail Design” should
not be customized or altered, even though they are not categorized as OFSA
Reserved. Such tables are described in Chapter 2. “Detail Design” because they
contain data that may be accessed outside of the OFSA interface, or because they
provide a critical link to understanding of OFSA processes.

Glossary-3
Product
A product is one application of the OFSA suite. Each of the OFSA products
provides a set of business functions. OFSA is comprised of the following products:
■ Oracle System Administration
■ Oracle Balance & Control
■ Oracle Budgeting & Planning
■ Oracle Market Manager
■ Oracle Performance Analyzer
■ Oracle Portfolio Analyzer
■ Oracle Risk Manager
■ Oracle Transfer Pricing

Portfolio Field
A Portfolio field is a field that is common to all financial instruments.

Portfolio Instrument Table


A Portfolio Instrument is a table defined with all required instrument columns and
all cash flow columns. By definition, all portfolio fields must be included on a
Portfolio Instrument Table.

Row-by-row Processing
OFSA processing implemented by evaluating one record at a time is identified as
Row by Row Processing. OFSA uses row by row processing for situations where a
number of complex calculations are executed for each record. For example, OFSA
uses row by row processing when generating cash flows for individual accounts
during Risk Manager processing.
Row by row processing is generally OFSA bound. Refer to the Multi-processing
section of Chapter 5, “UNIX Server Installation and Configuration” in the Oracle
Financial Services Installation and Configuration Guide for more information regarding
OFSA bound processing.

Glossary-4
Summary Database Diagram
A summary database diagram shows the most important application tables and the
relationships between them. It omits tables and relationships that contribute little to
the understanding of the application data model. In addition, groups of tables that
are conceptually linked may be identified as a single entity, rather than individually
tables.

Tree Rollup
Tree Rollups are custom hierarchies based on leaf columns. For example, an
Organizational hierarchy showing the relationships of all Organizational Units and
any summary nodes can be created for the Organizational Unit leaf using the Tree
Rollup ID interface.
OFSA allows any number of Tree Rollups to be created within the database.

Glossary-5
Glossary-6
Index
A ARPI protocol definition, 5-15
assumptions
absolute payment amount, translating, 9-15 Forecast Balance, 9-16
Accrual
At
Method, 16-2
First Method, 16-3
adapter specification Last Method, 16-3
ARPI, 5-6
autobalancing
Allocation ID
Percent Taxable option, 9-8
AUDIT_TRAIL table, 2-59, 2-60 Average
Boundaries and Limitations, 6-5
Method, 16-2
DATA_IDENTITY table, 2-92
IDT_ROLLUP table, 2-154
IDT_VIEW_FILTER table, 2-162 B
NODE_DESC table, 2-196 bad usage, 5-24
allocation processing, 3-1 Balances
amortization code Boundaries and Limitations, 6-4
800 code, 9-12 Balances and Spreads
801 code, 9-12 Balances and Limitations, 6-2
802 code, 9-12 Bullets, xxxvi
application engine, 5-9
configuration, 5-15
application request parameter interface, 5-15 C
architecture cancelled return code, 5-24
client/server, 5-1 cash flow calculation process, 9-5
ARPI adapter, 5-9 Cash Flow Calculations
data interface, 5-11 Boundaries and Limitations, 6-8
system structure, 5-10 cash flow data
ARPI adapter specification, 5-6 adjustable neg-am, 9-18
function, 5-6 detail, 9-55
purpose, 5-6 event triggers, 9-18
requirements, 5-6 static information, 9-17
ARPI command-line method, 5-15 Cash Flow Generation
ARPI examples, 5-17 Boundaries and Limitations, 6-9
ARPI interface sub-component, 5-11 Cash Flow(s)

Index-1
Calculations, 9-1 initialization, 9-5
Daily, 9-2 data changes in instruments, 9-4
client server architecture, 5-1 Data Correction Process ID
component interactions, 5-12 IDT_VIEW_FILTER table, 2-162
configuration, 5-15 PROCESS_ERRORS table, 2-203
Configuration ID, 5-17 data correction processing, 3-7
Data Correction Processing Data Filter ID
additional data, 3-11 Boundaries and Limitations, 6-3
Data Correction processing steps, 3-9 CATALOG_OF_IDS table, 2-62
IDT_CONFIGURE table, 2-142, 2-143 Data Processing Steps
Physical Data Model Filter?, 3-9
ID_DESC_SHORT, 5-27 IDT_RESULT_HEADER table, 2-149
SYS_ID_NUM, 5-27 in Data Correction Processing Steps
Risk Manager Read Filter Type and ID, 3-9
Modeling Buckets, 6-6 Risk Manager Processing Steps
Risk Manager processing Read Instrument Data, 3-42
additional notes, 3-44 Transfer Pricing Processing Steps
Risk Manager processing steps, 3-40 Read Data Filter ID, 3-48
instrument table update, 3-45 Read Instrument Records, 3-49
Consolidation/Elimination Limits Transformation Processing
Boundaries and Limitations, 6-2 Filter?, 3-52
Conventions, 9-3 Transformation Processing Steps
Correction Rule ID Error in Transformation ID?, 3-53
bulk processing, 3-12 Read Filter Type and ID, 3-52
Data Correction processing steps data interface interactions, 5-25
additional notes, 3-11 data interface sub-component, 5-11
Evaluate Formula IDs, 3-9 data loading routines, 4-1, 4-2
Read IDs, 3-9 data model
Correction Rules request, 5-28
Boundaries and Limitations, 6-1 Data Movement Routines (DMRs), 4-2
cost of optionality data transformation routines, Oracle Budgeting &
quatifying, 12-1 Planning, 4-1
Currency Gain/Loss Basis, 9-8 Data Verification ID
Currency Values OFSA_INDEX_STORAGE_DEFAULTS
Boundaries and Limitations, 6-2 table, 2-164
currency-based processing, 9-4 database interactions, 5-14
Customer database, FDM, 5-9
Rate, 9-38 default currency code, 9-4
Support Information, xxxviii detail
customerization, 3-13 cash flow data, 9-55
determining an account type of instrument, 9-6
dimensions and hierarchies, loading, 4-3
D
Discount Rates ID
Daily Cash Flows, 9-2 IDT_RESULT_HEADER table, 2-149
data dynamic

Index-2
characteristics, 9-10 Boundaries and Limitations, 6-7
Dynamic Buckets Risk Manager Processing Steps
Boundaries and Limitations, 6-6 Read Scenario Assumptions, 3-41

E G
environment management requirements, 5-6 Group Filter ID
output management, 5-7 IDT_RESULT_HEADER table, 2-149
error conditions, 5-23 Risk Manager Processing Steps
errors Read Instrument Data, 3-42
cancelled, 5-24 GROUP_NAME, 5-28
conditions, 5-23
required action return codes, 5-24
H
server application, 5-23
Event Driven Logic, 9-2 Historical Rates ID
Event Use Code Values, 9-59 Transfer Pricing Processing Steps
Error in Assumptions?, 3-49
Load Historical Rates ID, 3-48
F householding, 3-13, 3-25
FDM database, 5-9
financial element processing, 4-13
I
financial elements
cash flow calculations, 9-3 ID name value, 5-21
Oracle Risk Manager, 16-1 ID_DESC_SHORT, 5-27
Fiscal Year ID_TYPE, 5-27
Boundaries and Limitations, 6-2 Initialization
Forecast Balance assumptions, 9-16 of Data, 9-5
Forecast Balance ID initialization of data, 9-5
Boundaries and Limitations, 6-7 Initialize
IDT_RESULT_HEADER table, 2-149 Cash Flow Data, 9-9
Risk Manager Processing Steps Interface Data, 9-7
Read Scenario Assumption, 3-41 initializing
forecast rate calculations adjustable rate instruments for Transfer
currency forecasting, 14-1 Pricing, 9-15
interest rate forecasting, 14-8 pattern records, 9-13
Forecast Rates ID single timeline pattern, 9-13
Boundaries and Limitations, 6-8 split pattern, 9-14
IDT_RESULT_HEADER table, 2-149 initializing schedule records, 9-12
Risk Manager Processing Steps inputs to ARPI, 5-15
Read Scenario Assumptions, 3-41 Instrument
Formula ID Level Modeling, 9-2
Boundaries and Limitations, 6-3 instrument
Data Correction Processing Steps data changes, 9-4
Evaluate Formula ID, 3-9 determining an account type, 9-6
Formula Leaves ID Instrument Table ID Numbers

Index-3
Boundaries and Limitations, 6-4 LOI, 5-2
insurance levels, 5-2
data model, A-1 code sharing, 5-2
life, A-1 extended OFSA data model, 5-2
property casualty, A-1 shared OFSA data, 5-2
interactions LSL, 5-1, 5-5
data interface, 5-25
internal, 5-25
M
output manager, 5-24
spawn manager, 5-13 Market
Interest Value
Credited, 9-7 Results, 7-6
interest credited switch, 9-7 Value(s)
interface Calculation, 9-46
application request parameter, 5-15 Market Manager processing, 3-12
internal interactions, 5-25 market value calculation, 9-50
diagram, 5-25 Maturity Mix data, loading, 4-16
IRC Maturity Strategy ID
Value(s), 9-38 Risk Manager Processing Steps
Read Scenario Assumptions, 3-41
merge customers, 3-17
J merge Individual customer records, 3-20
job number, 5-26 Model with Gross Rates option, 9-7
job number lookup, 5-14 Modeling
JOB_NUM, 5-29 Flexibility, 9-2
Instrument Level, 9-2
Start, End Dates, 9-15
K
modeling
Knowledge Engine, 3-1 process, events, 9-17
Modeling Buckets
L Boundaries and Limitations, 6-6
modeling start and end dates, 9-15
Leaf Characteristics ID Monte Carlo
Boundaries and Limitations, 6-6 analytics, 15-1
IDT_CONFIGURE table, 2-144 processing, 6-8
Leaf Set Up multicurrency
Boundaries and Limitations, 6-4 accounting and consolidation, 9-3
Ledger Stat data, loading, 4-7 Currency Gain/Loss Basis, 9-8
level of integration, 5-2 multiple type enabled parameters, 5-21
life insurance, A-1
List(s)
Numbered, xxxvi N
Logic Negative
Event Driven, 9-2 Amortization Check, 9-27
logical software layers, 5-1 NGAM Equalization Event, 9-21

Index-4
non-currency-based processing, 9-4 Transfer Pricing, 5-16
Number of IDs parameter management, 5-7
Boundaries and Limitations, 6-4 parameters
Numbered Lists, xxxvi multiple type, 5-21
passing parameters
data interface, 5-11
O
password security, 5-8
OFS application engine, 5-9 Pay-Equivalent Compounding Convention
OFSA database interactions, 5-14 switch, 9-8
OFSA environment, 5-11 Payment
OFSA environment management, 5-6 Calculation Event, 9-17
OFSA ID Names payment calculation steps, 9-18
Boundaries and Limitations, 6-3 payment event, 9-21
OFSA job number, 5-26 payment event steps, 9-22
OFSA job number interface, 5-11 payment pattern data, 9-8
OFSA job number lookup, 5-14 percent
OFSA process flow, 5-4 sold adjustment, 9-16
OFSA processing Percent Taxable option, 9-8
application engine, 5-9 prepared parameters, 5-26
ARPI adapter, 5-9 prepayment
output manager, 5-9 event, 9-30
process spawn manager, 5-9 Prepayment ID
OFSA system design, 5-8 Boundaries and Limitations
option cost calculations Risk Manager, 6-8
purpose of, 12-1 Transfer Pricing, 6-8
Oracle Express Administrator, 4-2 IDT_RESULT_HEADER table, 2-149
Oracle Financial Analyzer, 4-1 Risk Manager Processing Steps
Oracle Financial Data Manager (OFDM), 4-1 Read Scenario Assumptions, 3-41
ordering parameters, 5-11 Read Stochastic Assumptions, 3-41
Organizational Unit Tree Transfer Pricing Processing Steps
Boundaries and Limitations, 6-1 Error in Assumptions, 3-49
output management, 5-7 Read Prepayment ID, 3-48
output manager, 5-9 Prepayment Table ID
output manager interactions, 5-24 Boundaries and Limitations
output manager interface, 5-11 Risk Manager, 6-8
outputs from ARPI, 5-23 Transfer Pricing, 6-8
Transfer Pricing Processing Steps
P Read Prepayment ID, 3-48
Pricing Margin ID
parameter IDT_RESULT_HEADER table, 2-149
application request, 5-15 Risk Manager Processing Steps
parameter format management, 5-7 Read Scenario Assumptions, 3-41
parameter interface process
Balance and Control, 5-16 cash flow calculation, 9-5
Risk Manager, 5-16 process control

Index-5
spawned, 5-8 non-currency-based, 9-4
process data model, 5-26 Product Tree
process flow, 5-3 Boundaries and Limitations, 6-1
diagram, 5-4 product/currency combinations, 9-4
Process ID promotion generation, 3-32
Data Correction Processing Steps promotion rollup, 3-37
Read Process ID, 3-9 promotion tracking by product, 3-27
IDT_VIEW_FILTER table, 2-162 promotion tracking by query, 3-30
PROCESS_CASH_FLOWS table, 2-200 property/casualty insurance, A-1
PROCESS_ERRORS table, 2-203 PSL, 5-5
Risk Manager Processing Steps
additional notes, 3-44
R
Read RM Process ID, 3-40
Value at Risk processing, 3-43 rate conversion
Write one month rates?, 3-43 algorithms, 13-8
Transfer Pricing Processing Steps definitions, 13-1
Read Process ID, 3-48 rate format usage, 13-5
Process ID (for Budgeting and Planning) Rate Index ID
DATA_IDENTITY table, 2-93 Boundaries and Limitations, 6-7
Process ID (for Risk Manager) Risk Manager Processing Steps
IDT_RESULT_DETAIL table, 2-146 Read Stochastic Assumptions, 3-41
IDT_RESULT_HEADER table, 2-149 Rates
OFSA_TABLE_TRACKING table, 2-247 Boundaries and Limitations, 6-4
RES_DTL_XXXXXX table, 2-34, 2-39, 2-40, 2-41, registering captured output, 5-11
2-42, 2-272 relational environment, 4-1
RESULT_BUCKET table, 2-215 Report ID
RESULT_MASTER table, 2-80, 2-217 Boundaries and Limitations, 6-5
RESULT_SCENARIO table, 2-223 DETAIL_LEAVES table, 2-110
TM_STOCH_MKT_VAL table, 2-254 FISCAL_YEAR_INFO table, 2-134
TM_STOCH_RATES table, 2-255 IDT_CONFIGURE table, 2-142
TM_STOCH_TOT_VAR table, 2-256 IDT_SUBTOTAL table, 2-160
TM_STOCH_VAR table, 2-257 LEAF_DESC table, 2-186
Process ID (for Transfer Pricing) NODE_DESC table, 2-196
DATA_IDENTITY table, 2-93 Report(s)
process modeling events, 9-17 Macros, 16-16
process requirements, 5-7 reprice event, 9-37
parameter format management, 5-7 repricing pattern data, 9-8
parameter management, 5-7 request data model, 5-28
spawned process control, 5-8 Request Queue
SQL query capabilities, 5-7 Boundaries and Limitations, 6-3
process spawn manager, 5-9 required action return codes, 5-24
Processing requirements
Boundaries and Limitations, 6-7 environment management, 5-7
processing process, 5-7
currency-based, 9-4 security, 5-8

Index-6
return codes, 5-23, 5-24 Subtotal ID
bad usage, 5-24 IDT_ROLLUP table, 2-154
cancelled, 5-24 IDT_SUBTOTAL table, 2-160
Risk Manager data, loading, 4-10 LEAF_DESC table, 2-186
Risk Manager processing, 3-38 NODE_DESC table, 2-196
Risk Manager Reports Sum
Boundaries and Limitations, 6-6 Method, 16-3
Rounding Codes, 9-40 Super Administrator personal database, 4-2
Rule of 78’s, 9-59 SYS_ID_NUM, 5-27
system design, 5-8
system ID number value, 5-21
S
system interactions, 5-12
scenario-based processing, 3-44 system structure, 5-10
schedule records, initializing, 9-12 ARPI interface sub-component, 5-11
secured directory, 5-8
secured files
temporary, 5-8 T
secured variables, 5-14, 5-26 Table ID
security Boundaries and Limitations, 6-5
maintaining, 5-12 Transfer Pricing Processing Steps
password, 5-8 Read Prepayment ID, 3-48
secured directory, 5-8 temporary secured files, 5-8
secured variables, 5-14, 5-26 Term Structure ID
unsecured variables, 5-14 Boundaries and Limitations, 6-7
security requirements, 5-8 Term Structure Models, 15-25
password security, 5-8 Terms and Frequencies
secured directory, 5-8 Boundaries and Limitations, 6-4
temporary secured files, 5-8 Time Periods
security sub-component, 5-12 Boundaries and Limitations, 6-2
server application return codes, 5-23 Transaction Strategies ID
setting values Boundaries and Limitations, 6-7
required environment variables, 5-11 Transaction Strategy ID
single timeline pattern, initializing, 9-13 IDT_CONFIGURE table, 2-144
spawn manager interactions, 5-13 IDT_RESULT_HEADER table, 2-149
spawned process control, 5-8 Risk Manager Processing Steps
split pattern, initializing, 9-14 Read Scenario Assumptions, 3-41
SQL query capabilities, 5-7 Read Stochastic Assumptions, 3-41
SQL Statements Transfer
Boundaries and Limitations, 6-4 Pricing, 9-38
SQL Talk Transfer Pricing Calculations
Boundaries and Limitations, 6-3 Boundaries and Limitations, 6-9
static characteristics, 9-9 Transfer Pricing ID
stochastic-based processing, 3-44 Transfer Pricing Processing Steps
Stratification ID Error in Assumptions?, 3-49
Boundaries and Limitations, 6-5 Read Instrument Records, 3-49

Index-7
Read Transfer Pricing ID, 3-48 Tree Rollup
Transfer Pricing processing, 3-46 Boundaries and Limitations, 6-2
Transformation ID Tree Rollup ID, 6-2
Boundaries and Limitations, 6-3 CATALOG_OF_IDS table, 2-62
DETAIL_ELEM table, 2-105, 2-106 IDT_ROLLUP table, 2-154
IDT_RESULT_HEADER table, 2-149 IDT_SUBTOTAL table, 2-160
IDT_VIEW_FILTER table, 2-162 IDT_VIEW_FILTER table, 2-162
LEAF_DESC table, 2-186 LEAF_DESC table, 2-186
MENU_SECURITY table, 2-246 LEVEL_DESC table, 2-191
NODE_DESC table, 2-196 NODE_DESC table, 2-196
OFSA_TABLE_TRACKING table, 2-247 OFSA_TABLE_TRACKING table, 2-247
PROCESS_ERRORS table, 2-203 TRANSFORM_ROLLUP_TEMPLATE
RES_DTL_XXXXXX, 2-34, 2-272 table, 2-265
RESULT_BUCKET table, 2-215 triggers, 9-11
RESULT_MASTER table, 2-80, 2-217
RESULT_SCENARIO table, 2-223
U
TRANSFORM_LS_TEMPLATE table, 2-258
Transformation Processing Steps UNIX signals, 5-5
additional notes, 3-56 unsecured variables, 5-14
Build Indexes, 3-55 User Interface Display of Dates
Create Output Table(s), 3-54 Boundaries and Limitations, 6-4
Error in Transformation?, 3-53 User-defined Patterns
Filter?, 3-52 Boundaries and Limitations, 6-8
Overlapping Data?, 3-54 Users and Groups
Populate Output Table(s), 3-55 Boundaries and Limitations, 6-3
Read Transformation ID, 3-52
Replace Data?, 3-54
Select Source Data, 3-55
Table Empty?, 3-54
transformation processing, 3-50
translation
non-currency-based processes, 9-11, 9-13
Tree Filter ID
Data Correction Processing Steps
Filter?, 3-9
Read Filter Type and ID, 3-9
IDT_RESULT_HEADER table, 2-149
IDT_ROLLUP table, 2-154
IDT_VIEW_FILTER table, 2-162
LEAF_DESC table, 2-186
NODE_DESC table, 2-196
Risk Manager Processing Steps
Read Instrument Data, 3-42
Transformation Processing Steps
Filter?, 3-52

Index-8

Вам также может понравиться