Sunteți pe pagina 1din 55

{QA86392 RKS Firm Currency Enhancements} {Release#5.

1}
Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Stage: Analyze
Functional Specifications (FS)
Document Version: {1.0 }
{mm/dd/yyyy}

RKS Firm Currency Enhancements


{Release #5.1}

ONYX INFORMATION
Project QA#
CT86392

Customer
Helium

Customer Name
MSIM

Page 0
304944661.doc
200{1} State Street Corporation. Confidential. Internal Use Only

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

DOCUMENT ACCOUNTABILITY
The goal of the Development Process Framework (DPF) Accountability Matrix is to facilitate involving
the right people at the right time in a project. The tables below reflect the people involved in this project
and identify their roles for this deliverable.

PROJECT BOARD
The project board is responsible for the continued integrity of the project, from all points of view. They
continually assess the projects viability and alignment with the corporations overall strategic objectives.
They monitor the projects status, issues, questions and concerns and provide perspective, advice,
recommendations and decisions to guide the project to successful completion.
Project Board Member Role
Project Sponsor
Senior Business Representative
Senior Technology Representative
Senior Project Manager

Name, Organization
IMS Product Managers
Glenn Martellucci
David Joswick
Chris Bailey

CREATED BY
As reflected in the DPF Accountability Matrix, deliverables are produced by the document Owner as
well as the project Participants. The owner has responsibility for coordinating the participation, review
and approval of others, including physically writing and distributing the document. As a subject matter
expert, participants have responsibility for providing relevant input to ensure the completeness and
accuracy of the content of the deliverable.
Responsible for
Creation
Owner
Participants

Function

Name, Organization

Designer
System Analyst
Information Security
Desktop Integration
Networking
Vendor

Abhijeet Dhuru
Radhika Dukhapati
{PFS ITS}
{PFS ITS}
{PFS NTG}
{Vendor}

Comments

CURRENT VERSION REVIEWED BY


As reflected in the DPF Accountability Matrix, Reviewers are non-approving stakeholders who have
the opportunity to comment on drafts of the DPF deliverables.
Function
Business
Director
Product
Manager
SME
Design/
304944661.doc

Name, Organization
Glenn Martellucci

Review Date
{mm/dd/yyyy}

Comments

{Product Manager}
{SME}
{Ben Wang or Jeff Brown}
CONFIDENTIAL
2002 State Street Corporation.

Page i

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}
Function
Name, Organization
Review Date
Development
- Director
Developer
{Developer}
System
Scott Rogers
Admin. &
Support
Configuration
Michael Lyczak
Management
Tester
{UAT Tester}
{System Tester}
Test Manager
{Anna Chu}
Desktop
N/A
Integration
Tester
Development
Wayne Kroger
Tech Writer
User
Glenn Martellucci
Acceptance
Director
User
Glenn Martellucci
Deployment
Director
Contingency
Glenn Martellucci
Planning

Comments

APPROVED BY
As reflected in the DPF Accountability Matrix, Approvers are organizationally responsible for
validating the content of their component of this deliverable. A deliverable is considered a draft until all
approvers formally sign off on the document.
Function
Project
Management
Business
Analyst
Development
Director
Architect

Middleware
Development
Manager
Data Admin. &
Engineering

Name
Organization

Sign-off
Date

Approved
(Yes/No)

Comments or
Signature if Hardcopy
Approval*

{mm/dd/yyyy}
Pramod Gururaj
Dave Joswick
{John Thorpe, Yonghong Li,
Radhika Dukkipati, George
Bertele, David Song, Jim
Werder}
{Developer}
{John Thorpe, Bala Garlapati,
or Scott Rogers}
Scott Rogers

* Project Manager will save all email sign-off approvals for audit purposes.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page ii

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

APPROVED VERSION COPIED TO


Name

Organization

PRIOR VERSION REVISION RECORD


Version
Number

Date and Sections

Comments/Notes

{mm/dd/yyyy}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page iii

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

TABLE OF CONTENTS
1.

EXECUTIVE SUMMARY......................................................................................................1

2.

DOCUMENT INTRODUCTION............................................................................................1

2.1
2.2
2.3
2.4

Deliverable Description.............................................................................................................................1
Customization to DPF Standard Content................................................................................................1
Traceability Matrix....................................................................................................................................1
Related Documents....................................................................................................................................1

3.

DESIGN CONSIDERATIONS................................................................................................1

3.1
3.2
3.3
3.3.1
3.3.2
3.4

Design Techniques......................................................................................................................................1
Design Standards.......................................................................................................................................1
Assumptions and Constraints...................................................................................................................1
Assumptions................................................................................................................................................1
Constraints...................................................................................................................................................1
Risks............................................................................................................................................................1

4.

FUNCTIONAL COMPONENTS............................................................................................1

4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.3
4.4
4.5

Context Diagram........................................................................................................................................1
Business Process Logic..............................................................................................................................1
System level setting for applying the firm currency....................................................................................1
Add Firm Currency field to the portfolio header.........................................................................................1
Changes to the RKS transactions for the Firm Currency enhancements.....................................................1
Changes to the Valuations close process......................................................................................................1
Warning/Error Messaging........................................................................................................................1
Data Considerations..................................................................................................................................1
Volume/Performance.................................................................................................................................1

5.

VIEW DESIGN........................................................................................................................1

5.1
5.1.1
5.1.2
5.1.2.1
5.1.2.2
5.1.2.3
5.1.2.4
5.1.2.5
5.1.2.6
5.1.2.7
5.1.2.8
5.1.2.9
5.1.2.10
5.1.3
5.1.3.1
5.1.3.2
5.1.3.3
5.1.3.4
5.1.3.5
5.1.3.6
5.1.3.7
5.1.3.8

Screen Design.............................................................................................................................................1
Screen Navigation/Workflow Diagram.......................................................................................................1
Screen Name Portfolio Header Other Features....................................................................................1
Description...................................................................................................................................................1
Screen Design..............................................................................................................................................1
Screen Actions.............................................................................................................................................1
Screen Rules................................................................................................................................................1
Data Processing...........................................................................................................................................1
Data Refresh Design....................................................................................................................................1
Data Sharing................................................................................................................................................1
Concurrent Processing.................................................................................................................................1
Scheduling Requirements............................................................................................................................1
Performance/Volume Design Considerations..............................................................................................1
Screen Name RKS Transaction PURCHASE.......................................................................................1
Description...................................................................................................................................................1
Screen Design..............................................................................................................................................1
Screen Actions.............................................................................................................................................1
Screen Rules................................................................................................................................................1
Data Processing...........................................................................................................................................1
Data Refresh Design....................................................................................................................................1
Data Sharing................................................................................................................................................1
Concurrent Processing.................................................................................................................................1

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page iv

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5.1.3.9
5.2
5.2.1
5.2.1.1
5.2.2
5.2.3
5.2.3.1
5.2.3.2
5.2.3.3
5.2.3.4
5.2.4
5.2.5
5.2.6

Scheduling Requirements............................................................................................................................1
Job & Reporting Design............................................................................................................................1
Job & Report Documentation......................................................................................................................1
{Job / Report Name}...................................................................................................................................1
Report Workflow Diagram..........................................................................................................................1
Report Requests...........................................................................................................................................1
Users............................................................................................................................................................1
Selection Criteria.........................................................................................................................................1
Timing..........................................................................................................................................................1
Procedures....................................................................................................................................................1
Concurrent Processing.................................................................................................................................1
Scheduling Requirements............................................................................................................................1
Performance/Volume Design Considerations..............................................................................................1

6.

MODEL.....................................................................................................................................1

6.1
6.1.1
6.1.1.1
6.1.2
6.1.2.1
6.2
6.2.1
6.2.1.1
6.2.2
6.3
6.3.1

Database Model..........................................................................................................................................1
Memtables....................................................................................................................................................1
{DDT or Uptable} - {Name}.......................................................................................................................1
Database Tables...........................................................................................................................................1
Database Table - {Table Name}..................................................................................................................1
Messages.....................................................................................................................................................1
Recordkeeping Messages.............................................................................................................................1
{Message Name}.........................................................................................................................................1
Third Party Vendor Messages......................................................................................................................1
Objects........................................................................................................................................................1
Purpose of Object - {Object Name 1}.........................................................................................................1

7.

CONTROL................................................................................................................................1

7.1
Processes.....................................................................................................................................................1
7.1.1
Workflow.....................................................................................................................................................1
7.1.1.1
Data Flow.....................................................................................................................................................1
7.1.1.2
System Process............................................................................................................................................1
7.1.2
Posting.........................................................................................................................................................1
7.2
Application Programming Interfaces......................................................................................................1
Online Interfaces.............................................................................................................................................................1
Batch Interfaces..............................................................................................................................................................1
7.2.1
Interfaces Workflow Diagram.....................................................................................................................1
7.2.2
Interfaces{interface name/number}...........................................................................................................1
7.2.2.1
Description...................................................................................................................................................1
7.2.2.2
Interface Actions..........................................................................................................................................1
7.2.2.3
Interface Rules.............................................................................................................................................1
7.2.2.4
Data Processing and Transformation...........................................................................................................1
7.2.2.5
Concurrent Processing.................................................................................................................................1
7.2.2.6
Scheduling Requirements............................................................................................................................1
7.2.2.7
Performance/Volume Design Considerations..............................................................................................1
7.2.2.8
Middleware & Connectivity Considerations...............................................................................................1
7.3
Security/Control/Entitlement Requirements..........................................................................................1
7.3.1
Application Access Controls........................................................................................................................1
7.3.2
Data Modification/Retrieval Controls.........................................................................................................1
7.3.2.1
Security Roles..............................................................................................................................................1
7.3.2.2
Role Privileges.............................................................................................................................................1
7.4
Performance...............................................................................................................................................1

8.

BACKGROUND/BATCH UNITS...........................................................................................1

8.1

List of Background/Batch Units...............................................................................................................1

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page v

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

8.2
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.4.1
8.3.4.2
8.3.5
8.3.6
8.3.7
8.3.8

Background/Batch Units Workflow Diagram.........................................................................................1


Background/Batch Unit{process name/number}..................................................................................1
Description...................................................................................................................................................1
Background/Batch Unit Actions..................................................................................................................1
Background/Batch Unit Rules.....................................................................................................................1
Data Processing...........................................................................................................................................1
Data Inputs...................................................................................................................................................1
Data Outputs/Updates..................................................................................................................................1
Concurrent Processing.................................................................................................................................1
Scheduling Requirements............................................................................................................................1
Performance/Volume Design Considerations..............................................................................................1
Middleware Considerations.........................................................................................................................1

9.

APPLICATION MIGRATION STRATEGY.........................................................................1

9.1
9.2
9.3
9.3.1
9.3.2
9.3.3
9.4

Migration Approach..................................................................................................................................1
Configuration Management......................................................................................................................1
Data Population.........................................................................................................................................1
Automated data Migration / Conversion.....................................................................................................1
Manual User Data Entry..............................................................................................................................1
Data Initialization........................................................................................................................................1
Back-out Plan.............................................................................................................................................1

10.

APPLICATION MANAGEMENT..........................................................................................1

10.1
10.2

Backup & Recovery...................................................................................................................................1


Archive & Purge........................................................................................................................................1

11.

DESIGN ESTIMATES.............................................................................................................1

APPENDIX A: TRACEABILITY MATRIX...........................................................................................1


APPENDIX B: WARNING/ERROR MESSAGES.................................................................................1
APPENDIX C :RKS TRANSACTIONS MESSAGE..............................................................................1
GLOSSARY...............................................................................................................................................1

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page vi

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

1. EXECUTIVE SUMMARY
The currency project for enhancing the RKS system to allow capture in a third currency namely firm
currency on all screens, grids and EDW jobs in RKS.
The various applicable screens and grids will be updated to display the Firm currency FX rate (namely
FX rate between the local currency verses firm currency) and the amount in firm currency based on the
Firm currency FX Rate.
This will require the making changes to the posting logic, messaging and tables changes to add the firm
currency logic.
The reports that will be impacted will only be the EDW reports namely;

Portfolio extract,
Transactions extract,
Valuations extract,
Dividend accruals extract,
Open Receivable / Payables extract and
Cash Activities extract

A system level option will be provided that will be applicable for all clients hosted on the same instance
of RKS to apply the firm currency logic to their portfolio or not. This will be implement externally and
will be not be available for users to update.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 1

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

2. DOCUMENT INTRODUCTION
The Functional Specifications (FS) is a deliverable of the Analyze stage of the State Street Corporation
Information Technology Development Process Framework (DPF.) It was created using a standardized
template developed as part of the DPF to promote consistency in content of deliverables.

2.1 Deliverable Description


The FS details the final results and decisions of the functional system design. It is the key communication
tool to:

Inform the end-user community how the system will function upon delivery

Instruct and guide the technical members of the project organization to technically design and
construct the system

Assist and guide business and technical implementation team members in planning the system
implementation for the end-user community and business support groups

Support re-usability by defining functional requirements in a consistent manner

2.2 Customization to DPF Standard Content


The DPF defines the standard content for this project deliverable. Project Management has determined
the format and that specific content items are not applicable and/or that additional content is required,
based upon project scope and complexity. The following table lists the changes to the standard content:
Customized Content
(Section or Sub-section Name)

Removed
or Added

Justification for Removing or Adding Content

2.3 Traceability Matrix


Appendix A contains the FS Traceability Matrix that maps components developed from previous
deliverables to this deliverable. It is a vehicle for managing the scope of the project to ensure that nothing
is dropped or added without management approval.

2.4 Related Documents


Document Name

Version
Number

Author

Document Location

Access Means

Note: When referencing external documents (under Access Means), please provide either the domain
location of the document with full pathname or the URL of the document if it can be accessed via the
Intranet.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 2

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

3. DESIGN CONSIDERATIONS
3.1 Design Techniques
3.2 Design Standards
3.3 Assumptions and Constraints
3.3.1 Assumptions
Assumptions are conditions or events that are considered to be true, real, or certain to occur.

3.3.2 Constraints
Constraints are restrictions that exist and will affect any aspect of the project (for example, direction,
planning, scheduling or performance).

3.4 Risks
A risk is an uncertain event or condition that is outside the control of the project team. If it occurs, the risk
has a negative (or positive) effect on a projects objective or planning. Countermeasures are necessary to
mitigate the risks.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 3

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

4. FUNCTIONAL COMPONENTS
4.1 Context Diagram
4.2 Business Process Logic
4.2.1 System level setting for applying the firm currency
Two utilities will be created for enabling the firm currency for any instance of RKS. The first utility will
have to be run to enable the firm currency logic at the system level and the second utility will be run to set
up the portfolios for which the firm currency logic needs to be applied.
Once the selection has been made for the portfolio the same cannot be updated.
UTILITY 1:
A new utility will have to be created that will store the system level setting for enabling the firm currency
with the firm currency details.
The utility name will be ENABLEFIRMCURRENCY and will update the PAMCNFG table with the
selection and the currency code.
Pamcnfg will show following entry
Flag=351
Key=FIRMCURRENCY
Data=currency code integer value from pamcurnm
Once the system level selection has been made then the same cannot be updated.
This Utility will also set the firm currency active to N for all portfolios in the system.
The command for the utility for enabling the firm currency is given below
L:\pam\wsys\EnableFirmCurrency.exe CCurrencyCode Oerror.txt im:\pam\wsys\pam.ini
Where, CurrencyCode is 3 character ISO code. For example, USD
When the above utility is run the system should validate for the following and log error in the error.txt
file.
Validation 1 validate that the currency code is valid in RKS
Validation 2 if the firm currency is already enabled, then system should add error in error.txt The firm
currency is already enabled and the firm currency is <Currency Code>
UTILITY 2:
This utility will be run for enabling the firm curreny logic for portfolios that have been selected. This
utility for portfolio selection can be run in both the validation and non validation mode.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 4

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

In the validation mode the utility will generate a report of the portfolio for which the selection of firm
currency has already been made. Whereas in the non validation mode the utility will perform the required
validations and update the MHFSHDF.FIRMCURRCODE table with the firm currency code selected and
for portfolio not selected the value in the MHFSHDR.FIRMCURRCODE will remain as 0.
The command for the utility for enabling the firm currency at portfolio level is given below
L:\pam\wsys\FirmCurrencyPortUtility.exe -iM:\pam\wsys\pam.ini -Lm:\portfolio.txt V validation mode
Portfolio.txt will contain the list of portfolios that needs to be converted for firm
currency.(I new job will also be created to allow the users to run the Utility # 2 in
Validation mode. This job is described later.
OR
L:\pam\wsys\FirmCurrencyPortUtility.exe -iM:\pam\wsys\pam.ini -Lm:\portfolio.txt -Om:\error.txt
(This command will enable the logic for the portfolios that have been detailed in the portfolio.txt file. Any
validations that fail will be detailed in the error.txt file)
Portfolio.txt file will be a comma separated text file containing the portfolio (MHFSHDR.PORTFOLIO)
Validation 1 validate if the Firm Currency has been enabled. Insert error message in error.txt file The
Firm Currency is not enabled for this instance.
Validation 2 validate if the value in MHFSHDR.FIRMCURRCODE = NULL for any of the records in
the MHFSHDR table. If a non NULL value is found for any of the records in MHFDHDR then Insert
error message in error.txt file Firm Currency selection has been made and the same cannot be updated
Validation 3 validate that when a portfolio is being converted to enable the firm currency logic, then all
the bank and bank accounts linked to that portfolio and the portfolio being linked to those bank accounts
are also converted / enabled for the firm currency logic. If this validation fails then insert error message in
error.txt file Cannot enable firm currency for portfolio <MHFSHDR.PORTFOLIO>
<MHFSHDR.CODENAME> as there are bank and bank account for <PAMBANK.BANK> that has other
linked portfolios that are not being enabled for firm currency
Utility # 2 will do the following;

Validate if the portfolio can be updated for enabling the firm currency based on the validation
rules above,
ZAP historical data as per the details given below and
Once all historical data has been updated (zapped), then update the MHFSHDR table with the
required value for the firm currency

The ZAP will be run as under;


For all tables in the system where the firm currency fields have been added will populated the local to
firm currency FX rate from the FX rate tables, for a date that is the prior business date to the conversion
date. This will result in have the same firm FX rate on all transactions and positions prior to the
conversion date and also have the same weighted average fx rate equal to the firm FX rate.
However per the requirements, all valuations close records in the respective valuation close tables that
exist prior to the conversion date will be populated with the rate of ZERO.
A new job will be created for users to run Utility # 2 in validation mode.
The job will have the following parameters;
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 5

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Template name for the job FirmCurrencyPortUtility.exe


Parameters
Define Job wizard
PortfolioIncludelistfile

Operations

Remarks
This screen in the job will allow the user to provide
a user name to the job and the location of the out
put file.
This parameter will allow the user to upload the
portfolio.txt file that contain the list of portfolio
that require to be enabled with the firm currency
logic.
This parameter will allow the user save the job
definition template, insert the job in the job queue
or run the job.

When the above job is run, the system will run the Utility 2 in validations mode using the portfolio.txt
uploaded as under;
L:\pam\wsys\FirmCurrencyPortUtility.exe -iM:\pam\wsys\pam.ini -Lm:\portfolio.txt V validation mode
The job will test all the validations as described above and generate an output file in the standard format
with the following details

Validation 1 validate if the Firm Currency has been enabled. Insert error message in error.txt
file The Firm Currency is not enabled for this instance.
Validation 2 validate if the value in MHFSHDR.FIRMCURRCODE = NULL for any of the
records in the MHFSHDR table. If a non NULL value is found for any of the records in
MHFDHDR then Insert error message in error.txt file Firm Currency selection has been made
and the same cannot be updated
Validation 3 validate that when a portfolio is being converted to enable the firm currency logic,
then all the bank and bank accounts linked to that portfolio and the portfolio being linked to those
bank accounts are also converted / enabled for the firm currency logic. If this validation fails then
insert error message in error.txt file Cannot enable firm currency for portfolio
<MHFSHDR.PORTFOLIO> <MHFSHDR.CODENAME> as there are bank and bank account
for <PAMBANK.BANK> that has other linked portfolios that are not being enabled for firm
currency

4.2.2 Add Firm Currency field to the portfolio header


There is a requirement to display the firm currency on each portfolio header based on the selection at the
system level and for the portfolio.
This new field will be display only and will display the 3 character ISO currency code.
If the system level setting is apply firm currency logic = YES,
then for all existing portfolio, the firm currency should be set as BLANK
for new portfolios added, the portfolio header should display the firm currency set at the
system level
o when user is using the copy portfolio characteristics functionality, then the new
portfolio created should display the firm currency set at the system level
irrespective if the firm currency has been disabled for the from portfolio at the
portfolio level.
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 6

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

If the system level setting is apply firm currency logic = NO,


then for all existing portfolio, the firm currency should be set as BLANK
for new portfolios added, the portfolio header should also be displayed as BLANK
GUI Changes
Two new fields will be positioned below the Time Zone field located in the Other Features tab on the
portfolio header. The label for these new fields will be Firm Currency Active and Firm Currency

When Firm Currency is disabled, the Firm Currency field will show BLANK and Firm Currency
Active field will show NO.
When Firm Currency is enabled, the Firm Currency field will show ISO Firm Currency Code and
Firm Currency Active field will Show YES.

Tables
New columns will be added to the MHFSHDR and MHFSHDR_AUD table to store the ISO currency
code for the firm currency selected by the user.
The new column will be MHFSHDR.FIRMCURRENCYCODE and will be numeric.
The new column will be MHFSHDR.FIRMCURRENCYACTIVE and will be varchar2.
The new column will be MHFSHDR.FIRMCURRCONVDATE and will be date format. This will store
the conversion date for the portfolio.
For existing portfolio, FIRMCURRENCYCODE column added to the table will have a value of 0 and
FIRMCURRENCYACTIVE column added to the table will have a value of BLANK.
EnableFirmCurrency utility and FirmCurrencyPortUtility needs to be run, in order to enable the firm
currency at portfolio level.
When the existing portfolios are enabled for the firm currency logic then the field
MHFSHDR.FIRMCURRCONVDATE will be populated with the system date when the above utilities are
run.
For a new portfolio,
If the Firm Currency is disabled, FIRMCURRENCYCODE column added to the table will have a value
of 0 and FIRMCURRENCYACTIVE column added to the table will have a value of BLANK.
If the Firm Currency is enabled, FIRMCURRENCYCODE column added to the table will have firm
currency code and FIRMCURRENCYACTIVE column added to the table will have a value of Y. The
MHFSHDR.FIRMCURRCONVDATE will be populated with the system date indicating the date of
conversion for the new portfolio.
Messages
There is no sub message required to be added to the portfolio header message. Therefore when user is
adding a new portfolio and the Firm Currency is enabled, then the portfolio record in the MHFSHDR
table will be populated with the currency code of the firm currency.
For existing portfolio, if the Firm Currency is enabled then the second utility will update the MHFSHDR
records directly with the firm currency code.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 7

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

For portfolio UPDATE the portfolio record, then existing MHFSHDR record will be updated except for
the value in the MHFSHDR.FIRMCURRENCYCODE, KHFSHDR.FIRNCURRENCYACTIVE and
MHFSHDR.FIRMCURRCONVDATE field.
Object Changes
New methods will be required to be added to the portfolio header objects to return the firm currency
information.
HdrV1 Object
The following changes will be made to the portfolio header object.
Update existing methods

Add new methods


INT2 FirmCurrencyCode() This new method will
be added to return the firm currency applicable for
the portfolio.
CHAR1* FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
currency tables.
CHAR1* FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the currency tables.
BOOL IsFirmCurrencyEnabled() If Firm
Currency is disabled, this function will return
FALSE. If Firm Currency is enabled, if Firm
Currency Active in the table is N then this
function will return FALSE else it will return
TRUE.

4.2.3 Changes to the RKS transactions for the Firm Currency enhancements
Per the requirements for the project, new fields are required on most of Transactions screen for capturing
the firm currency requirements. The RKS transactions screen can be broadly categorized into the 4 groups
as below;

RKS Transactions (transaction on asset classes like common stock, fixed Income, Money market
etc)
RKS corporate action transactions (corporate actions on rks transactions)
RKS multi legged transactions (SWAP and FX contracts)
RKS cash transactions (i.e. cash contributions, cash withdrawals etc including bank cash receipts
and disbursements)

The current section will be addressing the changes for RKS transactions only and will cover the below
list;
Purchase / Opening Purchase
Sale / Closing Sale
Maturity
Pay downs
Calls
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 8

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Redemptions
Short Sale / Opening Sale
Short sale Closing Purchase / Closing Purchase
Short Sale Closing Disposal
Maturity Short Sale
Pay down Short Sale
Repo Lend
Repo Borrow
Close Repo Lend
Close Repo Borrow
Maturity Repo Lend
Maturity Repo Borrow
Repo Income
Call Short Sale
Inter portfolio Transfer
Capital Contribution - Cash
Capital Distribution Cash
Security Contribution
Security Contribution Interest Purchased screen
Security Withdrawal
Short Sale Security Contribution
Variation Margin
GUI level changes
2 new fields are required as explained below;
Addition of a new field to display the Firm currency. This will be display only field. The logic to
display the value in this field will be based on the system level selection for the firm currency and the
portfolio applicable. It will be populated only after user has entered the portfolio information on the
trade. The value defaulted in this field will be based on the firm currency selected for the portfolio.
Addition of new field in the RKS screens for capture / display the firm currency FX rate against the
local currency. This will be editable field. The logic to default the value from the FX rate tables will
be based on the system level selection for the firm currency and the portfolio applicable. It will be
populated only after user has entered the portfolio information on the trade. The value to be populated
in this field will be sourced from the FX Rate tables or interpolated within RKS using the existing
logic in RKS.
e.g. if the local currency is JPY for a security and the firm currency set to CAD, the RKS will
derive the JPY / CAD FX rate value using the system currency say USD as JPY / USD and CAD /
USD.
Addition of new field in the RKS screens for capture / display the amount in firm currency based on
the firm currency FX rate. This will be display only field. The logic to display the value in this field
will be based on the system level selection for the firm currency and the portfolio applicable. It will
be populated only after user has entered the portfolio information on the trade. The amount in firm
currency will be the total cash amount and not the principal amount from the trade.
Posting changes
Per requirement the firm currency FX rate and amount values are required to be stored in the posting table
for the field that have been added to the GUI. In addition to the above, accounting value such as book
value, cost, market value, UGL, realized GL etc are also required to be stored / reported.
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 9

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Since currently all value are stored in local and converted to functional using the functional FX rate a
similar approach can be used to derive the firm currency by storing the firm currency FX rate.
A new column will be required in the respective posting tables for capturing the Firm Currency FX rate
for transactions belonging to the below mentioned asset classes;
Fixed Income
Money market
Open repo
Term Repo
Preferred Stock
Common Stock
Partnerships
Options
Rights
Warrants
Futures
TBA
The posting of the transactions for the above asset classes to the posting tables is done as under;
Asset Class
Tables
Fixed income, Money Market, Open Repo, Term Repo,
MHFSTA, MHFSTA_AUD
Preferred Stock, Common Stock, Partnerships, Options,
MHFSTAHS
Rights, Warrants and TBA, SWAP
PAMTASUP, PAMTASUP_AUD
MHFSTTRN
MHFSTSUM
TTRNDIVIDEND
TSUMH_TRADE
TSUMH_SETTLE
TSUMH_CONFIRM
TSUMH_LEDGER
TSUMH_EFF
TSUMH_START
TSUMH_RCPY
TSUMADJUSTMENT
Future
MHFSTA, MHFSTA_AUD
MHFSFTRN
MHFSFSUM
PAMVMTRN
FX Contracts
MHFSTA
PAMFXTRN
PAMFXSUM
The FX rate field to be added to the above table is given below;
Table name
MHFSTA,
MHFSTA_AUD
MHFSTAHS
PAMTASUP,
PAMTASUP_AUD
304944661.doc

Column
FIRMFXRATE

Remarks

FIRMFXRATE
FIRMFXRATE
INTPSFIRMFXRATE
CONFIDENTIAL
2002 State Street Corporation.

Page 10

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Table name
MHFSTTRN

Column
FIRMFXRATE
** S_ORIGFIRMFXRATE
G_ORIGFIRMFXRATE
P_ORIGFIRMFXRATE
T_ORIGFIRMFXRATE
M_ORIGFIRMFXRATE
S_IntPsPpdFirmFxRate
G_IntPsPpdFirmFxRate
P_IntPsPpdFirmFxRate
T_IntPsPpdFirmFxRate
M_IntPsPpdFirmFxRate
S_ORIGINCFIRMFXRATE
G_ORIGINCFIRMFXRATE
P_ORIGINCFIRMFXRATE
T_ORIGINCFIRMFXRATE
M_ORIGINCFIRMFXRATE
FIRMINCFXRATE

MHFSTSUM

S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE

TTRNDIVIDEND

CURRORIGINCFIRMFXRATE

TSUMH_TRADE

S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE

304944661.doc

Remarks
In case of the basis adjustment
transactions, users are allowed to select
the FX rate from the original purchase
(acquisition) or restate from the basis
adjustment transactions for each basis.
Therefore in this case we are required to
capture the Firm Currency FX Rate
applicable for each accounting basis and
require the addition of the firm FX rate
for each basis.
** There will be special handling during
posting for the basis adjustment
transactions for using / applying the firm
FX rate in a similar manner as the
functional FX rate. No new sub message
will be added to the basis adjustment
transactions message, however during
posing for a particular basis e.g. STAT, if
user has select to use the functional FX
rate from the basis adjustment
transaction then for this basis the posting
will also assign the firm FX rate from the
transactions. This will be applicable for
all accounting basis depending on the
selection by the user.
In case of the basis adjustment
transactions, users are allowed to select
the FX rate from the original purchase
(acquisition) or restate from the basis
adjustment transactions for each basis.
Therefore in this case we are required to
capture the Firm Currency FX Rate
applicable for each accounting basis and
require the addition of the firm FX rate
for each basis.
This table is populated for security
contribution transactions for single lot
portfolio and Total Return SWAP
transactions.

CONFIDENTIAL
2002 State Street Corporation.

Page 11

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Table name
TSUMH_SETTLE

TSUMH_CONFIRM

TSUMH_LEDGER

TSUMH_EFF

TSUMH_START

304944661.doc

Column
M_CURRORIGINCFIRMFXRATE
S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE
S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE
S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE
S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE

Remarks

S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
CONFIDENTIAL
2002 State Street Corporation.

Page 12

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Table name

Column
M_CURRORIGINCFIRMFXRATE

TSUMH_RCPY

S_CURRORIGFIRMFXRATE
G_CURRORIGFIRMFXRATE
P_CURRORIGFIRMFXRATE
T_CURRORIGFIRMFXRATE
M_CURRORIGFIRMFXRATE
S_CURRORIGINCFIRMFXRATE
G_CURRORIGINCFIRMFXRATE
P_CURRORIGINCFIRMFXRATE
T_CURRORIGINCFIRMFXRATE
M_CURRORIGINCFIRMFXRATE

MHFSFTRN

FIRMFXRATE

MHFSFSUM

FIRMFXRATE

PAMVMTRN

FIRMFXRATE

PMINCTRAN

FIRMFXRATE

Remarks

This table is applicable for futures


transaction.
This table is applicable for futures
transaction.
This table is applicable for variation
margin transactions for futures and
margined options.
This table is for Fee income

For Inter portfolio transfer transactions


Posting for Inter portfolio transfer transactions will have the following behavior;

If from portfolio has firm currency is OFF and to portfolio has firm currency ON
o The firm FX rate in the MHFSTTRN table will be populate for only the TO PORTFOLIO
record and the record corresponding to the FROM PORTFLIO will have firm FX rate as 0.00

Similarly, if from portfolio has firm currency is ON and to portfolio has firm currency OFF
o The firm FX rate in the MHFSTTRN table will be populate for only the FROM
PORTFOLIO record and the record corresponding to the TO PORTFLIO will have firm FX
rate as 0.00

If both portfolios have firm currency logic OFF then the Firm FX rate in the MHFSTTRN table will
be ZERO and if both the portfolios have firm currency ON then the Firm FX rate in the MHFSTTRN
table will be from the trade.

For Single Lot utility


When client runs the single lot utility to change from multiple lots to single lot then it requires the
calculations of weighted average FX rate for the functional currency. As part of this enhancement similar
calculations will be required for calculating the weighted average firm FX rate. Therefore the current
single lot utility will be enhanced to include the required calculations.
Messaging Changes
A new sub message will be required for capturing the Firm Currency FX rate. This will be a non
positional and optional message.
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 13

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

It will have 1 field namely FX rate


FIRMFXRATE()
The sub message will have the following validations, when present in the message:
If Firm Currency is enabled, if MHFSHDR.FIRMCURRENCYCODE <> 0 for the portfolio
selected on the trade, then verify that the value for the FX rate > 0, else fail the message and
display error message Firm Currency FX rate cannot be ZERO
If Firm Currency is enabled, If MHFSHDR.FIRMCURRENCYCODE = 0 for the portfolio
selected on the trade, then verify that the value for the FX Rate = 0, else fail the message an
display error message Firm Currency is not applicable for this portfolio
If Firm Currency is disabled, fail the message with Invalid Sub message FIRMFXRATE().
If FIRMFXRATE() is not present in the message and if the Firm Currency is enabled for the portfolio
then Fx Rate for the firm currency will be calculated in the messaging code.
PREPAIDINCFIRMFXRATE()
The sub message will have the following validations, when present in the message:
If Firm Currency is enabled, if MHFSHDR.FIRMCURRENCYCODE <> 0 for the portfolio
selected on the trade, then verify that the value for the FX rate > 0, else fail the message and
display error message Firm Currency FX rate cannot be ZERO
If Firm Currency is enabled, If MHFSHDR.FIRMCURRENCYCODE = 0 for the portfolio
selected on the trade, then verify that the value for the FX Rate = 0, else fail the message an
display error message Firm Currency is not applicable for this portfolio
If Firm Currency is disabled, fail the message with Invalid Sub message
PREPAIDFIRMFXRATE().

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 14

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

The sub message for firm currency will be added to the below mentioned messages;
TRANSACTION

MAIN MESSAGE

SUB MESSAGE

Additional Investment

TAPURCHASE

FIRMFXRATE()

Basis Adjustment
Basis Adjustment - Short Positions
Call

TABASISADJUSTMENT
TABASISADJUSTMENTSHORTPOSITIONS
TACALL

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Call - Short sale


Capital Distribution Cash
Capital Contribution Cash
Cash Adjustment
Close Repo Borrow

TASHORTCALL
TACAPITALDISTRIBUTION
TACAPITALCONTRIBUTION
NA
TACLOSEREPOBORROW

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
NA
FIRMFXRATE()

Close Repo Lend


Closing Disposal
Closing Purchase

TACLOSEREPOLEND
TASHORTSALECLOSINGDISPOSAL
TASHORTSALECLOSINGPURCHASE

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Exercise Option Sale

TAEXERCISEWRITTENOPTION

FIRMFXRATE()

Exercise Written Option


Exercise Option Purchase
Exercise Purchase Option
Expense Allocation
Expire - Short Sale Rights / Warrants
Fee Income

TAEXERCISEWRITTENOPTION
TAPURCHASEOPTION
TAPURCHASEOPTION
TAEXPENSEALLOCATION
TARIGHTSEXPIRATIONSHORTSALE / TAWARRANTSEXPIRATIONSHORTSALE
FEEINCOME
TAFEEINCOME

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
NA
FIRMFXRATE()

Income Allocation
Inter Manager Transfer

TAINCOMEALLOCATION
TAINTERMANAGERTRANSFER

FIRMFXRATE()
FIRMFXRATE()

Inter Portfolio Transfer


Interest Capitalization
Interest Capitalization - Short Sale
Investment Withdrawal
Japanese Straight Line Amortization
Maturity
Maturity Repo Borrow

TAINTERPORTFOLIOTRANSFER
TAINTERESTCAPITALIZATION
NA
TAINVESTMENTWITHDRAWAL

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

TAMATURITY
TAMATURITYREPOBORROW

FIRMFXRATE()
FIRMFXRATE()

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 1

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

TRANSACTION

MAIN MESSAGE

SUB MESSAGE

Maturity Repo Lend


Option Closing Purchase
Option Closing Sale
Option Opening Purchase
Option Opening Sale
Paydown
Paydown - Short sale
Purchase
Redemption
Redemption - Short sale
Redenomination

TAMATURITYREPOLEND
TAOPTIONCLOSINGPURCHASE
TAOPTIONCLOSINGSALE
TAOPTIONOPENINGPURCHASE
TAOPTIONOPENINGSALE
TAPAYDOWN
TASHORTPAYDOWN
TAPURCHASE
TAREDEMPTION
TASHORTREDEMPTION
TAREDENOM
TAREPOLEND
TAREPOBORROW
TASALE
TASECURITYCONTRIBUTION

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Reo Lend
Repo Borrow
Sale
Security Contribution
Security Withdrawal
Short Redenomination
Short Sale
Short sale Security
Contribution
Variation margin

304944661.doc

TASECURITYWITHDRAWAL
TASHORTREDENOM
TASHORTSALE

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
PREPAIDINCFIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

TASHORTSALESECURITYCONTRIBUTION
TAVARMARGIN

FIRMFXRATE()
FIRMFXRATE()

CONFIDENTIAL
2002 State Street Corporation.

Page 2

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Additional sub messages will be required for capturing the firm currency FX rate on the fee details which
will be covered later.
Objects
New methods will be required to be added to the trade and the transactions objects to return the firm
currency information.
The details for each object are given below;
Trade Object
The following changes will be made to the trade object.
Update existing methods
Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
Rate IntPSFirmFXRate() This new method will
be added to return the firm currency FX rate from
the Trade that is applicable for the interest
purchased / sold.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1* FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1* FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or
money values - When the SelectFXConversion() is
set to FIRM_CURR then all value will be returned
in firm currency based on the firm currency FX
rate.

TaxLotTran Object
The following changes will be made to the transactions object.
Update existing methods
Void SelectFxConversion() - A new value of
currency base will be added for setting the object to
the firm currency. This value will FIRM_CURR
and added to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
Rate IntPSFirmFXRate() This new method will

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 1

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

be added to return the firm currency FX rate from


the Trade that is applicable for the interest
purchased / sold.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1* FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1* FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or
money values - When the SelectFXConversion() is
set to FIRM_CURR then all value will be returned
in firm currency based on the firm currency FX
rate.
FutureTranClass Object
The following changes will be made to the futures transactions object.
Update existing methods
Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1* FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1* FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or
money values - When the SetCurrencyBase() is set
to FIRM_CURR then all value will be returned in
firm currency based on the firm currency FX rate.

For Variation margin processing for futures and margined option securities
The following changes will be made to the variation margin transactions object.
BaseVMTranClass
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 2

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Update existing methods


Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate LocalToFirmFxRate() This new method will
be added to return the firm currency FX rate from
the Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.

MarginProcessDataClass
Update existing methods

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.

VMTranClass
Update existing methods

Add new methods


INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.

ForwardContractTranscations Object
The following changes will be made to the FX contracts transactions object.
Update existing methods
Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1 FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1 FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or
money values - When the SelectFXConversion() is
set to FIRM_CURR then all value will be returned
in firm currency based on the firm currency FX

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 3

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

rate.
SWAPTransaction Object
The following changes will be made to the SWAP transactions object.
Update existing methods
Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1 FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1 FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or
money values - When the SelectFXConversion() is
set to FIRM_CURR then all value will be returned
in firm currency based on the firm currency FX
rate.

IncomeTranObject
Following changes will be done to IncomeTranObject
Update existing methods
Void SetCurrencyBase() - A new value of currency
base will be added for setting the object to the firm
currency. This value will FIRM_CURR and added
to this existing.

Add new methods


Rate FirmFxRate() This new method will be
added to return the firm currency FX rate from the
Trade.
INT2 FirmCurrencyCode() This new method will
be added to return the firm currency code selected
for the portfolio and will be read from the portfolio
header.
CHAR1* FirmCurrencyName() - This new method
will be added to return the firm currency name
selected for the portfolio and will be read from the
portfolio header.
CHAR1* FirmCurrencyShortName() - This new
method will be added to return the firm currency
short name selected for the portfolio and will be
read from the portfolio header.
For all other existing methods that return price or

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 4

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

money values - When the SetCurrencyBase() is set


to FIRM_CURR then all value will be returned in
firm currency based on the firm currency FX rate.

4.2.4 Changes to the Valuations close process


Currently when user does the valuations close for a portfolio the records corresponding to each lot are
stored in the valuations close tables. These tables are used when reporting the position details as of the
valuations close date. It will be required to capture the firm currency FX rate on the tables applicable.
Below is the list of table that will have a new column for capturing the firm currency FX rate.
Table name
Column
MHFSTCLO FIRMFXRATE
FIRMINCFXRATE

PAMFCLO
PMCLODIV

Remarks
This table stored the money value corresponding to each basis. To
return the money value in the firm currency for each basis, it would
be required to use the firm currency FX rate applicable for each
basis, which can be different across each basis based on the values
entered on the basis. The firm currency rats applicable for each
basis will be read from the MHFSTSUM table to return the
corresponding money values in firm currency.

FIRMFXRATE
FIRMWAFXRATE
NA

NOTE - This project will not cover the firm currency requirements for GL close as the same is out of
scope for this project.
Objects
The changes to the valuations close objects for security and futures are given below.
Securities:

TaxLotPosClass
Update existing methods
Void SelectFXConversion() - A new value of
currency base will be added for setting the object to
the firm currency. This value will FIRM_CURR
and added to this existing.

Add new methods

Futures:

FutLotPosClass
Update existing methods
Void SelectFXConversion() - A new value of
currency base will be added for setting the object to
the firm currency. This value will FIRM_CURR
and added to this existing.

Add new methods


Rate LocalToFirmFxRate() This new method will
be added to return the firm currency FX rate for the
valuations close record.
Rate LocalToFirmWtgAvgFxRate() This new
method will be added to return the weighted
average firm currency FX rate for the valuations
close record.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 5

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

FuturePositionObjList
Update existing methods
Void SelectFXConversion() - A new value of
currency base will be added for setting the object to
the firm currency. This value will FIRM_CURR
and added to this existing.

Add new methods

4.3 Warning/Error Messaging


Throughout this document, error messages are referenced. For a complete list of error messages, please
refer to Appendix B. {Be sure to complete Appendix B}

4.4 Data Considerations


The following application level data requirements have been taken into consideration during the creation
of the Functional Specifications.

4.5 Volume/Performance
The following business-related volume and performance requirements have been taken into consideration
during the creation of the Functional Specifications and need to be addressed during the design of the
Technical Infrastructure and Unit Code.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 6

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5. VIEW DESIGN
The purpose of this section is to define all views of the application and their interdependencies and to
provide details on the functionality based on a users actions. Online screens & reports designs are
included in this section.

5.1 Screen Design


The following screens are included in this project.
Screen #
1

Screen Name
Portfolio Header

RKS transactions
screen

304944661.doc

Description
New fields will be added under the other features tab that is existing on the
portfolio header screen to display the status of the firm currency application
logic and the firm currency selected
New fields will be added to display the firm currency and the firm currency FX
rate;
The following list of screens will be covered;
Basis Adjustment
Basis Adjustment
Call
Call - Short sale
Capital Distribution Cash
Capital Contribution Cash
Close Repo Borrow
Close Repo Lend
Closing Disposal
Closing Purchase
Exercise Option Sale
Exercise Written Option
Exercise Option Purchase
Exercise Purchase Option
Expense Allocation
Expire - Short Sale Rights / Warrants
Fee Income
Income Allocation
Inter Manager Transfer
Inter Portfolio Transfer
Interest Capitalization
Security Investment Withdrawal
Japanese Straight Line Amortization
Maturity
Maturity Repo Borrow
Maturity Repo Lend
Option Closing Purchase
Option Closing Sale
Option Opening Purchase
Option Opening Sale
Pay down
Pay down - Short sale
Purchase
Redemption
Redemption - Short sale
Redenomination
Repo Lend
Repo Borrow
Sale
Security Contribution
Security Withdrawal
Short Redenomination
Short Sale
Short sale Security Contribution
CONFIDENTIAL
2002 State Street Corporation.

Page 7

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}
Screen #
Screen Name
Variation Margin

Description

5.1.1 Screen Navigation/Workflow Diagram


5.1.2 Screen Name Portfolio Header Other Features
5.1.2.1 Description
5.1.2.2 Screen Design

5.1.2.3 Screen Actions


5.1.2.4 Screen Rules
Rule #
1
2

Event
If the Firm Currency is
enabled
If the Firm Currency is
enabled and the Portfolio is
selected to use the firm
currency logic

304944661.doc

Action
The field firm currency active will
display YES
The field firm currency active will
display the ISO currency code e.g.
SEK, USD etc.
CONFIDENTIAL
2002 State Street Corporation.

Alternative Action

Page 8

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}
Rule #
Event
Action
3
If the Firm Currency is
The field firm currency active will
enabled and the Portfolio is
display BLANK
selected NOT to use the firm
currency logic
4
If the Firm Currency is
The field firm currency active will
disabled
display NO and firm currency will
display BLANK

Alternative Action

5.1.2.5 Data Processing


The following tables detail the data needed for this screen. They include the sourcing for previously
stored data that will be displayed or used during the processing of this screen, the characteristics of
entered data, and the locations of data outputs/updates.
5.1.2.5.1 Initialization
Data that is automatically initially displayed on the screen, including fields and values for: drop-down
boxes, pre-populated lists, and pre-initialized defaults, are defined in the table below:
Target Screen Data
Field

Method for
Populating Field

Description
{Field Name, Location, Display Rules}

5.1.2.5.2 Manual Data Entry


Data that is entered on the screen is defined below:
Data Entry
Field

Field
Boundaries

Required
(y/n)

Entered Data
Formatting

Comments
Warning/Error
Handling

5.1.2.5.3 Data Outputs/Updates


Data that will be updated by this screen is defined is defined below:
Source Data
Field

Target Data
Method for Populating
Field

Comments
Description

5.1.2.6 Data Refresh Design


5.1.2.7 Data Sharing
5.1.2.8 Concurrent Processing
5.1.2.9 Scheduling Requirements
5.1.2.10

Performance/Volume Design Considerations

5.1.3 Screen Name RKS Transaction PURCHASE


5.1.3.1 Description
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 9

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5.1.3.2 Screen Design

5.1.3.3 Screen Actions


5.1.3.4 Screen Rules
Rule #
1

Event
When user enters the
portfolio details on the
screen

Action
Verify if the firm currency is
enabled and firm currency set for
the portfolio.

Alternative Action
If firm currency is enabled and
firm currency set for the portfolio
= FALSE,

If firm currency is enabled and firm


currency set for the portfolio =
TRUE,

Do not show the fields on ta


screen.(similar to settlement fx
rate)

display the firm currency in the firm


304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 10

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}
Rule #
Event
Action
currency field and

Alternative Action

Extrapolate the firm currency FX


rate from the FX rate table. if rate
not available fail the trade with
error Fx Rate should be greater
than 0.0)
Verify if the firm currency is not
enabled.

When user enters the


portfolio details on the
screen

If firm currency logic not enabled,


then
Do not show the fields on ta
screen.(similar to settlement fx
rate)

5.1.3.5 Data Processing


The following tables detail the data needed for this screen. They include the sourcing for previously
stored data that will be displayed or used during the processing of this screen, the characteristics of
entered data, and the locations of data outputs/updates.
5.1.3.5.1 Initialization
Data that is automatically initially displayed on the screen, including fields and values for: drop-down
boxes, pre-populated lists, and pre-initialized defaults, are defined in the table below:
Target Screen Data
Field

Method for
Populating Field

Description
{Field Name, Location, Display Rules}

5.1.3.5.2 Manual Data Entry


Data that is entered on the screen is defined below:
Data Entry
Field

Field
Boundaries

Required
(y/n)

Entered Data
Formatting

Comments
Warning/Error
Handling

5.1.3.5.3 Data Outputs/Updates


Data that will be updated by this screen is defined is defined below:
Source Data
Field

Target Data
Method for Populating
Field

Comments
Description

5.1.3.6 Data Refresh Design


5.1.3.7 Data Sharing
5.1.3.8 Concurrent Processing

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 11

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5.1.3.9 Scheduling Requirements


Performance/Volume Design Considerations

5.1.4 Screen Name Security Contributions Interest Purchase Sold screen


5.1.4.1 Description
5.1.4.2 Screen Design

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 12

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5.1.4.3 Screen Actions


5.1.4.4 Screen Rules
Rule #
1

Event
When user enters the
portfolio details on the
screen

Action
Verify if the firm currency is
enabled and firm currency set for
the portfolio.

Alternative Action
If firm currency is enabled and
firm currency set for the portfolio
= FALSE,

If firm currency is enabled and firm


currency set for the portfolio =
TRUE,

Do not show the fields on ta


screen.(similar to settlement fx
rate)

display the firm currency in the firm


currency field and

When user enters the


portfolio details on the
screen

Extrapolate the firm currency FX


rate from the FX rate table. if rate
not available fail the trade with
error Fx Rate should be greater
than 0.0)
Verify if the firm currency is not
enabled.
If firm currency logic not enabled,
then

When user enters the


Accrued Income details

Do not show the fields on ta


screen.(similar to settlement fx
rate)
Verify if the firm currency is
enabled and firm currency set for
the portfolio.

If firm currency is enabled and


firm currency set for the portfolio
= FALSE,

If firm currency is enabled and firm


currency set for the portfolio =
TRUE,

Do not show the fields on ta


screen.(similar to settlement fx
rate)

display the firm currency in the firm


currency field and
post the trade using the firm
currency FX rate as entered by the
user or use firm currency FX rate of
1.0
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 13

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}
Rule #
Event
Action
4
When user enters the
Verify if the firm currency is not
Accrued Income details
enabled.

Alternative Action

If firm currency logic not enabled,


then
Do not show the fields on security
contribution accrued interest
screen. (similar to settlement fx
rate)

5.1.4.5 Data Processing


The following tables detail the data needed for this screen. They include the sourcing for previously
stored data that will be displayed or used during the processing of this screen, the characteristics of
entered data, and the locations of data outputs/updates.
5.1.4.5.1 Initialization
Data that is automatically initially displayed on the screen, including fields and values for: drop-down
boxes, pre-populated lists, and pre-initialized defaults, are defined in the table below:
Target Screen Data
Field

Method for
Populating Field

Description
{Field Name, Location, Display Rules}

5.1.4.5.2 Manual Data Entry


Data that is entered on the screen is defined below:
Data Entry
Field

Field
Boundaries

Required
(y/n)

Entered Data
Formatting

Comments
Warning/Error
Handling

5.1.4.5.3 Data Outputs/Updates


Data that will be updated by this screen is defined is defined below:
Source Data
Field

Target Data
Method for Populating
Field

Comments
Description

5.1.4.6 Data Refresh Design


5.1.4.7 Data Sharing
5.1.4.8 Concurrent Processing
5.1.4.9 Scheduling Requirements
Performance/Volume Design Considerations

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 14

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

5.2 Job & Reporting Design


5.2.1 Job & Report Documentation
5.2.1.1 {Job / Report Name} - FirmCurrencyPortUtility

Add /
Job or
Job / Report
A
Job
Change /
Report:
Name:
Delete:
Job Template Title: FirmCurrencyPortUtility.exe
Description:

FirmCurrencyPortUtility

Type of
Parameter

Allowed Values / Selections

Define Job
wizard

PortfolioIncludel
istfile
A

Operations
A

Action / Rule #3:

Add /

Action /
Rule #

validate if the Firm Currency has been enabled. Insert error message in error.txt file
The Firm Currency is not enabled for this instance.
validate if the value in MHFSHDR.FIRMCURRCODE = NULL for any of the
records in the MHFSHDR table. If a non NULL value is found for any of the records
in MHFDHDR then Insert error message in error.txt file Firm Currency selection
has been made and the same cannot be updated
validate that when a portfolio is being converted to enable the firm currency logic,
then all the bank and bank accounts linked to that portfolio and the portfolio being
linked to those bank accounts are also converted / enabled for the firm currency
logic. If this validation fails then insert error message in error.txt file Cannot enable
firm currency for portfolio <MHFSHDR.PORTFOLIO>
<MHFSHDR.CODENAME> as there are bank and bank account for
<PAMBANK.BANK> that has other linked portfolios that are not being enabled for
firm currency

Output Field Name

304944661.doc

Parameter Description

This screen in the job


will allow the user to
provide a user name to
the job and the location
of the out put file.
This parameter will
allow the user to upload
the portfolio.txt file
that contain the list of
portfolio that require to
be enabled with the firm
currency logic.
This parameter will
allow the user save the
job definition template,
insert the job in the job
queue or run the job.

Action / Rule #2:

Utility

This job will allow user to run the FirmCurrencyPortUtility.exe in validation mode
from the RKS job queue.

Add /
Change / Parameter Name
Delete:

Action / Rule #1:

Group:

Data Type

Field Source Name


CONFIDENTIAL

2002 State Street Corporation.

Field Description & Data Population


Page 15

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

Change /
Delete:
{A/C/D}

Length
1.

Method

{String /
Number /
Date etc.}

2.

5.2.1.1.1 Sample {Job / Report Name}

5.2.2 Report Workflow Diagram


5.2.3 Report Requests
5.2.3.1 Users
5.2.3.2 Selection Criteria
5.2.3.3 Timing
5.2.3.4 Procedures
5.2.4 Concurrent Processing
5.2.5 Scheduling Requirements
5.2.6 Performance/Volume Design Considerations

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 16

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

6. MODEL
The purpose of this section is to describe the data model, objects, and messages components as they relate
to this project.

6.1 Database Model


6.1.1 Memtables
6.1.1.1 {DDT or Uptable} - {Name}
Add /
Change/
Delete:
Add /
Change/
Delete

Table
Type:

{A/C/D}

{DDT /
Uptable}

DDT Table
Table
{e.g, 123}
#:
Name:

{e.g.,
MTAMORT}

RKS Code Looked Up by DB Table


{Specify other DB table name that uses the RKS code in this
uptable}

{A/C/D}

Add /
Change/
Delete

RKS Code

Table Long
Name:

{e.g., Amortization
Methods Table}

RKS Code Looked Up by DB Field


{Specify field name in the DB table that uses the RKS code in
this uptable}

Meaning

Other Fields / Comments


{Split this column if necessary to accommodate tables with
more than 3 fields}

{A/C/D}

6.1.2 Database Tables


{Database tables are tables that contain user data.}

6.1.2.1 Database Table - {Table Name}


{Repeat this section for each new or impacted database table. For new tables, the grid below must be
filled out completely for addition to the Data Dictionary on Intranet. For changed tables or columns, any
information provided in the grid below will replace existing information on the Data Dictionary from
previous release.}
{In the Description/Comments section, please note if the table column is a primary key.)
Add /
Change/
Delete:

{A/C/D}

Table Name:

{e.g., MHFSHDR}

Table Long
Name:

{e.g., Portfolio Header}

Description:
Add /
Change
/ Delete
{A/C/D}

Column Name

1.

Data Type Not Null


{type &
length}

{Y/N}

Initialized
Constraints &
Allowed Values
Value
Auto increment

Description /
Comments

{User defined,
memtable name etc.
Specify 0 or blank if
appropriate.}

2.

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 17

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

6.2 Messages
6.2.1 Recordkeeping Messages
6.2.1.1 {Message Name}
{Repeat this section for each new message / submessage and message / submessage changed. For new
messages, the grid below must be filled out completely for addition to the Messaging Guide on Intranet.
For changed messages, any applicable information provided in the grid below will replace existing
information on the Messaging Guide from previous release.}
Add /
Change/
Delete:

{A/C/D}

Message Group:
Add /
Change/
Delete:
{A/C/D}

Main /
Sub:

{Main or
Submessage}

Message Name:

{Select a book from


Messaging Guide or specify
new group}

Positional Field
1.

Purpose:

Data
Type

Null
Allowed

{String,
Number,
Date etc.}

{Y/N}

Data
Type

Optional
(Y/N)

Valid Values

Default Values

Validation
Rule #

{List values or reference uptable


name}

{1, 2 etc.}

2.

Add /
Change/ Non-Positional Field
Delete:

Valid Values

Default Values

Validation
Rule #

{A/C/D}

Validation Rule #1:


Validation Rule #2:
Sample Message
(with all fields):

{List messaging validation, also specify if field can have multiple records.}

6.2.2 Third Party Vendor Messages

6.3 Objects
{This section describes new objects and changes to existing objects that result from this project.}
Add /
Change

Object
Category
Name

{Add /
Change}

{e.g.,
Transaction}

Object Name
in Software
{e.g.
TaxLotTran}

Expanded Object Name


{e.g., Tax Lot Transaction Object}

Export
Module
{Y / N}

SDK
(Y/N)
{Y / N}

6.3.1 Purpose of Object - {Object Name 1}


{Replace heading above with object name, repeat this section as needed for all objects in the grid above.}
{For new objects, describe which functionality does this object supports and how this is used. For
changed objects, describe any applicable change.}
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 18

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

7. CONTROL
The purpose of this section is to describe the processes and interface components as they relate to this
project. Included in this section will be workflow data flow and system processes, as well as posting in
the record keeping system.

7.1 Processes
7.1.1 Workflow
7.1.1.1 Data Flow
7.1.1.2 System Process
The purpose of this section is to describe the system process for workflow. Example: MQSI, IBM
Workflow, MQ definition.

7.1.2 Posting
The purpose of this section is to describe the posting process in the application.

7.2 Application Programming Interfaces


This section describes the characteristics of interfaces between two applications or between an application
and an external system. Data transformation and connectivity are included in this section.
Online Interfaces
Interface #

Interface Name

Description

Interface Name

Description

Batch Interfaces
Interface #

7.2.1 Interfaces Workflow Diagram


{Provide a high-level visual representation of the Interfaces and interdependencies. Insert here or attach
as an appendix.}

7.2.2 Interfaces{interface name/number}


{Repeat this section for each Interface in the application}

7.2.2.1 Description
{Provide an overview on the purpose and functionality of the interface activities.}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 19

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

7.2.2.2 Interface Actions


{For each possible processing option associated with this interface, identify all system responses or
requirements. This should include any fields that are automatically populated, any processing behind the
scenes, calculations, manual activities required by the user, and any resulting system processing.
Processing may be included in the following rules list.}

7.2.2.3 Interface Rules


{List the rules associated with this interface. Include any warning/error handling rules.}
Rule #

Event

Action

Alternative Action

7.2.2.4 Data Processing and Transformation


The following tables detail the data requirements for this interface. They include the sourcing for
previously stored data that will be used during the processing of this Interface and the locations of data
outputs/updates. Data mapping and transformation rules are described here.
7.2.2.4.1 Data Inputs
Target Data Field

Method for
Populating Field

Description

7.2.2.4.2 Data Outputs/Updates


Source Data
Field

Target Data
Method for Populating
Field

Comments
Description

7.2.2.5 Concurrent Processing


{Identify any concurrent processing that exists within this application or in associated applications that
must be taken into consideration during development of the interface. Include any information on priority,
interdependencies, or restrictions on the interface within this application or by other applications.}

7.2.2.6 Scheduling Requirements


{Identify any scheduling requirements associated with this application unit. Consider timing requirements
necessary to meet the business needs (end-of-day, etc.) or technical need (data availability, etc.). Indicate
dependencies, predecessors/successors, downstream impacts, etc.}

7.2.2.7 Performance/Volume Design Considerations


{Describe any volume or performance considerations at the interface level.}

7.2.2.8 Middleware & Connectivity Considerations


{Describe any middleware and connectivity considerations at the interface level.}

7.3 Security/Control/Entitlement Requirements


7.3.1 Application Access Controls
304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 20

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

{Describe any product licensing requirements here. If applicable, also describe the implementation plan
for getting existing users licensed for this product.}

7.3.2 Data Modification/Retrieval Controls


{Define how access to the application will be controlled.}

7.3.2.1 Security Roles


{Define and describe the security roles for the application.}
Role

Description

7.3.2.2 Role Privileges


{Identify the privileges associated with each role and the table/file name to which those privileges are
granted.}
Role

Table/File Name

Privileges
(Add/Insert, Update, Delete, Select/Browse,
Index, Alter, Execute, Reference)

7.4 Performance
{The purpose of this section is to detail any performance impact on the application}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 21

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

8. BACKGROUND/BATCH UNITS
This section describes the characteristics of background and batch processing.

8.1 List of Background/Batch Units


Background
/Batch Unit
#

Background/Batch
Units Name

Description

8.2 Background/Batch Units Workflow Diagram


{Provide a high-level visual representation of the Background/Batch units and interdependencies. Insert
here or attach as an appendix.}

8.3 Background/Batch Unit{process name/number}


{Repeat this section for each Background/Batch Unit in the application}

8.3.1 Description
{Provide an overview on the purpose and functionality of the background or batch unit activities.}

8.3.2 Background/Batch Unit Actions


{For each possible processing option associated with this Background/Batch Unit, identify all system
responses or requirements. This should include any fields that are automatically populated, any
processing behind the scenes, calculations, manual activities required by the user, and any resulting
system processing. Processing may be included in the following rules list.}

8.3.3 Background/Batch Unit Rules


{List the rules associated with this Background/Batch Unit. Include any warning/error handling rules.}
Rule #

Event

Action

Alternative Action

8.3.4 Data Processing


The following tables detail the data requirements for this Background/Batch Unit. They include the
sourcing for previously stored data that will be used during the processing of this Background/Batch Unit
and the locations of data outputs/updates.

8.3.4.1 Data Inputs


Target Data Field

Method for
Populating Field

Description

8.3.4.2 Data Outputs/Updates


Source Data
Field

304944661.doc

Target Data
Method for Populating
Field

Comments
Description

CONFIDENTIAL
2002 State Street Corporation.

Page 22

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

8.3.5 Concurrent Processing


{Identify any concurrent processing that exists within this application or in associated applications that
must be taken into consideration during development of the background/batch process. Include any
information on priority, interdependencies, or restrictions on the background/batch process as it is
impacted by other processing with the application or by other applications.}

8.3.6 Scheduling Requirements


{Identify any scheduling requirements associated with this application unit. Consider timing requirements
necessary to meet the business needs (end-of-day, etc.) or technical need (data availability, etc.). Indicate
dependencies, predecessors/successors, downstream impacts, etc.}

8.3.7 Performance/Volume Design Considerations


{Describe any volume or performance considerations at the background/batch level.}

8.3.8 Middleware Considerations


{Describe any middleware considerations at the background/batch level.}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 23

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

9. APPLICATION MIGRATION STRATEGY


9.1 Migration Approach
{Define the overall strategy for migrating from a legacy application to the new application. Include
timing for migration, external application interdependencies, and user availability requirements.}

9.2 Configuration Management


{Describe how the application will be migrated from the development to the test, pre-production and
production regions. Consider the need to continue production support of any existing applications and the
impact of other development efforts using the pre-production region.}

9.3 Data Population


{Define the strategy for initially populating the system with data. It may be sourced from existing inhouse systems and/or data stores, external vendors, and/or manual records. In addition to data mapping,
system processing may also need to be defined.}

9.3.1 Automated data Migration / Conversion


{Define the mapping of data fields from existing systems, data stores and/or vendor feeds that will be
needed to initially populate data structures. In addition, define any processing, transformations, timing
and dependencies on the data.}.}
Data Source
File

Field

Target Application
Value

File

Field

Comments /
Processing
Value

9.3.2 Manual User Data Entry


{Describe any data that the business units will need to gather and input to the system. If processes need
to be created to populate the data, these need to be defined as well.}
Data Source
Source

Description

Target Application
Value

File

Field

Comments /
Processing
Value

9.3.3 Data Initialization


{Some data in the new data structures will not be available from existing sources and will need to be
initialized with a default value. Define the initial values and any processing definitions here.}
File

Target Application
Field

Initialization Comments / Processing


Value

9.4 Back-out Plan


{Describe a plan to back-out the new application if necessary. Include conditions to be considered to
make the back-out decision.}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 24

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

10. APPLICATION MANAGEMENT


10.1 Backup & Recovery
{Define all backup and recovery processing for the application and data. Include the Recovery Time
Objective (RTO) and Recovery Point Objective (RPO) for all primary and interdependent applications.
All required infrastructure components for Backup and Recovery should be included in the list of
Architecture Components. }

10.2 Archive & Purge


{Provide processing for archiving the application and data; and the purging of data. Include identification
of data, timeline for action, archive date requirements, and other data interdependencies.}

304944661.doc

CONFIDENTIAL
2002 State Street Corporation.

Page 25

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

11.DESIGN ESTIMATES
Task Component
#
Name

Task Name
(Include Section # Where This
Task Was Described in this
Document)

{Task
{Architect
Seq.
{Architecture Task Name}
ure}
#}
{Task {Develop
{Section #} {Develop Task
Seq. Componen
Name}
#} t #1}

304944661.doc

Estimates In Effort Days


TAD
(System
Specs)

N/A

UC & UTP
Task # of
Total
(Coding &
Predecessor
(Develop
Unit
)
Testing)

N/A

N/A

{Task Seq.
{Total # that this
{Effort
{Effort
For this task is
Estimate} Estimate}
Task} dependent
on}

CONFIDENTIAL
2002 State Street Corporation.

Page 26

{QA86392 RKS Firm Currency Enhancements} {Release#5.1}


Analyze: Functional Specifications {Version 1.0} {mm/dd/yyyy}

APPENDIX A: TRACEABILITY MATRIX


{In the FS Traceability Matrix, describe what needs to be mapped to prior deliverables to ensure that all
functionality has been taken into account. In cases where functionality in BSD is not implemented in its
entirety during this release/phase, the second grid below must be filled out.}
{FS section # refers to the sections of this document and Sequence # identifies the specific transactions,
functions, reports, features and functionality determined to satisfy the corresponding business
requirement.}
Req
#

Source Document: Business Solution Document


Business Requirement
Rule
Rule Description
Description
#

Section
#

Current Document: Functional Specification


Seq.
Functional Spec. Descripti
#
{Screen, report, interface, security req

Requirements Not Satisfied by the Functional Specification


{State in this table the business requirements that are not satisfied by this specification, and explain why.}
Req #

304944661.doc

Source Document: Business Solution Document


Business Requirement Description
Rule
Rule Description
#

CONFIDENTIAL
2002 State Street Corporation.

Page 27

APPENDIX B: WARNING/ERROR MESSAGES


Message
#

Type
(E or W)

Message Text

APPENDIX C :RKS TRANSACTIONS MESSAGE


APPENDIX A
TRANSACTION
Additional Investment
Average Cost Lot
Transfer
Average Cost Lot Transfer Short Sale
Basis Adjustment
Basis Adjustment - Short
Positions
Bonus issue Short Sale
Bonus issue Short Sale
Call
Call - Short sale
Capital Distribution
Cash
Capital Contribution
Cash
Cash Adjustment
Close Repo Borrow
Close Repo Lend
Closing Disposal

MAIN MESSAGE
NA

SUB MESSAGE
FIRMFXRATE()
NA

POSITION
Optional
NA

NA

NA

NA

TABASISADJUSTMENT
TABASISADJUSTMENTSHORTPOSITIO
NS
TABONUSISSUESHORTSALE
TABONUSISSUESHORTSALE
TACALL
TASHORTCALL
TACAPITALDISTRIBUTION

FIRMFXRATE()
FIRMFXRATE()

Positional
Positional

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional
Positional
Optional

TACAPITALCONTRIBUTION

FIRMFXRATE()

Optional

NA
TACLOSEREPOBORROW
TACLOSEREPOLEND
TASHORTSALECLOSINGDISPOSAL

NA
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

NA
Positional
Positional
Positional

Closing Purchase

TASHORTSALECLOSINGPURCHASE

FIRMFXRATE()

Positional

Conversion
Conversion - Short Sale
Dividend Reinvestment
Exercise Option Sale
Exercise Written Option
Exercise Option
Purchase
Exercise Purchase
Option
Expense Allocation
Expire - Short Sale Rights /
Warrants

TACONVERSION
TACONVERSIONSHORTSALE
DIVIDENDREINV
TAEXERCISEWRITTENOPTION
TAEXERCISEWRITTENOPTION
TAEXERCISEPURCHASEOPTION

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Optional
Optional
Positional
Positional
Positional
Positional

TAEXERCISEPURCHASEOPTION

FIRMFXRATE()

Positional

TAEXPENSEALLOCATION
TARIGHTSEXPIRATIONSHORTSALE
TAWARRANTSEXPIRATIONSHORTSAL
E
TAEXPIRATIONWRITTENOPTION
FEEINCOME
TAFEEINCOME

FIRMFXRATE()
NA

Positional
NA

NA
NA
FIRMFXRATE()

NA
NA
Optional

TAINCOMEALLOCATION
TAINTERMANAGERTRANSFER
TAINTERPORTFOLIOTRANSFER
TAINTERESTCAPITALIZATION

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional
Positional

Expire Written Option


Fee Income
This is for fee income
transaction message
Income Allocation
Inter Manager Transfer
Inter Portfolio Transfer
Interest Capitalization
Interest Capitalization -

Short Sale
Investment Withdrawal
Japanese Straight Line
Amortization
Maturity
Maturity Repo Borrow
Maturity Repo Lend
Option Closing Purchase
Option Closing Sale
Option Opening Purchase
Option Opening Sale
Paydown
Paydown - Short sale
Purcahse
Purchase Allocation
Redemption
Redemption - Short sale
Redenomination
Redenomination
Adjustment
Reo Lend
Repo Borrpw
Return Of Capital
Return Of Capital - Short
Sale
Reverse Stock Split
Reverse Stock Split - Short
Sale
Rights Offering
Rights Offering Short
Sale
Rights Redemption
Rights Redemption Short
Sale
Sale
Sale Allocation
Security Contribution
Security Withdrawal
Short Redenomination
Short Redenomination
Adjustment
Short Sale
Short sale Security
Contribution
Spin Off
Spin Off - Short Sale
Stock Dividend
Stock Dividend - Short
Sale
Stock Split
Stock Split - Short Sale
Tax Free Dividend
Tax Free Dividend - Short
Sale
Tax Free Exchange

TAINVESTMENTWITHDRAWAL

FIRMFXRATE()

Positional

TAMATURITY
TAMATURITYREPOBORROW
TAMATURITYREPOLEND
TAOPTIONCLOSINGPURCHASE
TAOPTIONCLOSINGSALE
TAOPTIONOPENINGPURCHASE
TAOPTIONOPENINGSALE
TAPAYDOWN
TASHORTPAYDOWN
TAPURCHASE
TATBAPURCHASEALLOCATION
TAREDEMPTION
TASHORTREDEMPTION
TAREDENOM
TAREDENOMINATIONADJUST

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
NA
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
NA

Positional
Positional
Positional
Positional
Positional
Positional
Positional
Optional
Optional
Optional
NA
Optional
Optional
Positional
NA

TAREPOLEND
TAREPOBORROW
TARETURNOFCAPITAL
TARETURNOFCAPITALSHORTSALE

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional
Positional

TASPLIT
TASHORTSPLIT

FIRMFXRATE()
FIRMFXRATE()

Positional
Positional

TARIGHTSOFFERING
TARIGHTSOFFERINGSHORTSALE

FIRMFXRATE()
FIRMFXRATE()

Positional
Positional

TARIGHTSREDEMPTION
TARIGHTSREDEMPTIONSHORTSALE

FIRMFXRATE()
FIRMFXRATE()

Optional
Optional

TASALE
TATBASALEALLOCATION
TASECURITYCONTRIBUTION
TASECURITYWITHDRAWAL

FIRMFXRATE()
NA
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
NA

Positional
NA
Optional
Optional
Positional
NA

TASHORTSALE
TASHORTSALESECURITYCONTRIBUTI
ON
TASPINOFF,
TASPINOFFSHORTSALE
TASTOCKDIVIDEND,
TASHORTSTOCKDIVIDEND

FIRMFXRATE()
FIRMFXRATE()

Positional
Optional

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional
Positional

TASPLIT
TASHORTSPLIT
TATAXFREEDIVIDEND
TATAXFREEDIVIDENDSHORTSALE

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional
Positional

TATAXFREEEXCHANGE

FIRMFXRATE()

Positional

TASHORTREDENOMINATIONADJUST

Tax Free Exchange -Short


Sale
Taxable Exchange
Taxable Exchange - Short
Sale
Tender Offer
Tender Offer - Short
Sale
Variation margin
Warrants Issuance
Warrants Issuance Short
Sale

TATAXFREEEXCHANGESHORTSALE

FIRMFXRATE()

Positional

TATAXABLEEXCHANGE
TATAXABLEEXCHANGESHORTSALE

FIRMFXRATE()
FIRMFXRATE()

Positional
Positional

TATENDEROFFER
TATENDEROFFERSHORTSALE

FIRMFXRATE()
FIRMFXRATE()

Positional
Positional

TAVARMARGIN
TAWARRANTSISSUANCE
TAWARRANTSISSUANCESHORTSALE

FIRMFXRATE()
FIRMFXRATE()
FIRMFXRATE()

Positional
Positional
Positional

GLOSSARY
Below is an alphabetized list of terms and acronyms used in this document with their corresponding
definitions.
Term
Recovery Point Objective

Acronym
RPO

Definition
The acceptable age of the data defined by the Business
Owner that is available to the user when the system is
recovered. For example, current (no loss of data), within an
hour or the previous nights backup, etc.

Recovery Time Objective

RTO

The total elapsed time as defined by the Business


Owner required to recover the application and return
from an event declaration to full business unit
functionality.

S-ar putea să vă placă și