Public SQL Views in Advent Portfolio Exchange

Release 3

CONFIDENTIAL — DO NOT DISTRIBUTE

NOTICE

The software described in this document is furnished under a license agreement. The software may be used or copied only in accordance with the terms of the agreement. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose without the express written permission of Advent Software, Inc. Information in this document may be revised from time to time without notice. This document, which is provided solely to Licensees of Advent Software, Inc., is confidential and proprietary.

U.S. Government Users: Use, duplication, or disclosure is subject to the restrictions as set forth in the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 subparagraph (c)(1)(ii), or the Commercial Computer Software -- Restricted Rights at CFR 52.227-19, subparagraphs (c)(1) and (2), as applicable. Manufacturer is Advent Software, Inc. 600 Townsend Street, San Francisco, CA 94103

Copyright 2011 by Advent Software, Inc. All rights reserved.

NOTE: All names of individuals that may appear in any displays herein are fictitious. Any similarity to the names of any persons living or dead is unintentional and strictly coincidental.

Part number: APXSQL3U2b Release number: Advent Portfolio Exchange Release 3 Publication date: February 2011

Advent, the Advent logo, Advent Browser Reporting, Advent Corporate Actions, Advent INX, Advent Office, AdventOnDemand, Advent Packager, Advent Partner, Advent Portfolio Exchange, Advent Revenue Center, Advent Rules Manager, Advent Software, Inc., Advent TrustedNetwork, Advent Warehouse, Axys, Geneva, Moxy, MyAdvent, Portfolio Exchange, Qube, Rex, SmartClick, and WealthLine are registered trademarks of Advent Software, Inc. Advent Report Center, AdvisorMart, and DataExchange are trademarks of Advent Software, Inc. Other trademarks are those of their respective holders, and should be treated as such.

Printed on Recycled Paper.

USING ADVENT PORTFOLIO EXCHANGE PUBLIC SQL VIEWS GUIDE DISCLAIMER

IMPORTANT—READ CAREFULLY

The "Public SQL Views in Advent Portfolio Exchange" document (the “Guide”) is confidential and trade secret information of Advent Software, Inc. and/or its subsidiaries and is protected by federal and state law. You may not distribute or disclose the information therein without the prior express written consent of Advent Software.

By accessing this document, you hereby represent and warrant that you are a Licensee of Advent Software, Inc. (“Advent”) and its software products, and are bound to the terms and conditions of a license agreement (“License Agreement”) with Advent. If the foregoing is not true and accurate, you MUST cease use of this document and this site immediately.

This guide was created solely for Licensee’s own internal use to access public views available with Advent Portfolio Exchange® Software (“APX”). Licensee hereby acknowledges and agrees that the Licensee user of the Guide must have prior knowledge of SQL and/or programming experience to utilize the Guide.

LICENSEE ACKNOWLEDGES AND AGREES THAT EXCEPT AS OTHERWISE OUTLINED HEREIN, ALL USE OF THE GUIDE AND THE ADVENT PORTFOLIO EXCHANGE SOFTWARE SHALL BE IN ACCORDANCE WITH THE LICENSE AGREEMENT, INCLUDING THE LICENSE GRANT AND LICENSE RESTRICTIONS SECTIONS THEREOF.

THIS GUIDE IS PROVIDED WITHOUT COST, AS A CONVENIENCE TO LICENSEE. THERE IS ABSOLUTELY NO TECHNICAL SUPPORT AVAILABLE FOR ANY INTEGRATION PRODUCTS CREATED FOR USE WITH THE VIEWS GENERATED BY LICENSEE. THE GUIDE IS NOT AN ADVENT SOFTWARE PRODUCT, AND IS PROVIDED ON AN AS-IS BASIS ONLY. ADVENT DOES NOT MAKE ANY WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING THE EFFECTIVENESS, ACCURACY, OR COMPLETENESS OF THE GUIDE, PUBLIC SQL VIEWS, OR ANY INTEGRATION PRODUCTS CREATED FROM THE VIEWS GENERATED BY LICENSEE. ADVENT SHALL HAVE NO LIABILITY OR RESPONSIBILITY FOR ERRORS OR OMISSIONS RESULTING FROM THE USE OF THE GUIDE, OR ANY DECISIONS MADE BY COMPANY IN RELIANCE ON OR USE OF THE GUIDE. ADVENT RESERVES THE RIGHT TO MAKE CHANGES TO OR COMPLETELY DISCONTINUE THE GUIDE WITHOUT NOTICE.

LICENSEE SHALL INDEMNIFY ADVENT FOR ANY AND ALL THIRD PARTY CLAIMS RESULTING FROM OR RELATED TO LICENSEE’S USE OF THE GUIDE.

CONFIDENTIAL—DO NOT DISTRIBUTE

Public SQL Views

Advent Portfolio Exchange Release 3

1 INTRODUCTION ...... 1 1.1 Business needs ...... 1 1.2 What are public views and functions? ...... 1 1.3 Read-only ...... 2 1.4 ...... 2 1.5 Naming convention ...... 2 1.6 Deprecation ...... 3

2 ADVAPP SCHEMA ...... 4 2.1 Portfolio public views ...... 4 2.1.1 AdvApp.vPerformance ...... 4 2.1.2 AdvApp.vPerformanceClassification ...... 5 2.1.3 AdvApp.vPerformanceClassificationPeriod ...... 6 2.1.4 AdvApp.vPerformanceSecurity ...... 6 2.1.5 AdvApp.vPerformanceSecurityPeriod ...... 7 2.1.6 AdvApp.vPortfolio ...... 7 2.1.7 AdvApp.vPortfolio_Hist ...... 8 2.1.8 AdvApp.vPortfolioBase ...... 9 2.1.9 AdvApp.vPortfolioBaseCustom...... 9 2.1.10 AdvApp.vPortfolioBaseCustomLabels ...... 9 2.1.11 AdvApp.vPortfolioBaseDeleted ...... 10 2.1.12 AdvApp.vPortfolioBaseLabels ...... 10 2.1.13 AdvApp.vPortfolioBaseRenamed ...... 11 2.1.14 AdvApp.vPortfolioComposite ...... 11 2.1.15 AdvApp.vPortfolioCompositeMember ...... 11 2.1.16 AdvApp.vPortfolioCustomLabels ...... 12 2.1.17 AdvApp.vPortfolioGroup ...... 12 2.1.18 AdvApp.vPortfolioGroupMember ...... 12 2.1.19 AdvApp.vPortfolioGroupMemberFlattened ...... 13 2.1.20 AdvApp.vPortfolioIndexes ...... 13 2.1.21 AdvApp.vPortfolioInterestedParty ...... 13 2.1.22 AdvApp.vPortfolioInterestedPartyMailing ...... 14 2.1.23 AdvApp.vPortfolioLabels ...... 14 2.1.24 AdvApp.vPortfolioSummaryCurrent ...... 15 2.1.25 AdvApp.vPortfolioTaxLotCurrent ...... 15 2.1.26 AdvApp.vPortfolioTransaction ...... 16 2.1.27 AdvApp.vPortfolioTransactionHistory ...... 17 2.1.28 AdvApp.vPositionRecon ...... 18

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

i CONFIDENTIAL—DO NOT DISTRIBUTE

2.2 Contact public views ...... 19 2.2.1 AdvApp.vActivity ...... 19 2.2.2 AdvApp.vActivity_Hist ...... 20 2.2.3 AdvApp.vActivityContact ...... 21 2.2.4 AdvApp.vActivityCustom ...... 21 2.2.5 AdvApp.vActivityPortfolio ...... 21 2.2.6 AdvApp.vActivityPriority ...... 22 2.2.7 AdvApp.vActivityType ...... 22 2.2.8 AdvApp.vAttendee ...... 22 2.2.9 AdvApp.vContact ...... 22 2.2.10 AdvApp.vContact_Hist ...... 24 2.2.11 AdvApp.vContactAddress ...... 25 2.2.12 AdvApp.vContactCustom ...... 25 2.2.13 AdvApp.vContactPhone ...... 26 2.2.14 AdvApp.vContactRelationship ...... 26 2.2.15 AdvApp.vEmail...... 26 2.2.16 AdvApp.vFreeBusyStatus ...... 27 2.2.17 AdvApp.vTaskRecurrence ...... 27 2.2.18 AdvApp.vTaskStatus ...... 27 2.3 public views ...... 28 2.3.1 AdvApp.vBaseRate ...... 28 2.3.2 AdvApp.vBaseRateSchedule ...... 28 2.3.3 AdvApp.vCouponRate ...... 28 2.3.4 AdvApp.vCouponRateSchedule ...... 28 2.3.5 AdvApp.vCurrency ...... 28 2.3.6 AdvApp.vFactoredSecFlowMethod ...... 29 2.3.7 AdvApp.vFXRate ...... 29 2.3.8 AdvApp.vFxType ...... 29 2.3.9 AdvApp.vMarketIndex ...... 29 2.3.10 AdvApp.vMarketIndexRate ...... 30 2.3.11 AdvApp.vPerformanceMarketIndexClassification ...... 30 2.3.12 AdvApp.vPerformanceMarketIndexPeriod ...... 30 2.3.13 AdvApp.vPerformanceMarketIndexSecurity ...... 30 2.3.14 AdvApp.vPriceType ...... 31 2.3.15 AdvApp.vResetRate ...... 31 2.3.16 AdvApp.vResetRateSchedule ...... 31 2.3.17 AdvApp.vSecType ...... 31 2.3.18 AdvApp.vSecTypeGroup ...... 33 2.3.19 AdvApp.vSecurity ...... 33 2.3.20 AdvApp.vSecurity_Hist ...... 35 2.3.21 AdvApp.vSecurityCallPutStatus...... 38 2.3.22 AdvApp.vSecurityDeleted ...... 38 2.3.23 AdvApp.vSecurityFactor ...... 39 2.3.24 AdvApp.vSecurityPrice ...... 39 2.3.25 AdvApp.vSecurityPropertyLookup ...... 39 2.3.26 AdvApp.vSecurityPropertyValue...... 39 2.3.27 AdvApp.vSecurityRenamed ...... 40 2.3.28 AdvApp.vSecuritySplit ...... 40 2.3.29 AdvApp.vSecuritySymbolExport ...... 40 2.3.30 AdvApp.vSecuritySymbolImport ...... 40 2.3.31 AdvApp.vSecurityValuationLastBusinessDay ...... 41

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

ii CONFIDENTIAL—DO NOT DISTRIBUTE

2.4 Reference data public views ...... 41 2.4.1 AdvApp.vAssetClass ...... 41 2.4.2 AdvApp.vBondInsurer ...... 41 2.4.3 AdvApp.vBondRevenueSource ...... 41 2.4.4 AdvApp.vBondStatus ...... 42 2.4.5 AdvApp.vBrokerFirm ...... 42 2.4.6 AdvApp.vBrokerRep ...... 42 2.4.7 AdvApp.vCommissionPurpose ...... 42 2.4.8 AdvApp.vCountry ...... 42 2.4.9 AdvApp.vCustodian ...... 43 2.4.10 AdvApp.vExchange ...... 43 2.4.11 AdvApp.vHoliday ...... 43 2.4.12 AdvApp.vHolidaySchedule ...... 43 2.4.13 AdvApp.vIndustryGroup ...... 44 2.4.14 AdvApp.vIndustrySector ...... 44 2.4.15 AdvApp.vObject ...... 44 2.4.16 AdvApp.vOmnibus ...... 44 2.4.17 AdvApp.vSecClass ...... 44 2.4.18 AdvApp.vSecClassMember ...... 45 2.4.19 AdvApp.vSecUserDef1-3 ...... 45 2.4.20 AdvApp.vSource ...... 45 2.4.21 AdvApp.vState ...... 45 2.4.22 AdvApp.vStrategy ...... 45 2.4.23 AdvApp.vTargetDate ...... 46 2.4.24 AdvApp.vTransUserDef1-3 ...... 46 2.5 Users and roles public views ...... 47 2.5.1 AdvApp.vLicensePool ...... 47 2.5.2 AdvApp.vLicensePoolMember ...... 47 2.5.3 AdvApp.vRole ...... 47 2.5.4 AdvApp.vUser ...... 47 2.5.5 AdvApp.vUserBase ...... 48 2.5.6 AdvApp.vUserGroup ...... 48 2.5.7 AdvApp.vUserGroupMember ...... 49 2.5.8 AdvApp.vUserGroupType ...... 49 2.5.9 AdvApp.vUserSession ...... 49 2.6 Database functions ...... 50 2.6.1 AdvApp.fSecurityPropertyID ...... 50

3 APXUSER SCHEMA ...... 51 3.1 Portfolio public views ...... 51 3.1.1 APXUser.vPerformance ...... 51 3.1.2 APXUser.vPerformanceClassification ...... 52 3.1.3 APXUser.vPerformanceClassificationPeriod ...... 53 3.1.4 APXUser.vPerformanceSecurity...... 53 3.1.5 APXUser.vPerformanceSecurityPeriod ...... 54 3.1.6 APXUser.vPortfolio ...... 54 3.1.7 APXUser.vPortfolioBase ...... 55 3.1.8 APXUser.vPortfolioBaseCustom ...... 55 3.1.9 APXUser.vPortfolioBaseCustomLabels ...... 56 3.1.10 APXUser.vPortfolioBaseLabels ...... 56

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

iii CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.11 APXUser.vPortfolioBaseRenamed ...... 57 3.1.12 APXUser.vPortfolioBaseSettingEx ...... 57 3.1.13 APXUser.vPortfolioBillingEx ...... 58 3.1.14 APXUser.vPortfolioComposite ...... 59 3.1.15 APXUser.vPortfolioCompositeMember ...... 59 3.1.16 APXUser.vPortfolioCustomLabels ...... 59 3.1.17 APXUser.vPortfolioGroup ...... 59 3.1.18 APXUser.vPortfolioGroupMember ...... 60 3.1.19 APXUser.vPortfolioGroupMemberFlattened ...... 60 3.1.20 APXUser.vPortfolioIndexes ...... 61 3.1.21 APXUser.vPortfolioInterestedParty...... 61 3.1.22 APXUser.vPortfolioInterestedPartyMailing ...... 61 3.1.23 APXUser.vPortfolioLabels ...... 62 3.1.24 APXUser.vPortfolioSettingEx ...... 62 3.1.25 APXUser.vPortfolioSummaryCurrent...... 63 3.1.26 APXUser.vPortfolioTaxLotCurrent ...... 63 3.1.27 APXUser.vPortfolioTransaction ...... 64 3.1.28 APXUser.vPortfolioTransactionHistory ...... 65 3.1.29 APXUser.vPositionRecon ...... 67 3.2 Contact public views ...... 67 3.2.1 APXUser.vActivity ...... 67 3.2.2 APXUser.vActivityContact ...... 68 3.2.3 APXUser.vActivityCustom ...... 68 3.2.4 APXUser.vActivityEx ...... 68 3.2.5 APXUser.vActivityPortfolio ...... 70 3.2.6 APXUser.vActivityPriority ...... 71 3.2.7 APXUser.vActivityType ...... 71 3.2.8 APXUser.vAttendee ...... 71 3.2.9 APXUser.vContact ...... 71 3.2.10 APXUser.vContactAddress ...... 73 3.2.11 APXUser.vContactCustom ...... 73 3.2.12 APXUser.vContactPhone ...... 73 3.2.13 APXUser.vContactRelationship ...... 74 3.2.14 APXUser.vEmail ...... 74 3.2.15 APXUser.vFreeBusyStatus ...... 75 3.2.16 APXUser.vPortfolioContactRelationshipEx ...... 75 3.2.17 APXUser.vTaskRecurrence ...... 75 3.2.18 APXUser.vTaskStatus ...... 76 3.3 Market public views ...... 76 3.3.1 APXUser.vBaseRate ...... 76 3.3.2 APXUser.vBaseRateSchedule ...... 76 3.3.3 APXUser.vCouponRate ...... 76 3.3.4 APXUser.vCouponRateSchedule ...... 76 3.3.5 APXUser.vCurrency ...... 77 3.3.6 APXUser.vFactoredSecFlowMethod ...... 77 3.3.7 APXUser.vFXRate ...... 77 3.3.8 APXUser.vFxType ...... 78 3.3.9 APXUser.vMarketIndex ...... 78 3.3.10 APXUser.vMarketIndexRate ...... 78 3.3.11 APXUser.vPerformanceMarketIndexClassification ...... 78 3.3.12 APXUser.vPerformanceMarketIndexPeriod ...... 78 3.3.13 APXUser.vPerformanceMarketIndexSecurity ...... 79 3.3.14 APXUser.vPriceType ...... 79

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

iv CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.15 APXUser.vResetRate ...... 79 3.3.16 APXUser.vResetRateSchedule ...... 79 3.3.17 APXUser.vSecType ...... 80 3.3.18 APXUser.vSecTypeGroup ...... 81 3.3.19 APXUser.vSecurity ...... 81 3.3.20 APXUser.vSecurityCallPutStatus ...... 84 3.3.21 APXUser.vSecurityDeleted ...... 84 3.3.22 APXUser.vSecurityFactor ...... 85 3.3.23 APXUser.vSecurityPrice ...... 85 3.3.24 APXUser.vSecurityProperty ...... 85 3.3.25 APXUser.vSecurityPropertyLookup ...... 85 3.3.26 APXUser.vSecurityPropertyValue ...... 86 3.3.27 APXUser.vSecurityRenamed ...... 86 3.3.28 APXUser.vSecuritySplit ...... 86 3.3.29 APXUser.vSecuritySymbolExport ...... 87 3.3.30 APXUser.vSecuritySymbolImport ...... 87 3.3.31 APXUser.vSecurityValuationLastBusinessDay ...... 87 3.3.32 APXUser.vSecurityVariant ...... 87 3.4 Reference data public views ...... 90 3.4.1 APXUser.vAssetClass ...... 90 3.4.2 APXUser.vBondInsurer ...... 90 3.4.3 APXUser.vBondRevenueSource ...... 90 3.4.4 APXUser.vBondStatus ...... 90 3.4.5 APXUser.vBrokerFirm ...... 90 3.4.6 APXUser.vBrokerRep ...... 91 3.4.7 APXUser.vCommissionPurpose ...... 91 3.4.8 APXUser.vCountry ...... 91 3.4.9 APXUser.vCustodian ...... 91 3.4.10 APXUser.vExchange ...... 91 3.4.11 APXUser.vHoliday ...... 92 3.4.12 APXUser.vHolidaySchedule ...... 92 3.4.13 APXUser.vIndustryGroup ...... 92 3.4.14 APXUser.vIndustrySector ...... 92 3.4.15 APXUser.vObject ...... 93 3.4.16 APXUser.vOmnibus ...... 93 3.4.17 APXUser.vSecClass ...... 93 3.4.18 APXUser.vSecClassMember ...... 93 3.4.19 APXUser.vSecUserDef1-3 ...... 94 3.4.20 APXUser.vSource ...... 94 3.4.21 APXUser.vState ...... 94 3.4.22 APXUser.vStrategy ...... 94 3.4.23 APXUser.vTargetDate ...... 94 3.4.24 APXUser.vTransUserDef1-3 ...... 95 3.5 Users and roles public views ...... 95 3.5.1 APXUser.vConfigurationEx ...... 95 3.5.2 APXUser.vLicensePool ...... 96 3.5.3 APXUser.vLicensePoolMember ...... 96 3.5.4 APXUser.vRole ...... 96 3.5.5 APXUser.vUser ...... 97 3.5.6 APXUser.vUserBase ...... 97 3.5.7 APXUser.vUserGroup ...... 98 3.5.8 APXUser.vUserGroupMember ...... 98 3.5.9 APXUser.vUserGroupType ...... 98

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

v CONFIDENTIAL—DO NOT DISTRIBUTE

3.5.10 APXUser.vUserSession ...... 99 3.6 Database functions ...... 99 3.6.1 APXUser.fDisplaySecuritySymbol ...... 99 3.6.2 APXUser.fGetDisclaimerText ...... 99 3.6.3 APXUser.fGetGenericDate ...... 100 3.6.4 APXUser.fSecurityPropertyID ...... 100 3.6.5 APXUser.fShowAccruedInterestOnAllReports ...... 101 3.6.6 APXUser.fShowAccruedInterestOnPerformanceReports ...... 101 3.6.7 APXUser.fTaskRecurrenceEnding ...... 102 3.6.8 APXUser.fTaskRecurrenceFrequency ...... 102 3.6.9 APXUser.fTaskRecurrencePattern ...... 103

4 TECHNICAL NOTES ...... 104 4.1 Level of Abstraction ...... 104 4.2 Completeness of Coverage ...... 104 4.3 Data types ...... 104 4.4 Included columns ...... 104 4.5 Excluded columns ...... 105

5 FUTURE DIRECTIONS ...... 106

6 DOCUMENT HISTORY ...... 107

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

vi CONFIDENTIAL—DO NOT DISTRIBUTE

1 Introduction Advent Portfolio Exchange ("APX") is a relational database application that publishes SQL views to support direct access to its data by third-parties. While the underlying database schema is highly normalized for efficient storage and data processing, the public views present a schema using logical entities (such as portfolios and contacts) to enable easily interpreting and extracting information from the database.

Because of both the inherent complexities within the database schema and potential changes that we may introduce between versions, we highly recommend against making direct SQL queries or updates to the underlying tables and columns, or even APX views other than these public views.

1.1 Business needs A relational database implementation enables open data access through SQL query and reporting tools. APX provides public SQL views to meet these objectives:

. Simplify data access—We provide public SQL views that simplify accessing APX data by presenting logical entities that resolve underlying abstract and complex table relationships. For example, we provide one public view for querying portfolio information that eliminates the need to understand the various tables and their relationships that comprise portfolio information. . Maintain upwards compatibility—As we add functionality to APX in subsequent versions, we may introduce changes to the underlying database implementation.We try to insulate you from these changes as much as possible; however in some cases the underlying changes may be too extensive to avoid changes to public views.

APX provides public SQL views to directly access its database for the following intended audiences:

. Clients—Clients who want to run ad hoc queries or integrate other internal systems with data from APX can write SQL to access data directly through these public views. . Partners—Alliance partners can continue to use the Advent Import Export utility or XML reports as before, but can also retrieve data directly through these public views. . Internal Advent use—Advent product development teams that are integrating their products with APX, as well as Advent Professional Services and Client Services teams that are implementing and supporting APX, can directly access data through these public views.

1.2 What are public views and functions? APX public views and functions are published, documented, and upgrade-compatible objects that enable clients and third-parties a reliable way to retrieve information from the APX database. We discourage directly querying database tables or non-public views and functions since the underlying structures are likely to change without notice from version to version. In short, public views and functions differ from underlying tables and views within the database because:

. They resolve schema-level complexities inherent in a sophisticated database design. For example, the APX schema is highly normalized to protect against data corruption. Public views are simpler to use than the underlying tables because they are read-only. . They provide a simplified entity relationship of business objects, abstracting away from database schema relationships. We use public views to present the APX entity relationship diagram. . By their nature they are far more stable and consistent between APX versions than the underlying tables or internal views.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

1 CONFIDENTIAL—DO NOT DISTRIBUTE

. They are supported and documented for external use, and any required changes between versions will be documented.

Comprehensive public views and functions simplify obtaining information for any entity from as few views as possible. Public views typically incorporate joins to parent and ornament tables, as well as resolve foreign key relationships to related tables. These views do not include internal APX data columns, such as RowVersion and Audit Trail columns. Public functions, in conjunction with public views, help with your SQL queries. Some functions improve the run-time performance of your SQL queries, while others help with lookups and calculations that are not possible to do with views alone.

Here are a few sample use cases of public views and functions:

. Custom reports written with a generic report writing tool such as Crystal Reports. . Populating reference data drop-downs in third-party products, such as a third-party billing system. . Pre-validating and code-value lookups for entries to import interfaces such as blotter downloads.

1.3 Read-only APX public views are not intended for update use. Any external programs that want to update APX data should use stored procedures or APIs that APX provides to perform updates.

1.4 Security All public views belong to one of two schemas:

. The AdvApp schema, which is meant for system integration. . The APXUser schema, which is meant for reporting, to be used in conjunction with the APX SQL accounting functions to generate custom SSRS reports. (For more information on creating custom SSRS reports, refer to “Creating SSRS Reports” on Advent Connection— http://connection.advent.com/documentation/APX/v3/v30/).

The majority of the views in the AdvApp schema are replicated in the APXUser schema.

You control who has access to these views through SQL Server roles:

. The SQL Server role AdvAppRole has select rights on the AdvApp schema. . The SQL Server role APXUserRole has both select and execute rights on the APXUser schema.

There is no application-level security applied to views in the AdvApp schema. Every SQL user who is a member of AdvAppRole has access to all rows in every AdvApp public view.

Conversely, there is a degree of application-level security applied to views in the ADVUser schema. Access to certain data in the APXUser views is tied to APX user roles and permissions. When users query the APXUser views, they see only the data that they’re authorized to see based on their existing APX roles and permissions. For example, if a user is restricted from reading a portfolio through the APX user interface, then the user is also restricted from seeing the portfolio when querying the APXUser.vPortfolio view. A user must establish an active APX user session prior to querying permissioned data from APXUser views in order to return a result set.

1.5 Naming convention All public views as well as their columns follow a general naming convention that makes them predictable, consistent, and generally intuitive to people using those views. These basic rules include: Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

2 CONFIDENTIAL—DO NOT DISTRIBUTE

. Belong to the AdvApp or APXUser schema and are prefixed with “v.” . Avoid abbreviation, unless the abbreviation is widely used in the financial services industry. . Use the most common American spelling for all words.

1.6 Deprecation To provide users ample time to update existing integration, modifications to public views will go through a deprecation period. This period will last until the end of the current major release version during which the deprecation became effective. The change will become permanent in the next major release of APX.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

3 CONFIDENTIAL—DO NOT DISTRIBUTE

2 AdvApp Schema

2.1 Portfolio public views

2.1.1 AdvApp.vPerformance This view displays performance data inclusive of portfolios, groups, and composites. It does not include security-level performance, or performance for custom security properties.

Column Data type Description ACB float The average captial base for the performance reporting period CurrencyCode char(2) Two-character code for the . The three character ISO code can be obtained by joining against the vCurrency view. Foreign key to vCurrency.CurrencyCode. DetailKeyCode nvarchar(12) On detail rows, the key for the asset class (1 character), country (2 character), or sector (3 character). On Start and Total rows, this value is NULL. FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period IRR float The internal rate of return during the performance reporting period MarketValue float NetAdditionOrWithdrawal float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerfCategoryCode char(1) A code for the category of performance. ‘a’ = Asset Class, ‘c’ = risk country, ‘s’ = industry sector. PerfDate datetime Date of this performance row. PortfolioBaseCode nvarchar(32) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. The portfolio, group, or composite name can be obtained by a join against the vPortfolioBase view or the vPortfolioBaseRename view for renamed portfolios, groups, or composites. RowTypeCode char(1) A code for the detail level of this row. ‘s’ = Start Date; ‘d’ = detail row for a specific asset class, country, or sector; ‘t’ = total of performance across all asset classes, countries, or sectors.

Note to Axys users: Axys identifies each performance record with an Axys key, which corresponds to the following combination of PerfCategoryCode, RowTypeCode, and DetailKeyCode for each performance record in APX:

New keys Axys PerfCategory RowType DetailKey key Code Code Code Description stdate a s NULL Start row for asset class performance. stdatec c s NULL Start row for risk country performance. stdates s s NULL Start row for industry sector performance. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

4 CONFIDENTIAL—DO NOT DISTRIBUTE

totport a t NULL Total row for asset class performance. totportc c t NULL Total row for risk country performance. totports s t NULL Total row for industry sector performance. x a d x Detail row for asset class performance; the single- character DetailKeyCode is a foreign key to AssetClassCode in vAssetClass. xx c d xx Detail row for risk country performance; the single-character DetailKeyCode is a foreign key to CountryCode in vCountry. xxx s d xxx Detail row for industry sector performance; the three-character DetailKeyCode is a foreign key to SectorID in vIndustrySector.

2.1.2 AdvApp.vPerformanceClassification This view displays performance records that were created in APX 2 or later. It does not include performance records created prior to APX 2, or imported via the APX Import/Export Utility using .pbf and .prf file formats. It also does not contain security level performance records.

Column Data type Description ACB float The average capital base for the performance reporting period CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode Fees float FromDate datetime The start date for this performance record FXGain float FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period Gain float IRR float The internal rate of return during the performance reporting period MarketValue float NetAdditions float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerfClassID int Identifier for the performance classification. Foreign key to vSecClass.SecClassificationID. PerfClassMemberCode nvarchar(12) The code for the performance classification member. (I.e. the asset class code) PerfClassMemberID int Identifier for the performance classification member. Foreign key to vSecClassMember.Keystring. PerfClassName nvarchar(72) Performance classification name. (E.g. AssetClass) PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. ThruDate datetime The ending date for this performance record.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

5 CONFIDENTIAL—DO NOT DISTRIBUTE

2.1.3 AdvApp.vPerformanceClassificationPeriod This view displays all performance classification periods in APX that were created in APX 2.0 or later. It does not include performance periods created prior to APX 2.0, or imported via the APX Import Export Utility using pbf and prf file formats. It also does not contain security level performance periods.

Column Data type Description CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode ExternalFee float FromDate datetime The starting date of the performance period. PerformancePeriodID int Unique key for each performance period. PortfolioBaseCode nvarchar(32) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. ThruDate datetime The ending date of the performance period.

2.1.4 AdvApp.vPerformanceSecurity This view displays all security-level performance records in APX.

Column Data type Description ACB float The average capital base for the performance reporting period CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode Fees float FromDate datetime The start date for this performance record FXGain float FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period FXIRRCalc float Deprecated FXIRRCalcGross float The internal rate of return due to foreign exchange gains or losses during the performance reporting period, calculated using the calculation gross ACB. FXIRRCalcNet float The internal rate of return due to foreign exchange gains or losses during the performance reporting period, calculated using the calculation net ACB. Gain float IRRCalc float Deprecated IRRCalcGross float The internal rate of return during the performance reporting period, calculated gross of fees IRRCalcNet float The internal rate of return during the performance reporting period, calculated net of fees IRRReal float The internal rate of return during the performance reporting period, calculated using the ACB for the performance reporting period. MarketValue float NetAdditions float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID PerformanceSecurityPeriodID int Same value as PerformancePeriodID – deprecated in APX 3.0. Use PerformancePeriodID instead. PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

6 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID SecurityID int Foreign key to vSecurity.SecurityID ThruDate datetime The ending date for this performance record.

2.1.5 AdvApp.vPerformanceSecurityPeriod This view displays all security-level performance periods in APX.

Column Data type Description CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode ExternalFee float FromDate datetime The starting date of the performance period. PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID . PerformanceSecurityPeriodID int Same value as PerformancePeriodID. Deprecated in APX 3.0. Use PerformancePeriodID instead. PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID ThruDate datetime The ending date of the performance period.

2.1.6 AdvApp.vPortfolio This view dispays one row for each portfolio and its attributes that are defined exclusively for a portfolio. It does not contain portfolio settings, as they may be defined for the portfolio, portfolio group, or firm.

Column Data type Description BankAddressID int Foreign key to vContactAddress.AddressID. BankContactID int Foreign key to vContact.ContactID. BankPhoneID int Foreign key to vContactPhone.PhoneID. BillingAddressID int Foreign key to vContactAddress.AddressID. BillingContactID int Foreign key to vContact.ContactID. BillingPhoneID int Foreign key to vContactPhone.PhoneID. DocumentLink nvarchar(260) InitialValue float InvestmentGoal nvarchar(72) IsExcludedFromGroupRules bit IsIncomplete bit IsPositionOnly bit OwnedBy int Foreign key to vUserBase.UserID. OwnerAddressID int Foreign key to vContactAddress.AddressID. OwnerContactID int Foreign key to vContact.ContactID. OwnerPhoneID int Foreign key to vContactPhone.PhoneID. PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioGUID uniqueidentifier Globally unique identifier for third-party integration. PortfolioID int Unique key for each portfolio. PortfolioStatus nvarchar(72) PortfolioTypeCode nvarchar(72) PrimaryContactID int Foreign key to vContact.ContactID. ProcessingGroupID int Foreign key to vUserGroup.UserGroupID. ReconciliationCloseDate datetime Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

7 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ShortName nvarchar(72) TaxNumber varchar(16) TaxStatus nvarchar(72) URL nvarchar(260)

2.1.7 AdvApp.vPortfolio_Hist This view displays all audited versions of each portfolio. Each audited event is assigned an AuditEventID, which is a sequentially assigned unique identifier in the APX Firm database.

Column Data type Description AccruedInterestID smallint The accrued interest report setting on the portfolio. AuditEventIDIn int The identifier that represents the audit event which made this row current. AuditEventIDOut int The identifier that represents the audit event which deleted this version of this record. AuditEventTime datetime The date and time of when the audit event occurred. AuditFunctionID smallint The function (method) by which this row was created or modified. AuditUserID int The user associated with this audit event. Foreign key to vUser.UserID BillingMethodCode char(1) BrokerRepID int The default broker rep for the portfolio. Foreign key to vBrokerRep.BrokerRepID. ClosingMethodCode char(1) CustodianID int Foreign key to vCustodian.CustodianID. DepositoryInstitutionID int DocumentLink nvarchar(260) DomicileCountryCode char(2) InitialValue float InvestmentGoal nvarchar(72) IsExcludedFromGroupRules bit IsIncomplete bit IsPositionOnly bit PortfolioCode nvarchar(32) PortfolioGUID uniqueidentifier PortfolioID int Foreign key to vPortfolio.PortfolioID. PortfolioStatus nvarchar(72) PortfolioTypeCode nvarchar(72) ProcessingGroupID int Foreign key to vUserGroup.UserGroupID. ReconciliationCloseDate datetime ReinvestCapitalGains bit ReinvestDividends bit ShortName nvarchar(72) TaxNumber varchar(16) TaxStatus nvarchar(72) URL nvarchar(260)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

8 CONFIDENTIAL—DO NOT DISTRIBUTE

2.1.8 AdvApp.vPortfolioBase This view displays one row for each portfolio, group, and composite containing the common attributes across portfolios, groups, and composites.

Column Data type Description CloseDate datetime OwnedBy int Foreign key to vUserBase.UserID PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Unique key for a portfolio, group, or composite. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite ReportHeading1 nvarchar(72) ReportHeading1 for the portfolio, group, or composite. ReportHeading2 nvarchar(72) ReportHeading2 for the portfolio, group, or composite. ReportHeading3 nvarchar(72) ReportHeading3 for the portfolio, group, or composite. StartDate datetime

2.1.9 AdvApp.vPortfolioBaseCustom The PortfolioBaseCustom view returns custom fields and attributes for portfolio base objects—portfolios, portfolio groups and composites. Each row in this view will return the columns: PortfolioBaseID, PortfolioBaseTypeCode, PortfolioBaseCode and ClassID. Additional columns will be added for each custom field that the firm has activated for their site.

This view displays custom fields and attributes for portfolio base objects: portfolios, portfolio groups and composites.

Column Data type Description ClassID int APX Class ID of the portfolio base object. PortfolioBaseCode nvarchar(32) Portfolio, portfolio group or composite code. PortfolioBaseID int Identifier for the portfolio, group or composite. Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite

2.1.10 AdvApp.vPortfolioBaseCustomLabels This view is a row-based representation of the vPortfolioCustomLabels view.

The following are differences between the vPortfolioCustomLabels view and the vPortfolioBaseCustomLabels view:

• The columnar vPortfolioCustomLabels view displays only one row for each portfolio. The row- based view returns more than one row for each portfolio. • Though APX does not allow custom labels to have blank values, certain standard fields that have associated labels are allowed to be blank. The vPortfolioCustomLabels view must show these blank values because the view is columnar. The vPortfolioBaseCustomLabels view does not show rows where the label values are blank.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

9 CONFIDENTIAL—DO NOT DISTRIBUTE

• The vPortfolioCustomLabels view shows NULL values for labels that were not assigned to portfolios. The vPortfolioBaseCustomLabels view does not show any rows where the Value column is NULL. • The column names in the vPortfolioCustomLabels view have prefixes to indicate the type of label: 'T_' for text, 'N_' for numeric, and 'D_' for date labels. In the vPortfolioBaseCustomLabels view, the entire label type is returned in the Label field, and prefixed the same way they are in APX: $ (dollars sign) for text, # (number sign) for numeric, and % (percent sign) for date labels. • In the vPortfolioCustomLabels view, each column can be a different SQL data type. Text labels are varchar, numeric labels are float and date labels are datetime. In the vPortfolioBaseCustomLabels view, because the column must represent three different data types, we use a data type called sql_variant. If you are integrating the views directly to another application, you will need to cast or convert the values for each label type accordingly.

Column Data type Description Label nvarchar(72) The label’s tag in APX. For example $name, %stdate, #copies. A label in APX can have a maximum of 8 characters. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID Value sql_variant The value of the label for this Portfolio, Portfolio Group or Composite

2.1.11 AdvApp.vPortfolioBaseDeleted This view displays one row for each portfolio, group, or composite that has been deleted.

Column Data type Description PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. PortfolioBaseID int Unique key for a deleted portfolio, group, or composite. Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite

2.1.12 AdvApp.vPortfolioBaseLabels This view is a row-based representation of the vPortfolioLabels view.

The following are differences between the vPortfolioLabels view and vPortfolioBaseLabels view:

• The columnar vPortfolioLabels view displays only one row for each portfolio. The row-based view returns more than one row for each portfolio. • Though APX does not allow custom labels to have blank values, certain standard fields that have associated labels are allowed to be blank. The vPortfolioLabels view must show these blank values because the view is columnar. The vPortfolioBaseLabels view does not show rows where the label values are blank. • The vPortfolioLabels view shows NULL values for labels that were not assigned to portfolios. The vPortfolioBaseLabels view does not show any rows where the Value column is NULL. • The column names in the vPortfolioLabels view have prefixes to indicate the type of label: 'T_' for text, 'N_' for numeric, and 'D_' for date labels. In the vPortfolioBaseLabels view, the entire label

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

10 CONFIDENTIAL—DO NOT DISTRIBUTE

type is returned in the Label field, and prefixed the same way they are in APX: $ (dollars sign) for text, # (number sign) for numeric, and % (percent sign) for date labels. • In the vPortfolioLabels view, each column can be a different SQL data type. Text labels are varchar, numeric labels are float and date labels are datetime. In the vPortfolioBaseLabels view, because the column must represent three different data types, we use a data type called sql_variant. If you are integrating the views directly to another application, you will need to cast or convert the values for each label type accordingly.

Column Data type Description Label nvarchar(128) The label’s tag in APX (Example: $name, %stdate, #copies). A label in APX can have a maximum of 8 characters. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID Value sql_variant The value of the label for this Portfolio, Portfolio Group, or Composite

2.1.13 AdvApp.vPortfolioBaseRenamed This view displays one row for each portfolio, group, or composite that has been renamed.

Column Data type Description PortfolioBaseCodeNew nvarchar(32) PortfolioBaseCodeOld nvarchar(32) PortfolioBaseGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite

2.1.14 AdvApp.vPortfolioComposite This view displays one row for each portfolio composite and its attributes that are defined exclusively for a portfolio composite. It does not contain portfolio composite settings, as they may be defined for the portfolio composite or firm.

Column Data type Description OwnedBy int Foreign key to vUserBase.UserID. PortfolioCompositeCode nvarchar(32) Unique code for each portfolio composite. PortfolioCompositeID int Unique key for each portfolio composite. Foreign key to vPortfolioBase.PortfolioBaseID. Purpose nvarchar(72)

2.1.15 AdvApp.vPortfolioCompositeMember This view displays one row for each member of a portfolio composite.

Column Data type Description Comments nvarchar(72) Comments about this member in this composite. EntryDate datetime Entry date for this composite member into this composite. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

11 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ExitDate datetime Exit date for this composite member out of this composite. MemberCode nvarchar(32) Portfolio code for this composite member. (All composite members are portfolios.) MemberID int Foreign key to vPortfolio.PortfolioID for this composite member. (All composite members are portfolios.) PortfolioCompositeCode nvarchar(32) Unique code for each portfolio composite. PortfolioCompositeID int Foreign key to vPortfolioComposite.PortfolioCompositeID.

2.1.16 AdvApp.vPortfolioCustomLabels This view displays one row for each portfolio. It is re-generated when a new custom field is created.

This view is deprecated in APX 3 and will be removed in APX 4. Use vPortfolioBaseCustomLabels.

Column Data type Description PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID.

2.1.17 AdvApp.vPortfolioGroup This view displays one row for each portfolio group and its attributes that are defined exclusively for a portfolio group. It does not contain portfolio group settings, as they may be defined for the portfolio group or firm.

Column Data type Description IsConsolidatedAccount bit IsPortfolioSorted bit OwnedBy int Foreign key to vUserBase.UserID. PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Unique key for each portfolio group. Foreign key to vPortfolioBase.PortfolioBaseID. Purpose nvarchar(72)

2.1.18 AdvApp.vPortfolioGroupMember This view displays one row for each direct member of a portfolio group. Membership via nested groups is not displayed in this view.

Column Data type Description IsConsolidated bit If this group member is a portfolio group, indicates whether it is consolidated. MemberCode nvarchar(32) Portfolio, group, or composite code for this group member. MemberID int Foreign key to vPortfolioBase.PortfolioBaseID for this group member.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

12 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description MemberTypeCode char(1) Code for type of the member.

Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Foreign key to vPortfolioGroup.PortfolioGroupID

2.1.19 AdvApp.vPortfolioGroupMemberFlattened This is a flattened view of portfolio group membership. Members of portfolio groups are returned as direct members even if the membership is a result of nested portfolio groups.

Column Data type Description DisplayOrder bigint IsConsolidated bit Indicates whether the portfolio group or composite is a consolidated member of this group. MemberCode nvarchar(32) Portfolio, group, or composite code for this group member. MemberID int Foreign key to vPortfolioBase.PortfolioBaseID for this group member. MemberTypeCode char(1) Code for type of the member. Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Foreign key to vPortfolioGroup.PortfolioGroupID.

2.1.20 AdvApp.vPortfolioIndexes This view displays the performance and synthetic index settings for each portfolio, portfolio group, or composite.

Column Data type Description DisplayOrder int IndexDate datetime IndexID int Foreign key to vMarketIndex.IndexID. PercentWeight numeric(4,1) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID.

2.1.21 AdvApp.vPortfolioInterestedParty This view displays the association between portfolios and contacts. Each row represents an association (i.e interested party relationship) between a portfolio and a contact.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. Custom nvarchar(72) = 01 to 04 ExternalAccount nvarchar(72) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

13 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description InterestedPartyType nvarchar(72) The type of relationship underlying a contact’s interest in a portfolio. IPAttr bit = 01 to 32. Site-defined flags about the interested party. Notes nvarchar(max) PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID. RelatedContactID int If the Interested Party Relationship is based on the Contact Relationship with another Contact, this column contains the related contact’s ID. Foreign key to vContact.ContactID. RelationshipID int Foreign key to vContactRelationship.RelationshipID. RelationshipTypeName nvarchar(72) Contact’s relationship with this portfolio.

2.1.22 AdvApp.vPortfolioInterestedPartyMailing This view displays mailing information for each contact relationship to a portfolio.

Column Data Type Description AddressID int Foreign key to vContactAddress.AddressID AddressLabel nvarchar(72) AreMailingsForDefault bit ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. ExternalAccount nvarchar(72) HasMailing bit = 01 to 32 Notes nvarchar(max) PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID.

2.1.23 AdvApp.vPortfolioLabels This view is deprecated in APX 3 and will be removed in APX 4. Use vPortfolioBaseLabels.

Internally, portfolio attributes, called “labels” in Axys, are represented in the APX database in two places. So-called “standard labels” became specific columns in SQL tables. “Custom labels” remain in a tag-value child table in APX. A site can promote data from the tag-value format to a custom extension table (AdvPortfolioBaseExt) with specific site-defined columns. We present the label information in a single view with both standard and custom labels. The view has one row per PortfolioID, with the labels appearing as columns. The columns in this view will vary by site.

Column Data Type Description PortfolioID int Foreign key to vPortfolio.PortfolioID T_xxxx nvarchar(72) Represents portfolio labels of string values. D_xxxx datetime Represents portfolio labels of date/time values. N_xxxx float Represents portfolio labels of numeric values.

. Each label is presented as a column in this view. . Label types are prefixed with “T_” replacing the “$” for text values, “D_” replacing the “%” for date formats and “N_” replacing the “#” for numerical values

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

14 CONFIDENTIAL—DO NOT DISTRIBUTE

2.1.24 AdvApp.vPortfolioSummaryCurrent This view displays current derived market values for each portfolio, with one row for each portfolio.

Column Data type Description IsHoldingsHistoryCurrent bit 1 if the HoldingHistory table has been updated for all changes to the transactions for this portfolio. IsTaxLotCurrent bit 1 if AdvTaxLot has been updated for all changes to the transactions for this portfolio. NextTranID int PortfolioCode nvarchar(32) PortfolioID int Foreign key to vPortfolio.PortfolioID. ProcessedDate datetime Indicates when this portfolio summary information was updated. RealizedYTDGain float Total realized gains for securities sold in the current calendar year. RealizedYTDGainLong float Total realized long term gain for securities sold in the current year. Long term is defined by securities held for a period longer than the Holding Period for the Security Type. SettlementCurrencyCode char(2) Foreign key to vCurrency.CurrencyCode. TotalCash float TotalCost float TotalMarketValue float TotalTradableCash float

2.1.25 AdvApp.vPortfolioTaxLotCurrent This view displays current derived tax lots for each portfolio, with one row for each portfolio tax lot. Tax lots are current when vPortfolioSummaryCurrent.IsTaxLotCurrent = 1.

Column Data type Description BrokerRepSymbol nvarchar(12) CustodianID int Foreign key to vCustodian.CustodianID. HeldLongDate datetime IPCounter int IsPledge bit IsShortPosition bit IsZeroMV bit LotNumber smallint LotTransactionID int The PortfolioTransactionID that opened this tax lot. Foreign key to vPortfolioTransaction.PortfolioTransactionID. OriginalCostDate datetime OriginalCostLocalCurrency float OriginalCostPortfolioCurrency float OriginalCostSystemCurrency float OriginalFace float PortfolioCode nvarchar(32) PortfolioID int Foreign key to vPortfolio.PortfolioID. Quantity float SecTypeCode char(2) Foreign key to vSecType.SecTypeCode. SecurityID int Foreign key to vSecurity.SecurityID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

15 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description StrategyID int Foreign key to vStrategy.StrategyID. Symbol nvarchar(25)

2.1.26 AdvApp.vPortfolioTransaction This view displays one row for each portfolio transaction.

Column Data type Description BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID BrokerRepSecurityID int Foreign key to vSecurity.SecurityID ClosingMethodCode char(1) Comment nvarchar(70) Commission float CommissionPurposeID tinyint Foreign key to vCommissionPurpose.CommissionPurposeID. CustodianID int Foreign key to vCustodian.CustodianID. DestCustodianID int Foreign key to vCustodian.CustodianID. DivTradeDate datetime DurationOnCost float ExchangeFee float ExchangeID tinyint Foreign key to vExchange.ExchangeID. FeePeriodDate datetime The date that defines the billing period. Relative to the Trade Date, if billing in advance, this is the later date. If billing in arrears, this is the earlier date. ImpliedCommission bit IPCounter varchar(16) IsDestPledge bit IsPledge bit LotNumber smallint MarkToMarket bit OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float OtherFees float PerfContributionOrWithdrawal bit PortfolioID int Foreign key to vPortfolio.PortfolioID. PortfolioTransactionID int Unique key for each transaction. PostDate datetime Quantity float RecID tinyint ReclaimAmount float RecordDate datetime SecTypeCode1 char(2) Foreign key to vSecType.SecTypeCode. SecTypeCode2 char(2) Foreign key to vSecType.SecTypeCode. SecurityID1 int Foreign key to vSecurity.SecurityID. SecurityID2 int Foreign key to vSecurity.SecurityID. SequenceNo int SettleDate datetime SettleDateFX float SourceID int Foreign key to vSource.SourceID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

16 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description StrategyID int Foreign key to vStrategy.StrategyID. TradeAmount float TradeBlotterLineID int Trade blotter record for this transaction record. Views for trade blotters are not currently available. TradeDate datetime TradeDateFX float TranCodeLabel nvarchar(50) Label for the TransactionCode TranID int TransactionCode char(2) TransUserDef1ID tinyint Foreign key to vTransUserDef1.TransUserDef1ID. TransUserDef2ID tinyint Foreign key to vTransUserDef2.TransUserDef2ID. TransUserDef3ID tinyint Foreign key to vTransUserDef3.TransUserDef3ID. VersusDate datetime WithholdingTax float YieldOnCost float

2.1.27 AdvApp.vPortfolioTransactionHistory This view has one row for each insert to the AdvPortfolioTransaction table. Each update is represented by a delete of the old row and an insert of the new row. A delete is represented by a single row. The action is coded in the RowAction column as I or D. The TransactionCode column is also in upper case for each D action, and lower case for each insert action.

For the results of this view to make sense, it needs to be ordered by AuditEventID and EventOrder. This can also be done within other orders, for example, order by PortfolioID, AuditEventID, EventOrder or even order by PortfolioID, PortfolioTransactionID, AuditEventID, EventOrder. The AuditTimestamp column can be used as an additional ordering key within AuditEventID and EventOrder.

Column Data type Description AuditEventID int Audit Event ID of the action that caused this change. Foreign key to the audit history table. Views for audit history are not currently available. Use the AuditEventID to order transactions chronologically. AuditTimestamp binary(8) System timestamp (not a date-time) for the change. This can be used to order items with an AuditEventID. BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID. BrokerRepSecurityID int Foreign key to vSecurity.SecurityID. ClosingMethodCode char(1) Comment nvarchar(70) Commission float CommissionPurposeID tinyint Foreign key to vCommissionPurpose.CommissionPurposeID. CustodianID int Foreign key to vCustodian.CustodianID. DestCustodianID int Foreign key to vCustodian.CustodianID. DivTradeDate datetime DurationOnCost float EventOrder int A key for ordering rows with an AuditEventID. ExchangeFee float ExchangeID tinyint Foreign key to vExchange.ExchangeID. FeePeriodDate datetime ImpliedCommission bit IPCounter varchar(16) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

17 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsDestPledge bit IsPledge bit LotNumber smallint MarkToMarket bit OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float OtherFees float PerfContributionOrWithdrawal bit PortfolioID int Foreign key to vPortfolio.PortfolioID. Join against vPortfolioBase for portfolio name or code. PortfolioTransactionID int Unique key for each portfolio transaction. PostDate datetime Quantity float RecID tinyint ReclaimAmount float RecordDate datetime RowAction varchar(1) ‘I’ for insert or incoming update, ‘D” for delete or outgoing update. SecTypeCode1 char(2) Foreign key to vSecType.SecTypeCode. SecTypeCode2 char(2) Foreign key to vSecType.SecTypeCode. SecurityID1 int Foreign key to vSecurity.SecurityID. SecurityID2 int Foreign key to vSecurity.SecurityID. SequenceNo int SettleDate datetime SettleDateFX float SourceID int Foreign key to vSource.SourceID. StrategyID int Foreign key to vStrategy.StrategyID. TradeAmount float TradeBlotterLineID int TradeDate datetime TradeDateFX float TranID int TransactionCode varchar(2) Inserted and incoming update rows have a lower-case value in this column. Deletes and outgoing updates have an upper-case value in this column. TransactionTime datetime The date and time of the audit event ID that affected this row. TransUserDef1ID tinyint Foreign key to vTransUserDef1.TransUserDef1ID. TransUserDef2ID tinyint Foreign key to vTransUserDef2.TransUserDef2ID. TransUserDef3ID tinyint Foreign key to vTransUserDef3.TransUserDef3ID. VersusDate datetime WithholdingTax float YieldOnCost float

2.1.28 AdvApp.vPositionRecon This view displays custodial position data downloaded from Advent Custodial Data. In some cases the data may be stored at the tax-lot level, instead of position-level.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

18 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ExecutionDate datetime IsShortPosition bit “1” = yes and “0” = no. LotNumber int MarketValue float OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float Currency rate on the original cost date. PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID. Join against vPortfolioBase for portfolio name or code. PositionDate datetime PositionDateFX float Currency rate on the position date. Quantity float SecTypeCode char(2) Foreign key to vSecType.SecTypeCode. SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

2.2 Contact public views

2.2.1 AdvApp.vActivity The AdvApp.vActivity view in APX 3 and prior releases is deprecated. In APX 3 Update 1, it exists in a temporary schema called AdvApp_APX2. The vActivity view in this temporary schema will be removed in APX 4. This view below includes those columns that are common to most Activity types. This view displays one row for each activity.

Column Data type Description ActivityCategory nvarchar(72) ActivityID int Unique key for each activity. ActivityPriorityID tinyint Foreign key to vActivityPriority.ActivityPriorityID. ActivityTypeID tinyint Foreign key to vActivityType.ActivityTypeID. ApptOrTaskStartDate datetime AssignedBy int Foreign key to vUserBase.UserBaseID. AssignedTime datetime AssignedTo int Foreign key to vUserBase.UserBaseID. AssignedToOrOrganizerID int User ID of the user to whom a task is assigned, or the appointment organizer. Foreign key to vUser.UserID. Body nvarchar(max) CompletedDate datetime CreatedBy int Foreign key to vUserBase.UserBaseID. CreatedTime datetime DocumentLink nvarchar(260) DueBy datetime DueDate datetime EndDate datetime EndTime datetime EndTimeOfDay varchar(5) FreeBusyStatusID tinyint Foreign key to vFreeBusyStatus.FreeBusyStatusID. IsAllDay bit IsAppointment bit Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

19 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsRecurring bit IsReminderOn bit IsSystem bit Location nvarchar(72) MinutesBeforeStart int ObjectGUID uniqueidentifier OrganizerID int Foreign key to vContact.ContactID. OwnedBy int Foreign key to vUserBase.UserBaseID. PercentComplete tinyint RecurrenceID int Foreign key to vTaskRecurrence.RecurrenceID ReminderDate datetime ReminderTime datetime ReminderTimeOfDay varchar(5) SequenceNo smallint StartDate datetime StartTime datetime StartTimeOfDay varchar(5) Subject nvarchar(255) TaskStatusID tinyint Foreign key to vTaskStatus.TaskStatusID. URL nvarchar(260)

2.2.2 AdvApp.vActivity_Hist This view displays all audited versions of each activity row. Each audited action is assigned an AuditEventID, which is a sequentially assigned identifier. Smaller AuditEventIDs are for audit events that occurred prior to larger AuditEventIDs.

Column Data type Description ActivityCategory nvarchar(72) ActivityID int Unique key for each activity. ActivityPriorityID tinyint Foreign key to vActivityPriority.ActivityPriorityID. ActivityTypeID tinyint Foreign key to vActivityType.ActivityTypeID. AssignedBy int Foreign key to vUserBase.UserBaseID. AssignedTime datetime AssignedTo int Foreign key to vUserBase.UserBaseID. AuditEventIDIn int The identifier that represents the audit event which made this row current. AuditEventIDOut int The identifier that represents the audit event which deleted this version of this record. AuditEventTime datetime The date and time of when the audit event occurred. AuditFunctionID smallint The function (method) by which this row was created or modified. AuditUserID int The user associated with this audit event. Foreign key to vUser.UserID Body nvarchar(max) CompletedDate datetime CreatedBy int CreatedTime datetime Custom nvarchar(72) DocumentLink nvarchar(260) DueBy datetime

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

20 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description DueDate datetime EndTime datetime ExtendPermissions bit FreeBusyStatusID tinyint Foreign key to vFreeBusyStatus.FreeBusyStatusID IsAllDay bit Location nvarchar(72) MinutesBeforeStart int ObjectGUID uniqueidentifier OrganizerID int Foreign key to vUser.UserID. OwnedBy int Foreign key to vUserBase.UserBaseID. PercentComplete tinyint RecurrenceID int Foreign key to vTaskRecurrence.RecurrenceID. ReminderTime datetime SequenceNo smallint StartDate datetime StartTime datetime Subject nvarchar(255) TaskStatusID tinyint Foreign key to vTaskStatus.TaskStatusID. URL nvarchar(260)

2.2.3 AdvApp.vActivityContact This view shows the association of one or more contacts to each activity.

Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. ContactID int Foreign key to vContact.ContactID IsPrimaryContact bit

2.2.4 AdvApp.vActivityCustom This view displays one row for each activity and its custom columns.

Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. Custom nvarchar(72) = 01 to 20

2.2.5 AdvApp.vActivityPortfolio This view shows the association of one or more portfolios to each activity. Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. IsPrimaryPortfolio bit PortfolioID int Foreign key to vPortfolio.PortfolioID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

21 CONFIDENTIAL—DO NOT DISTRIBUTE

2.2.6 AdvApp.vActivityPriority This is a lookup view for activity priorities. Column Data type Description ActivityPriorityID tinyint Unique key for each activity priority. ActivityPriorityName nvarchar(72)

2.2.7 AdvApp.vActivityType This is a lookup view for activity types. Column Data type Description ActivityTypeID tinyint Unique key for each activity type. ActivityTypeName nvarchar(32)

2.2.8 AdvApp.vAttendee This view lists the attendees of a meeting. Column Data type Description AppointmentID int Unique key for each appointment (Meeting). AttendeeTypeID tinyint 1 - Required 2 - Optional 3 - Resource AttendeeTypeName nvarchar(32) EmailAddress nvarchar(128) EmailAddressID int

2.2.9 AdvApp.vContact This view displays one row for each contact.

Column Data type Description BestTimeToCall nvarchar(72) BirthDate datetime BusinessPhone varchar(45) Concatenation of country code, phone number and extension. CallInterval smallint CellularPhone varchar(45) Company nvarchar(255) ContactCode nvarchar(32) Unique code for each contact. ContactGUID uniqueidentifier ContactID int ContactStatus nvarchar(72) ContactTypeName nvarchar(72) ‘Individual’ – Individual contact ‘HouseHold’ – Household contact group ‘Institution’ – Institution contact group ‘APX User’ – APX user DefaultAddressCity nvarchar(72) DefaultAddressCountry nvarchar(32) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

22 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description DefaultAddressFull nvarchar(255) Concatenation of default address elements with line breaks between address lines. Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressID int Foreign key to vContactAddress.AddressID DefaultAddressLabel nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine1 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine2 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine3 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine4 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressPostalCode varchar(16) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressStateCode nvarchar(3) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultPhoneID int Foreign key to vContactPhone.PhoneID. DeliveryName nvarchar(255) DocumentLink nvarchar(260) DriverLicense nvarchar(32) Email nvarchar(128) Email2 nvarchar(128) Email3 nvarchar(128) FirstName nvarchar(72) Gender nvarchar(72) HomePhone varchar(45) Income float IsBusinessOwner bit IsIRA bit IsLifeInsurance bit IsReferralRequest bit IsRetired bit IsTrustFund bit LastContactedDate datetime LastName nvarchar(72) MiddleName nvarchar(72) NextCallDate datetime Notes nvarchar(max) Occupation nvarchar(72) OtherPhone varchar(45) OwnedBy int Prefix nvarchar(72) ResearchTopics nvarchar(max) RetirementDate datetime Salutation nvarchar(72) Suffix nvarchar(72) TaxBracket smallint TaxID varchar(16) Title nvarchar(72) URL nvarchar(260) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

23 CONFIDENTIAL—DO NOT DISTRIBUTE

2.2.10 AdvApp.vContact_Hist This view displays all audited versions of each contact row. Each audited action is assigned an AuditEventID, which is a sequentially assigned identifier. Smaller AuditEventIDs are for audit events that occurred prior to larger AuditEventIDs.

Column Data type Description AuditEventIDIn int The identifier that represents the audit event which made this row current. AuditEventIDOut int The identifier that represents the audit event which deleted this version of this record. AuditEventTime datetime The date and time of when the audit event occurred. AuditFunctionID smallint The function (method) by which this row was created or modified. AuditUserID int The user associated with this audit event. Foreign key to vUser.UserID BestTimeToCall nvarchar(72) BirthDate datetime CallInterval smallint ClassID int CompanyName nvarchar(255) ContactCode nvarchar(32) ContactID int Foreign key to vContact.ContactID. ContactName nvarchar(255) ContactStatus nvarchar(72) ContactTypeID smallint Custom nvarchar(72) n = 1 – 99 DefaultAddressID int Foreign key to vContactAddress.AddressID. DefaultPhoneID int Foreign key to vContactPhone.PhoneID. DeliveryName nvarchar(255) DocumentLink nvarchar(260) DriverLicense nvarchar(32) FirstName nvarchar(72) Gender nvarchar(72) HasPref bit n = 1 – 30 Income float IsBusnOwner bit IsDeliveryNameEdited bit IsIraKeogh bit IsLifeInsurance bit IsPerson bit IsReferralRequest bit IsRetired bit IsSalutationEdited bit IsTrustFund bit LastContactedDate datetime LastName nvarchar(72) MiddleName nvarchar(72) NextCallDate datetime Notes nvarchar(max) ObjectGUID uniqueidentifier Occupation nvarchar(72) OwnedBy int Prefix nvarchar(72) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

24 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PrimaryContactID int Foreign key to vContact.ContactID. RetirementDate datetime Salutation nvarchar(72) Suffix nvarchar(72) TaxBracket smallint TaxID varchar(16) Title nvarchar(72) URL nvarchar(260)

2.2.11 AdvApp.vContactAddress This view displays one row for each address of each contact.

Column Data type Description AddressCity nvarchar(72) AddressContactCode nvarchar(32) Unique code for each contact. AddressContactID int Foreign key to vContact.ContactID. AddressCountry nvarchar(32) AddressFull nvarchar(255) Concatenation of address elements with line breaks between address lines. AddressID int Unique key for each contact address. AddressLabel nvarchar(72) AddressLine1 nvarchar(72) AddressLine2 nvarchar(72) AddressLine3 nvarchar(72) AddressLine4 nvarchar(72) AddressPostalCode varchar(16) AddressStateCode nvarchar(3) Custom nvarchar(72) n = 1 – 4 Duration nvarchar(32) HasAttr bit n = 1 – 4 IsSendExpress bit A flag similar to IsSendMail. This flag denotes that the address is used for express mail. In practical terms, it means package type mail, because that often goes to a different address than regular mail. IsSendMail bit A flag that marks this contact-address association as a mailing address. A contact can have more than one mailing address. OwnedBy int

2.2.12 AdvApp.vContactCustom This view displays the custom columns for each Contact.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. Custom nvarchar(72) = 01 to 99 HasPref bit = 01 to 50 OwnedBy int ID of the UserBase object that owns this contact. Foreign key to vUserBase.UserBaseID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

25 CONFIDENTIAL—DO NOT DISTRIBUTE

2.2.13 AdvApp.vContactPhone This view displays one row for each phone number associated to a contact.

Column Data type Description OwnedBy int PhoneContactCode nvarchar(32) Unique code for each contact. PhoneContactID int Foreign key to vContact.ContactID. PhoneCountryCode smallint PhoneExtension varchar(5) PhoneFull varchar(49) Concatenation of country code, phone number, and extension. The rendering of the full phone is ‘+’ + country/carrier (5) + separator (1) + phone (32) + " ext." (5) + ext (5). This adds up to 49 characters total. This formatting should not be depended upon between releases of APX. PhoneID int Unique key for each phone record. PhoneLabel nvarchar(72)

2.2.14 AdvApp.vContactRelationship This view displays one row for each relationship between two contacts. The relationship can be between two individual contacts or an individual contact and a contact group.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. ContactOwnedBy int Custom nvarchar(72) = 01 to 04 HasProfessionalAttr bit = 01 to 20 NatureOfRelationship nvarchar(255) Notes nvarchar(max) RelatedContactCode nvarchar(32) Unique code for each contact. RelatedContactID int Foreign key to vContact.ContactID. RelatedContactOwnedBy int RelationshipID int Unique key for each contact relationship. RelationshipTypeName nvarchar(72)

2.2.15 AdvApp.vEmail This view lists all Email activities. An Email is a type of activity.

Column Data type Description ActivityCategory nvarchar(72) ActivityID int Foreign key to vActivity.ActivityID. ActivityPriorityID tinyint Foreign key to vActivityPriority.ActivityPriorityID. ActivityTypeID tinyint Foreign key to vActivityType.ActivityTypeID. Body nvarchar(max) CreatedBy int CreatedTime datetime DocumentLink nvarchar(260) ObjectGUID uniqueidentifier OwnedBy int Foreign key to vUser.UserID. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

26 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ReceivedTime datetime RecipientListBCC nvarchar(max) RecipientListCC nvarchar(max) RecipientListTo nvarchar(max) SenderEmailAddressID int SentTime datetime Subject nvarchar(255) URL nvarchar(260)

2.2.16 AdvApp.vFreeBusyStatus This is a lookup view for the status of an activity.

Column Data type Description FreeBusyStatusID tinyint Unique key for each Free/Busy status. FreeBusyStatusName nvarchar(32)

2.2.17 AdvApp.vTaskRecurrence This view returns recurrence information for tasks. A task is a type of activity.

Column Data type Description RecurrenceDayOfMonth tinyint RecurrenceEndDate datetime RecurrenceEndType tinyint RecurrenceID int Unique key for each task recurrence. RecurrenceInterval smallint RecurrenceIsOnDay bit RecurrenceIsOnFriday bit RecurrenceIsOnMonday bit RecurrenceIsOnSaturday bit RecurrenceIsOnSunday bit RecurrenceIsOnThursday bit RecurrenceIsOnTuesday bit RecurrenceIsOnWednesday bit RecurrenceIsOnWeekday bit RecurrenceIsOnWeekendDay bit RecurrenceMonth tinyint RecurrenceQuantity smallint RecurrenceStartDate datetime RecurrenceTypeID tinyint RecurrenceWeekIndex smallint

2.2.18 AdvApp.vTaskStatus This view returns status information for tasks. Column Data type Description ExchangeName varchar(16) Name of the status in Microsoft Exchange TaskStatusID tinyint Defined artificial key for a task status TaskStatusName nvarchar(72) Name of the task status Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

27 CONFIDENTIAL—DO NOT DISTRIBUTE

2.3 Market public views

2.3.1 AdvApp.vBaseRate This view displays one row for each base rate.

Column Data type Description BaseRateID int Unique key for each base rate. BaseRateName nvarchar(72)

2.3.2 AdvApp.vBaseRateSchedule This view displays rate schedules for each base rate.

Column Data type Description AsOfDate datetime BaseRateID int Foreign key to vBaseRate.BaseRateID. BaseRateName nvarchar(72) Rate float

2.3.3 AdvApp.vCouponRate This view displays one row for each coupon rate.

Column Data type Description CouponRateID int Unique key for each coupon rate. CouponRateName nvarchar(72)

2.3.4 AdvApp.vCouponRateSchedule This view displays rate schedules for each coupon rate.

Column Data type Description AsOfDate datetime CouponRateID int Foreign key to vCouponRate.CouponRateID. CouponRateName nvarchar(72) Rate float

2.3.5 AdvApp.vCurrency This view displays one row for each currency.

Column Data type Description CurrencyCode char(2) Unique key for each currency code. CurrencyName nvarchar(32) CurrencyPrecision tinyint CurrencySymbol nvarchar(3) DisplayDirectRate bit ISOCode char(3) IsSystemCurrency bit SecTypeNameSuffix nvarchar(32) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

28 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description SequenceNo int

2.3.6 AdvApp.vFactoredSecFlowMethod This is a lookup view for cash flow method codes.

Column Data type Description FlowMethodCode char(1) FlowMethodDesc nvarchar(50)

2.3.7 AdvApp.vFXRate This view displays stored FX rates between two . You can retrieve currency rates using vFxRate for a range of dates.

Column Data type Description AsOfDate datetime Spot and forward rates are valid as of this date. Bid180DayRate float Quoted rate for a 180 day delivery. Bid30DayRate float Quoted rate for a 30 day delivery. Bid360DayRate float Quoted rate for a 360 day delivery. Bid60DayRate float Quoted rate for a 60 day delivery. Bid720DayRate float Quoted rate for a 720 day delivery. Bid90DayRate float Quoted rate for a 90 day delivery. FromCurrencyCode char(2) Two letter code for the base currency, for example, “eu”; for the name or ISO code, join against vCurrency. SpotRate float Quoted rate for a 2 day delivery. ThruDate datetime Spot and forward rates are valid until this date. ToCurrencyCode char(2) Two-letter code for the price currency, for example, “us”; for the name or ISO code, join against vCurrency.

2.3.8 AdvApp.vFxType This view displays all defined types.

Column Data type Description FxTypeCode nvarchar(12) Unique code for each FX type. FxTypeID smallint Unique key for each FX type. FxTypeName nvarchar(72) IsSystem bit Denotes the system FX Type. Only one FX type can be the FX Type for the system.

2.3.9 AdvApp.vMarketIndex This view displays one row for each index.

Column Data type Description CurrencyCode char(2) IndexDesc nvarchar(72) IndexID int Unique key for each market index.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

29 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IndexName nvarchar(32) Symbol nvarchar(25) SymbolTypeCode char(1)

2.3.10 AdvApp.vMarketIndexRate This view displays stored rates for each index.

Column Data type Description AsOfDate datetime IndexID int Foreign key to vMarketIndex.IndexID. Rate float

2.3.11 AdvApp.vPerformanceMarketIndexClassification This view displays performance records for an index, excluding security-level performance.

Column Data type Description PerfClassMemberCode nvarchar(12) PerfClassMemberID int Foreign key to vSecClassMember.ClassificationMemberID. PeriodID int Foreign key to vPerformanceMarketIndexPeriod.PeriodID. RateofReturn float Weight float

2.3.12 AdvApp.vPerformanceMarketIndexPeriod This view displays performance classification periods for an index, including security-level performance.

Column Data type Description FromDate datetime Key 3 of the natural key of this view. IndexID int Key 1 of the natural key of this view. Foreign key to vMarketIndex.IndexID PerfClassID int Key 2 of the natural key of this view. Foreign key to vSecClass.ClassificationID PeriodID int Artificial key for this view. PropertyName nvarchar(72) Symbol nvarchar(25) ThruDate datetime

2.3.13 AdvApp.vPerformanceMarketIndexSecurity This view displays security-level performance data for an index.

Column Data type Description PeriodID int Foreign key to vPerformanceMarketIndexPeriod.PeriodID RateofReturn float SecurityID int Foreign key to vSecurity.SecurityID Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

30 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description Symbol nvarchar(25) Weight float

2.3.14 AdvApp.vPriceType This view displays all defined price sets.

Column Data type Description FxTypeID smallint The FX type associated to this price type. Foreign key to vFxType.FxTypeID. FxTypeName nvarchar(72) IsSystem bit Denotes the system Price Type. Only one Price Type can be the Price Type for the system. PriceTypeCode nvarchar(12) Unique code for each Price Type. PriceTypeID smallint Unique key for each Price Type. PriceTypeName nvarchar(72)

2.3.15 AdvApp.vResetRate This view displays one row for each reset rate.

Column Data type Description ResetRateID int Unique key for each reset rate. ResetRateName nvarchar(72)

2.3.16 AdvApp.vResetRateSchedule This view displays rate schedules for each reset rate.

Column Data type Description AsOfDate datetime Rate float ResetRateID int Foreign key to vResetRate.ResetRateID. ResetRateName nvarchar(72)

2.3.17 AdvApp.vSecType This view displays one row for each security type.

Column Data type Description AccrualCalendarCode char(1) AmortizationMethodCode char(1) AmortizeToCode char(1) CanBeBoughtSold bit CanMature bit CanReinvestDividend bit CanSplit bit CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

31 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description CouponDelayRuleCode char(1) DefaultSymbolNameSpace char(4) DefaultSymbolTypeCode char(1) EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. EnterYieldOnCost bit ExCouponDayCount tinyint ExCouponDayRuleCode char(1) ExCouponHolidayCode char(1) FixedIncomeTypeCode char(1) FlowMethodCode char(1) HasUnderlyingSecurity bit HoldingPeriod smallint IncomeCurrencyCode char(2) IncomeTypeCode char(1) InflationIndexID int Foreign key to vMarketIndex.IndexID. IsBillable bit IsExCouponBond bit IsFFX bit IsHidden bit IsInternal bit IsLongZeroMV bit Flag denoting if long positions for securities of this type are calculated as having a zero market value. IsShortZeroMV bit Flag denoting if short positions for securities of this type are calculated as having a zero market value. IsTradable bit IsTradingCash bit IsUnsupervised bit IsVRS bit Flag denoting if securities of this type are variable rate securities IsZeroCoupon bit LongAssetClassCode char(1) LongGainClassificationCode char(1) PaymentFrequencyID tinyint PayOnMonthEnd bit PriceThruCode char(1) PrincipalCurrencyCode char(2) QuantityCalculationPrec char(1) QuantityDisplayPrec char(1) RiskCountryCode char(2) SecTypeBaseCode char(2) Base security type code, for example “unsupervised common ” may be based on a “” base security type. This column is equal to SecTypeCode base security types. SecTypeCode char(2) Unique key for each security type. SecTypeGroupID int Foreign key to vSecTypeGroup.SecTypeGroupID. SecTypeNameLong nvarchar(72) SecTypeNameShort nvarchar(72) SequenceNo int SettlementLagDays smallint Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

32 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ShortAssetClassCode char(1) ShortGainClassificationCode char(1) SourcePrefID int SubjectToFederalTax bit SubjectToStateTax bit TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. TypeGroupBaseID int UseAvgCost char(1) UseConversionFactor bit UseSimpleInterestInLastPeriod bit ValuationFactor float

2.3.18 AdvApp.vSecTypeGroup This view displays one row for each security type group.

Column Data type Description SecTypeGroupID int Unique key for each security type group SecTypeGroupNameLong nvarchar(72) Name of the group for long positions SecTypeGroupNameShort nvarchar(72) Name of the group for short positions

2.3.19 AdvApp.vSecurity The APX Security table contains rows for accounting purposes which are not traded securities. For example, there are rows for brokers because some transactions (expense payments) reference a broker as the second symbol. These rows are therefore included in this view to support joins to vPortfolioTransaction. But if a query is being run against the vSecurity view to populate a master security list, you may want to filter out rows by the SecTypeBaseCode. For example, to skip rows for brokers, you could use select * from vSecurity where SecTypeBaseCode <> ‘br’

This view displays one row for each security.

Column Data type Description AccrualCalendarCode char(1) Alpha float AmortizeToCode char(1) AverageLife float Beta float BondInsurerID tinyint Foreign key to vBondInsurer.BondInsurerID. BondRevenueSourceID tinyint Foreign key to vBondRevenueSource.BondRevenueSourceID. BookValue float CMOPaymentTypeCode char(1) Identifies how the collateralized mortgage obligation security pays income ConversionFactor float CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1) CouponDelayRuleCode char(1) CouponPaymentDateRateID int

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

33 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description CouponPaymentFrequency tinyint CouponPaymentHolidayRule- char(1) Code CouponPaymentMethodID tinyint CouponPaymentRuleID tinyint CouponResetDateRateID int CouponResetFirstDate datetime CouponResetFrequency tinyint CouponResetHolidayRuleCode char(1) CouponResetMethodID tinyint CouponResetMultiplier float CouponResetOffsetDays tinyint CouponResetOffsetRate float CouponResetRuleID tinyint CUSIP varchar(12) DurationToMaturity float EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. EPSAnnual float Annual earnings per share EPSLatest4Q float Earnings per share for the last 4 quarters EstMaturityDate datetime ExchangeID tinyint Foreign key to vExchange.ExchangeID. FirstCouponDate datetime FitchRating varchar(4) FlowMethodCode char(1) FullName nvarchar(72) IndustryGroupID int Foreign key to vIndustryGroup.IndustryGroupID. InflationIndexBaseDate datetime InflationIndexID int Foreign key to vMarketIndex.IndexID. InterestOrDividendRate float IsFixedIncome int ISIN varchar(12) IsIncomplete bit IsPerpetual bit IssueCountryCode char(2) IssueDate datetime IssuePrice float IsSystem bit IsTradable bit IsTradingCash bit IsVRS int Flag denoting if the security is a variable rate security IsZeroCoupon bit LastCouponDate datetime LongAssetClassCode char(1) MaturityDate datetime MoodyRating varchar(16) NextPaymentDate datetime OptionSymbol varchar(25) OriginalWeightedAvgMaturity float Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

34 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PaymentFrequencyID tinyint PayOnMonthEnd bit PoolNumber varchar(16) PriceThruCode char(1) PrincipalCurrencyCode char(2) ProprietarySymbol nvarchar(25) PutScheduleFirstDate datetime PutScheduleFrequency tinyint PutScheduleHolidayRuleCode char(1) PutScheduleMethodID tinyint PutScheduleRuleID tinyint RecordDate datetime RiskCountryCode char(2) SectorID int Foreign key to vSector.SectorID. SecTypeBaseCode char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third- party systems. SecurityID int Unique key for each security SecUserDefID int = 1 to 3. Foreign key to vSecUserDef.SecUserDefID. SEDOL varchar(12) SharesOutstanding float ShortAssetClassCode char(1) SourceID int Foreign key to vSource.SourceID. SourcePrefID int SPRating varchar(16) Standard and Poor’s rating StateCode varchar(3) StrategyID int Foreign key to vStrategy.StrategyID. Symbol nvarchar(25) SymbolNameSpace char(4) SymbolTypeCode char(1) SymbolValidFromDate datetime SymbolValidThruDate datetime Ticker varchar(12) TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. UnderlyingSecurityID int Foreign key to vSecurity.SecurityID. ValuationFactor float YTMOnCost float Yield to maturity on cost. Deprecated. Will be removed in APX 4.0. YTMOnMarket float Yield to maturity on market

2.3.20 AdvApp.vSecurity_Hist This view displays all audited versions of each security row. Each audited action is assigned an AuditEventID, which is a sequentially assigned identifier. Smaller AuditEventIDs are for audit events that occurred prior to larger AuditEventIDs.

Column Data type Description AccrualCalendarCode char(1)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

35 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description Alpha float AmortizeToCode char(1) Foreign key to vTargetDate.TargetDateCode. AuditEventIDIn int The identifier that represents the audit event which made this row current. AuditEventIDOut int The identifier that represents the audit event which deleted this version of this record. AuditEventTime datetime The date and time of when the audit event occurred. AuditFunctionID smallint The function (method) by which this row was created or modified. AuditUserID int The user associated with this audit event. Foreign key to vUser.UserID AverageLife float Beta float BondInsurerID tinyint Foreign key to vBondInsurer.BondInsurerID BondRevenueSourceID tinyint Foreign key to vBondRevenueSource.BondRevenueSourceID BookValue float CMOPaymentTypeCode char(1) Identifies how the collateralized mortgage obligation security pays income ConversionFactor float CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1) CouponDelayRuleCode char(1) CouponPaymentDateRateID int CouponPaymentFrequency tinyint CouponPaymentHolidayRuleCode char(1) CouponPaymentMethodID tinyint CouponPaymentRuleID tinyint CouponResetDateRateID int CouponResetFirstDate datetime CouponResetFrequency tinyint CouponResetHolidayRuleCode char(1) CouponResetMethodID tinyint CouponResetMultiplier float CouponResetOffsetDays tinyint CouponResetOffsetRate float CouponResetRuleID tinyint CUSIP varchar(12) DurationToMaturity float EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. Foreign key to vTargetDate.TargetDateCode. EPSAnnual float Annual earnings per share EPSLatest4Q float Earnings per share for the last 4 quarters EstMaturityDate datetime ExchangeID tinyint Foreign key to vExchange.ExchangeID. FirstCouponDate datetime FlowMethodCode char(1) FullName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

36 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description InflationIndexBaseDate datetime InflationIndexID int Foreign key to vMarketIndex.IndexID. InterestOrDividendRate float ISIN varchar(12) IsIncomplete bit IsPerpetual bit IssueCountryCode char(2) Foreign key to vCountry.CountryCode IssueDate datetime IssuePrice float IsSystem bit IsTradable bit IsTradingCash bit IsZeroCoupon bit LastCouponDate datetime LongAssetClassCode char(1) MaturityDate datetime MoodyRating varchar(16) NextPaymentDate datetime OriginalWeightedAvgMaturity float PaymentFrequencyID tinyint PayOnMonthEnd bit PoolNumber varchar(16) PriceThruCode char(1) PrincipalCurrencyCode char(2) Foreign key to vCurrency.CurrencyCode ProprietarySymbol nvarchar(25) PutScheduleFirstDate datetime PutScheduleFrequency tinyint PutScheduleHolidayRuleCode char(1) PutScheduleMethodID tinyint PutScheduleRuleID tinyint RecordDate datetime RiskCountryCode char(2) Foreign key to vCountry.CountryCode SecTypeBaseCode char(2) SecurityGUID uniqueidentifier SecurityID int Foreign key to vSecurity.SecurityID. SEDOL varchar(12) SharesOutstanding float ShortAssetClassCode char(1) SourceID int Foreign key to vSource.SourceID. SourcePrefID int SPRating varchar(16) Standard and Poor’s rating StateCode varchar(3) StrategyID int Foreign key to vStrategy.StrategyID. Symbol nvarchar(25) SymbolNameSpace char(4) SymbolTypeCode char(1) SymbolValidFromDate datetime SymbolValidThruDate datetime Ticker varchar(12)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

37 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. UnderlyingSecurityID int Foreign key to vSecurity.SecurityID. ValuationFactor float YTMOnCost float Yield to maturity on cost. Deprecated. Will be removed in APX 4.0 YTMOnMarket float Yield to maturity on market

2.3.21 AdvApp.vSecurityCallPutStatus This view presents the bond status as of the current date (as represented by the AoProperty “Today”).

If DateTypeCode = ‘c’ (‘p’ for Put) and BondStatusCode = ‘c’ or ‘r’ (‘p’ for Put) exists in AdvCallSchedule, then that’s the call (put) date record regardless of the AsOfDate. Otherwise, finding the record where DateTypeCode = ‘c’ (‘p’ for Put) and AsOfDate is the lowest date greater than today.

Finding a record BondStatusCode = ‘d’ without finding a later record with BondStatus = ‘e’ then the BondStatus is ‘d’ (Default). If any records with BondStatus = ‘d’ can not be found, then finding any records with BondStatusCode = ‘c’, ‘r’, or ‘p’ (Called, Pre-Refunded, or Put) then set it as BondStatusCode. Otherwise your bond status is blank. NextGen should verify that only one row for each Security has BondStatusCode = ‘c’, ‘r’, or ‘p’, so Moxy shouldn’t have to be concerned with that.

Column Data type Description BondStatusCode char(1) Foreign key to vBondStatus.

If there is a row in AdvCallSchedule with BondStatusCode equal to ‘c’, ‘p’, or ‘r’ for any date, then that value is the bond status. Else the status on the most latest before today row with ‘d’ or ‘e’ is the bond status. If there is no such row, the bond status is ‘’. CallDate datetime If the BondStatusCode is ‘c’ or ‘r’, then the date on the corresponding row is the CallDate. Otherwise, the date on the next row with DateTypeCode = ‘c’ is the call date. CallPrice float PutDate datetime PutPrice float SecurityID int Foreign key to vSecurity.SecurityID.

2.3.22 AdvApp.vSecurityDeleted This view displays one row for each deleted security.

Column Data type Description PrincipalCurrencyCode char(2) SecTypeBaseCode char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. SecurityID int Foreign key to vSecurity.SecurityID. Symbol nvarchar(25)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

38 CONFIDENTIAL—DO NOT DISTRIBUTE

2.3.23 AdvApp.vSecurityFactor This view displays historical factors for securities.

Column Data type Description FactorValue float FromDate datetime SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID. ThruDate datetime

2.3.24 AdvApp.vSecurityPrice This view displays historical prices for securities.

Column Data type Description ClosePrice float CurrencyCode char(2) PaydownFactor float PriceDate datetime PriceTypeID smallint Foreign key to vPriceType.PriceTypeID. SecurityID int Foreign key to vSecurity.SecurityID. ValuationFactor float

2.3.25 AdvApp.vSecurityPropertyLookup This view lists all security property values for all securities with custom security properties of type: lookup, range and mapping.

Column Data type Description DisplayName nvarchar(72) DisplayOrder int IsShort int KeyString nvarchar(12) PropertyDataTypeCode char(1) L - List property M - Mapped List property R - Range mapped list property PropertyID int PropertyLookupGUID uniqueidentifier PropertyLookupID int PropertyName nvarchar(72) SecurityID int Foreign key to vSecurity.SecurityID.

2.3.26 AdvApp.vSecurityPropertyValue This view lists all security property values for all securities with properties of type: string, numeric and date.

Column Data type Description PropertyDataTypeCode char(1) $ - string # - number % - date

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

39 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PropertyID int PropertyName nvarchar(72) PropertyValue nvarchar(72) SecurityID int Foreign key to vSecurity.SecurityID.

2.3.27 AdvApp.vSecurityRenamed This view displays one row for each renamed security.

Column Data type Description PrincipalCurrencyCodeNew char(2) PrincipalCurrencyCodeOld char(2) SecTypeBaseCodeNew char(2) SecTypeBaseCodeOld char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third- party systems. SecurityID int Foreign key to vSecurity.SecurityID. SymbolNew nvarchar(25) SymbolOld nvarchar(25)

2.3.28 AdvApp.vSecuritySplit This view displays one row for each security split.

Column Data type Description ExDate datetime SecurityID int Foreign key to vSecurity.SecurityID. SecuritySplitID int Unique key for each security split. ShareIn float ShareOut float

2.3.29 AdvApp.vSecuritySymbolExport This view displays a row for each security that has its RemotePlus symbol defined.

Column Data type Description ExportSymbol nvarchar(25) External symbol SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

2.3.30 AdvApp.vSecuritySymbolImport This view displays symbol mappings on securities information received from various data sources.

Column Data type Description ImportSymbol nvarchar(32) External symbol. SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

40 CONFIDENTIAL—DO NOT DISTRIBUTE

2.3.31 AdvApp.vSecurityValuationLastBusinessDay This view shows security valuation information for each security as of the last business day.

Column Data type Description AccruedInterestAM float AccruedInterestPM float AsOfDate datetime ClosePrice float CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode. PaydownFactor float PriceTypeID smallint Foreign key to vPriceType.PriceTypeID. SecurityID int Foreign key to vSecurity.SecurityID. ShareValue float ValuationFactor float

2.4 Reference data public views We will provide whatever reference data views we need in order to decode any codes or IDs we report in the primary views to the corresponding name.

2.4.1 AdvApp.vAssetClass This view displays one row for each asset class.

Column Data type Description AssetClassCode char(1) Unique key for each asset class. AssetClassName nvarchar(72)

2.4.2 AdvApp.vBondInsurer This view displays one row for each bond insurer.

Column Data type Description BondInsurerID tinyint Unique key for each bond insurer. BondInsurerName nvarchar(72)

2.4.3 AdvApp.vBondRevenueSource This view displays one row for each bond revenue source.

Column Data type Description BondRevenueSourceID tinyint Unique key for each bond revenue source. BondRevenueSourceName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

41 CONFIDENTIAL—DO NOT DISTRIBUTE

2.4.4 AdvApp.vBondStatus This view displays one row for each bond status.

Column Data type Description BondStatusCode char(1) Unique key for each bond status. BondStatusName nvarchar(72)

2.4.5 AdvApp.vBrokerFirm This view displays one row for each broker firm.

Column Data type Description BIC varchar(11) SWIFT assigned Identifier Code BrokerFirmID int Unique key for each broker firm. BrokerFirmName nvarchar(72) BrokerFirmSymbol nvarchar(12) ClearingBrokerID int The vBrokerFirm.BrokerFirmID through which this Broker Firm clears. ClearingBrokerSymbol nvarchar(12) DTCNumber varchar(8) The number that identifies this broker firm with the DTCC

2.4.6 AdvApp.vBrokerRep This view displays one row for each broker rep.

Column Data type Description BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID. BrokerFirmSymbol nvarchar(12) BrokerRepID int Unique key for each broker rep. BrokerRepKey nvarchar(12) BrokerRepName nvarchar(72) BrokerRepSymbol nvarchar(12)

2.4.7 AdvApp.vCommissionPurpose This view displays one row for each commission purpose.

Column Data type Description CommissionPurposeID tinyint Unique key for each commission purpose. PurposeDesc nvarchar(72)

2.4.8 AdvApp.vCountry This view displays one row for each country.

Column Data type Description CountryCode char(2) Unique key for each country. CountryName nvarchar(72) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

42 CONFIDENTIAL—DO NOT DISTRIBUTE

2.4.9 AdvApp.vCustodian This view displays one row for each custodian.

Column Data type Description BIC varchar(11) SWIFT assigned Bank Identifier Code ClearingCustID int The vCustodian.CustodianID through which this custodian clears. CustodianID int Unique key for each custodian. CustodianName nvarchar(72) DTCNumber varchar(8) The number that identifies this custodian with the DTCC IsSystem bit SubCustID int Foreign key to vCustodian.CustodianID.

2.4.10 AdvApp.vExchange This view displays one row for each exchange.

Column Data type Description ExchangeID tinyint Unique key for each exchange. ExchangeName nvarchar(72) HolidayScheduleID tinyint Foreign key to vHoliday.HolidayScheduleID. IsExchangeFeeEligible bit IsSystem bit LastBusinessDay datetime MIC char(4) Market Identifier Code

2.4.11 AdvApp.vHoliday This view displays one row for each holiday.

Column Data type Description HolidayDate datetime HolidayName nvarchar(72) HolidayScheduleID tinyint Foreign key to vHolidaySchedule.HolidayScheduleID. HolidayTypeID tinyint HolidayTypeName nvarchar(72)

2.4.12 AdvApp.vHolidaySchedule This view displays one row for each holiday schedule.

Column Data type Description HolidayScheduleID tinyint Unique key for each holiday schedule. HolidayScheduleName nvarchar(72) WeekendEnd tinyint WeekendStart tinyint

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

43 CONFIDENTIAL—DO NOT DISTRIBUTE

2.4.13 AdvApp.vIndustryGroup This view displays one row for each industry group.

Column Data type Description IndustryGroupCode nvarchar(12) IndustryGroupID int Unique key for each industry group. IndustryGroupName nvarchar(72) SectorID int Foreign key to vSector.SectorID.

2.4.14 AdvApp.vIndustrySector This view displays one row for each industry sector.

Column Data type Description SectorCode nvarchar(12) SectorID int Unique key for each sector. SectorName nvarchar(72)

2.4.15 AdvApp.vObject This view displays one row for each object in APX. Use this view to retrieve names, descriptions and ownership for objects in APX when they are not available in other views.

Column Data type Description ClassID int DisplayName nvarchar(72) Name nvarchar(32) ObjectDescription nvarchar(255) ObjectGUID uniqueidentifier ObjectID int Unique key for each object. OwnedBy int Foreign key to vUserBase.UserBaseID.

2.4.16 AdvApp.vOmnibus This view displays one row for each omnibus.

Column Data type Description OmnibusDesc nvarchar(72) OmnibusID int Unique key for each omnibus. OmnibusName nvarchar(32)

2.4.17 AdvApp.vSecClass This view displays one row for each security property definition.

Column Data type Description AllowPerformanceUpdate bit AllowReporting bit ClassificationID int Unique key for each classification. ClassificationName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

44 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description DisplayName nvarchar(72)

2.4.18 AdvApp.vSecClassMember This view displays one row for each member value within each custom security property. Column Data type Description ClassificationID int A grouping for classifying securities. Foreign key to vSecClass.ClassificationID. ClassificationMemberID int A classification value within a ClassificationID. Description nvarchar(128) A long description for ClassificationMemberID. DisplayOrder int The order to display ClassificationMemberID rows with a ClassificationID KeyString nvarchar(12) The natural key for a ClassificationMemberID. Label nvarchar(72) A presentation label for ClassificationMemberID

2.4.19 AdvApp.vSecUserDef1-3 This view displays one row for each security user defined 1/2/3.

Column Data type Description SecUserDefID int = 1 to 3 depending on the view. Unique key for each security user defined property. SecUserDefName nvarchar(72) = 1 to 3 depending on the view.

2.4.20 AdvApp.vSource This view displays one row for each source.

Column Data type Description SourceID int Unique key for each source. SourceName nvarchar(72)

2.4.21 AdvApp.vState This view displays one row for each state.

Column Data type Description StateCode varchar(3) Unique key for each state. StateName nvarchar(72)

2.4.22 AdvApp.vStrategy This view displays one row for each strategy.

Column Data type Description StrategyID int Unique key for each strategy. StrategyName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

45 CONFIDENTIAL—DO NOT DISTRIBUTE

2.4.23 AdvApp.vTargetDate This is a lookup view for effective maturity and amortization dates to use at the security or security type level.

Column Data type Description TargetDateCode char(1) Valid values are: a–Average Life Date c–Next Call Date f–Latest Cash Flows Date n–Stated Maturity Date p–Next Put Date r–Next Reset Date t–Next Tender Date w–Yield To Worst Date TargetDateName nvarchar(72)

2.4.24 AdvApp.vTransUserDef1-3 This view displays one row for each transaction user defined 1/2/3.

Column Data type Description TransUserDefID tinyint = 1 to 3 depending on the view. Unique key for each transaction user defined property. TransUserDefName nvarchar(72) = 1 to 3 depending on the view.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

46 CONFIDENTIAL—DO NOT DISTRIBUTE

2.5 Users and roles public views

2.5.1 AdvApp.vLicensePool

Column Data type Description IsSystem bit LicensePoolID int Unique key for each License Pool. MaxSeats int ModuleID int ModuleName nvarchar(72) PoolName nvarchar(50) UsedSeats int UsersAssigned int

2.5.2 AdvApp.vLicensePoolMember

Column Data type Description LicensePoolID int Foreign key to vLicensePool.LicensePoolID. Login nvarchar(128) Foreign key to vUser.UserID. UserDisplayName nvarchar(72) UserID int Foreign key to vUser.UserID.

2.5.3 AdvApp.vRole This view displays one row for each role.

Column Data type Description IsSystem bit Seeded roles are set to “1” for true. RoleDescription nvarchar(255) Descriptive text. RoleID int Unique key for each role. RoleName nvarchar(32) Display name.

2.5.4 AdvApp.vUser This view displays one row for each user.

Column Data type Description AccessAllUserGroups bit Flag that determines if a user is a member of all user groups. “0” is false and “1” is true. AccessAllUsersRoleID int If a user has been granted access to all private data, a role is assigned that determines the level of access. Foreign key to vRole.RoleID. AuthenticateTypeCode char(2) Windows Integrated users are set with “NT”; APX database authenticated users are set with “DB”. ContactID int Each user is also a contact record in the system with a unique identifier. The user’s contact record is not displayed in the user interface. Foreign key to vContact.ContactID. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

47 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description DefaultConfigurationID int Users are created with a configuration that defines report and other settings for the user. DefaultRoleID int When a user is added as member of a user group, the user is assigned the default role which can be overridden. Foreign key to vRole.RoleID. DefaultRoleName nvarchar(32) A join against vRole for DefaultRoleID. IsActive bit If the flag is set to 0, the system deems the user inactive and will reject requests for authentication. IsDeleted bit User objects are never completly removed from the database. When an administrator “deletes” a user from within the user interface, this flag is set to “1” which effectively hides the user from the UI but is preserved as an object to maintain audit records. LocaleID int Locale for this user. Login nvarchar(128) Login name; for Windows integrated users, includes the domain name and slash. Example: domain\username. UserGUID uniqueidentifier UserID int Unique key for each user. UserName nvarchar(32)

2.5.5 AdvApp.vUserBase This view is a base class for the vUser and vUserGroup entities. ] Column Data type Description DisplayName nvarchar(72) UserBaseID int Unique key for each user base. UserBaseName nvarchar(32) UserBaseTypeCode varchar(1) Valid values are: p – User g – User Group

2.5.6 AdvApp.vUserGroup This view displays one row for each user group.

Column Data type Description GroupTypeID smallint Foreign key to vUserGroupType.GroupTypeID. GroupTypeName nvarchar(72) Display name for the group type of the user group. IsEditable char(1) If set to “1”, the user group can be modified within the user interface. IsHidden bit If set to “1”, the user group does not display in the user interface. IsOwner bit If set to “1”, the user group is an available to select when assigning an object owner. For example, in the Portfolio Owner dropdown field, the user group will appear for users with appropriate permissions. IsProcessingGroup bit If set to “1”, the user group is an available option to select when assigning the processing group for portfolios.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

48 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsSystem bit Seeded user groups are set as “1”. UserGroupDesc nvarchar(255) Text description of the user group. UserGroupID int Unique key for each user group. UserGroupName nvarchar(32) Display name of the user group.

2.5.7 AdvApp.vUserGroupMember This view displays one row for each user group member.

Column Data type Description Login nvarchar(128) Refers to the member user’s login names. RoleID int Object identifier for role for which member user is assigned within the group. Foreign key to vRole.RoleID. RoleName nvarchar(32) UserGroupID int Foreign key to vUserGroup.UserGroupID. UserGroupName nvarchar(32) Display name of the group for the UserGroupID. UserID int Foreign key to vUserBase.UserBaseID. UserName nvarchar(32)

2.5.8 AdvApp.vUserGroupType This view displays one row for each user group type.

Column Data type Description GroupTypeID smallint Unique identifies for each user group type. GroupTypeName nvarchar(72) Display name for the group type. IsOwnerDefault bit If set to “1”, the group type is designated as possible object owners by default, but can be overridden at the user group level. IsProcessingGroupDefault bit If set to “1”, the group type is designated as a processing group by default but can be overridden at the user group level.

2.5.9 AdvApp.vUserSession This view displays one row for each user currently logged in to APX.

Column Data type Description CountSeat bit If 1, this session counts toward the license seat count. Created datetime The date-time the session was created FullName nvarchar(72) InstanceCount int IPAddress varchar(56) IPv6 address of the machine on which the session is active. LastTouched datetime The last time the session was active Name nvarchar(32) User’s APX login. ProductID int Product that the user is logged in to. ProductName nvarchar(72) The product on which the session is active. SessionID int Unique key for each user session.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

49 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description TimeOutInMinutes int Total database timeout for this session in minutes UserID int Foreign key to vUser.UserID.

2.6 Database functions

2.6.1 AdvApp.fSecurityPropertyID Returns the Property ID for a given Security’s Property Name.

Syntax

AdvApp.fSecurityPropertyID ( PropertyName )

Parameter Data Type Description PropertyName nvarchar(30) The name of the property.

Examples

select AdvApp.fSecurityPropertyID('AssetClass')

select * from AdvApp.vSecurityPropertyLookup where PropertyID = AdvApp.fSecurityPropertyID('IndGroup')

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

50 CONFIDENTIAL—DO NOT DISTRIBUTE

3 APXUser Schema

3.1 Portfolio public views

3.1.1 APXUser.vPerformance This view displays performance data inclusive of portfolios, groups, and composites. It does not include security-level performance, or performance for custom security properties.

Column Data type Description ACB float The average captial base for the performance reporting period CurrencyCode char(2) Two-character code for the currency. The three character ISO code can be obtained by joining against the vCurrency view. Foreign key to vCurrency.CurrencyCode. DetailKeyCode nvarchar(12) On detail rows, the key for the asset class (1 character), country (2 character), or sector (3 character). On Start and Total rows, this value is NULL. FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period IRR float The internal rate of return during the performance reporting period MarketValue float NetAdditionOrWithdrawal float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerfCategoryCode char(1) A code for the category of performance. ‘a’ = Asset Class, ‘c’ = risk country, ‘s’ = industry sector. PerfDate datetime Date of this performance row. PortfolioBaseCode nvarchar(32) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. The portfolio, group, or composite name can be obtained by a join against the vPortfolioBase view or the vPortfolioBaseRename view for renamed portfolios, groups, or composites. RowTypeCode char(1) A code for the detail level of this row. ‘s’ = Start Date; ‘d’ = detail row for a specific asset class, country, or sector; ‘t’ = total of performance across all asset classes, countries, or sectors.

Note to Axys users: Axys identifies each performance record with an Axys key, which corresponds to the following combination of PerfCategoryCode, RowTypeCode, and DetailKeyCode for each performance record in APX:

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

51 CONFIDENTIAL—DO NOT DISTRIBUTE

New keys Axys PerfCategory RowType DetailKey Description key Code Code Code stdate a s NULL Start row for asset class performance. stdatec c s NULL Start row for risk country performance. stdates s s NULL Start row for industry sector performance. totport a t NULL Total row for asset class performance. totportc c t NULL Total row for risk country performance. totports s t NULL Total row for industry sector performance. x a d x Detail row for asset class performance; the single-character DetailKeyCode is a foreign key to AssetClassCode in vAssetClass. xx c d xx Detail row for risk country performance; the single-character DetailKeyCode is a foreign key to CountryCode in vCountry. xxx s d xxx Detail row for industry sector performance; the three-character DetailKeyCode is a foreign key to SectorID in vIndustrySector.

3.1.2 APXUser.vPerformanceClassification This view displays performance records that were created in APX 2 or later. It does not include performance records created prior to APX 2, or imported via the APX Import/Export Utility using .pbf and .prf file formats. It also does not contain security level performance records.

Column Data type Description ACB float The average capital base for the performance reporting period CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode Fees float FromDate datetime The start date for this performance record FXGain float FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period Gain float IRR float The internal rate of return during the performance reporting period MarketValue float NetAdditions float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerfClassID int Identifier for the performance classification. Foreign key to vSecClass.SecClassificationID. PerfClassMemberCode nvarchar(12) The code for the performance classification member. (I.e. the asset class code) PerfClassMemberID int Identifier for the performance classification member. Foreign key to vSecClassMember.Keystring. PerfClassName nvarchar(72) Performance classification name. (E.g. AssetClass) PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. ThruDate datetime The ending date for this performance record. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

52 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.3 APXUser.vPerformanceClassificationPeriod This view displays all performance classification periods in APX that were created in APX 2.0 or later. It does not include performance periods created prior to APX 2.0, or imported via the APX Import Export Utility using pbf and prf file formats. It also does not contain security level performance periods.

Column Data type Description CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode ExternalFee float FromDate datetime The starting date of the performance period. PerformancePeriodID int Unique key for each performance period. PortfolioBaseCode nvarchar(32) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. ThruDate datetime The ending date of the performance period.

3.1.4 APXUser.vPerformanceSecurity This view displays all security-level performance records in APX.

Column Data type Description ACB float The average capital base for the performance reporting period CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode Fees float FromDate datetime The start date for this performance record FXGain float FXIRR float The internal rate of return due to foreign exchange gains or losses during the performance reporting period FXIRRCalc float Deprecated FXIRRCalcGross float The internal rate of return due to foreign exchange gains or losses during the performance reporting period, calculated using the calculation gross ACB. FXIRRCalcNet float The internal rate of return due to foreign exchange gains or losses during the performance reporting period, calculated using the calculation net ACB. Gain float IRRCalc float Deprecated IRRCalcGross float The internal rate of return during the performance reporting period, calculated gross of fees IRRCalcNet float The internal rate of return during the performance reporting period, calculated net of fees IRRReal float The internal rate of return during the performance reporting period, calculated using the ACB for the performance reporting period. MarketValue float NetAdditions float NetOrGrossCode char(1) Code for the type of performance data. ‘n’ = Net Performance, ‘g’ = Gross Performance. NetTransfers float PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID . PerformanceSecurityPeriodID int Same value as PerformancePeriodID – deprecated in APX 3.0. Use PerformancePeriodID instead. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

53 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID SecurityID int Foreign key to vSecurity.SecurityID ThruDate datetime The ending date for this performance record.

3.1.5 APXUser.vPerformanceSecurityPeriod This view displays all security-level performance periods in APX.

Column Data type Description CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode ExternalFee float FromDate datetime The starting date of the performance period. PerformancePeriodID int Foreign key to vPerformanceClassificationPeriod.PerformancePeriodID . PerformanceSecurityPeriodID int Same value as PerformancePeriodID. Deprecated in APX 3.0. Use PerformancePeriodID instead. PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID ThruDate datetime The ending date of the performance period.

3.1.6 APXUser.vPortfolio This view dispays one row for each portfolio and its attributes that are defined exclusively for a portfolio. It does not contain portfolio settings, as they may be defined for the portfolio, portfolio group, or firm.

Column Data type Description BankAddressID int Foreign key to vContactAddress.AddressID. BankContactID int Foreign key to vContact.ContactID. BankPhoneID int Foreign key to vContactPhone.PhoneID. BillingAddressID int Foreign key to vContactAddress.AddressID. BillingContactID int Foreign key to vContact.ContactID. BillingPhoneID int Foreign key to vContactPhone.PhoneID. DocumentLink nvarchar(260) InitialValue float InvestmentGoal nvarchar(72) IsExcludedFromGroupRules bit IsIncomplete bit IsPositionOnly bit OwnedBy int Foreign key to vUserBase.UserID. OwnerAddressID int Foreign key to vContactAddress.AddressID. OwnerContactID int Foreign key to vContact.ContactID. OwnerPhoneID int Foreign key to vContactPhone.PhoneID. PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioGUID uniqueidentifier Globally unique identifier for third-party integration. PortfolioID int Unique key for each portfolio. PortfolioStatus nvarchar(72) PortfolioTypeCode nvarchar(72) PrimaryContactID int Foreign key to vContact.ContactID. ProcessingGroupID int Foreign key to vUserGroup.UserGroupID. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

54 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ReconciliationCloseDate datetime ShortName nvarchar(72) TaxNumber varchar(16) TaxStatus nvarchar(72) URL nvarchar(260)

3.1.7 APXUser.vPortfolioBase This view displays one row for each portfolio, group, and composite containing the common attributes across portfolios, groups, and composites.

Column Data type Description CloseDate datetime OwnedBy int Foreign key to vUserBase.UserID PortfolioBaseCode nvarchar(32) The portfolio, group, or composite code. PortfolioBaseID int Unique key for a portfolio, group, or composite. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite ReportHeading1 nvarchar(72) ReportHeading1 for the portfolio, group, or composite. ReportHeading2 nvarchar(72) ReportHeading2 for the portfolio, group, or composite. ReportHeading3 nvarchar(72) ReportHeading3 for the portfolio, group, or composite. StartDate datetime

3.1.8 APXUser.vPortfolioBaseCustom The PortfolioBaseCustom view returns custom fields and attributes for portfolio base objects—portfolios, portfolio groups and composites. Each row in this view will return the columns: PortfolioBaseID, PortfolioBaseTypeCode, PortfolioBaseCode and ClassID. Additional columns will be added for each custom field that the firm has activated for their site.

This view displays custom fields and attributes for portfolio base objects: portfolios, portfolio groups and composites.

Column Data type Description ClassID int APX Class ID of the portfolio base object. PortfolioBaseCode nvarchar(32) Portfolio, portfolio group or composite code. PortfolioBaseID int Identifier for the portfolio, group or composite. Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

55 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.9 APXUser.vPortfolioBaseCustomLabels This view is a row-based representation of the existing vPortfolioCustomLabels view.

The following are differences between the vPortfolioCustomLabels view and the vPortfolioBaseCustomLabels view.

• The columnar vPortfolioCustomLabels view displays only one row for each portfolio. The row- based view returns more than one row for each portfolio. • Though APX does not allow custom labels to have blank values, certain standard fields that have associated labels are allowed to be blank. The vPortfolioCustomLabels view must show these blank values because the view is columnar. The vPortfolioBaseCustomLabels view does not show rows where the label values are blank. • The vPortfolioCustomLabels view shows NULL values for labels that were not assigned to portfolios. The vPortfolioBaseCustomLabels view does not show any rows where the Value column is NULL. • The column names in the vPortfolioCustomLabels view have prefixes to indicate the type of label: 'T_' for text, 'N_' for numeric, and 'D_' for date labels. In the vPortfolioBaseCustomLabels view, the entire label type is returned in the Label field, and prefixed the same way they are in APX: $ (dollars sign) for text, # (number sign) for numeric, and % (percent sign) for date labels. • In the vPortfolioCustomLabels view, each column can be a different SQL data type. Text labels are varchar, numeric labels are float and date labels are datetime. In the vPortfolioBaseCustomLabels view, because the column must represent three different data types, we use a data type called sql_variant. If you are integrating the views directly to another application, you will need to cast or convert the values for each label type accordingly.

Column Data type Description Label nvarchar(72) The label’s tag in APX. For example $name, %stdate, #copies. A label in APX can have a maximum of 8 characters. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID Value sql_variant The value of the label for this Portfolio, Portfolio Group or Composite

3.1.10 APXUser.vPortfolioBaseLabels This view is a row-based representation of the vPortfolioLabels view.

This view is deprecated in APX 3 and will be removed in APX 4. Use vPortfolioBaseLabels.

The following are differences between the vPortfolioLabels view and vPortfolioBaseLabels view.

• The columnar vPortfolioLabels view displays only one row for each portfolio. The row-based view returns more than one row for each portfolio. • Though APX does not allow custom labels to have blank values, certain standard fields that have associated labels are allowed to be blank. The vPortfolioLabels view must show these blank values because the view is columnar. The vPortfolioBaseLabels view does not show rows where the label values are blank. • The vPortfolioLabels view shows NULL values for labels that were not assigned to portfolios. The vPortfolioBaseLabels view does not show any rows where the Value column is NULL. • The column names in the vPortfolioLabels view have prefixes to indicate the type of label: 'T_' for text, 'N_' for numeric, and 'D_' for date labels. In the vPortfolioBaseLabels view, the entire label

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

56 CONFIDENTIAL—DO NOT DISTRIBUTE

type is returned in the Label field, and prefixed the same way they are in APX: $ (dollars sign) for text, # (number sign) for numeric, and % (percent sign) for date labels. • In the vPortfolioLabels view, each column can be a different SQL data type. Text labels are varchar, numeric labels are float and date labels are datetime. In the vPortfolioBaseLabels view, because the column must represent three different data types, we use a data type called sql_variant. If you are integrating the views directly to another application, you will need to cast or convert the values for each label type accordingly.

Column Data type Description Label nvarchar(128) The label’s tag in APX (Example: $name, %stdate, #copies). A label in APX can have a maximum of 8 characters. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID Value sql_variant The value of the label for this Portfolio, Portfolio Group, or Composite

3.1.11 APXUser.vPortfolioBaseRenamed This view displays one row for each portfolio, group, or composite that has been renamed.

Column Data type Description PortfolioBaseCodeNew nvarchar(32) PortfolioBaseCodeOld nvarchar(32) PortfolioBaseGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite

3.1.12 APXUser.vPortfolioBaseSettingEx This view displays effective settings for portfolios, groups, and composites. If a setting is not defined at the portfolio/group/composite level, then the view displays the corresponding setting from the User Configuration level. Similarly, if a setting is not defined at the User Configuration level, then the view displays the corresponding setting from the Global Configuration level.

Column Data type Description CashSecType char(4) CashSecuritySymbol nvarchar(25) ClassID int CloseDate datetime FootnoteLine1 nvarchar(72) FootnoteLine2 nvarchar(72) FootnoteLine3 nvarchar(72) IncomeSecType char(4) IncomeSecuritySymbol nvarchar(25) IndexID1 int Foreign key to vMarketIndex.IndexID. IndexID2 int Foreign key to vMarketIndex.IndexID. IndexID3 int Foreign key to vMarketIndex.IndexID. IndexID4 int Foreign key to vMarketIndex.IndexID. IndexID5 int Foreign key to vMarketIndex.IndexID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

57 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IndexID6 int Foreign key to vMarketIndex.IndexID. IndexID7 int Foreign key to vMarketIndex.IndexID. IndexID8 int Foreign key to vMarketIndex.IndexID. IndexID9 int Foreign key to vMarketIndex.IndexID. LocaleID int NumOfCopies smallint PortfolioBaseCode nvarchar(32) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID. PortfolioBaseTypeCode char(1) PrefixedPortfolioBaseCode nvarchar(34) ReportHeading1 nvarchar(72) ReportHeading2 nvarchar(72) ReportHeading3 nvarchar(72) ReportingCurrencyCode char(2) RexStartDate datetime ShowFootNotes bit StartDate datetime

3.1.13 APXUser.vPortfolioBillingEx This view displays billing settings for each portfolio. If a setting is not defined at the portfolio level, then the view displays the corresponding setting from the Global Configuration level. This view displays one row for each portfolio.

Column Data type Description BillInArrears bit BillingMethodCode char(1) ContactAddressID int Foreign key to vContactAddress.AddressID. ContactCode nvarchar(32) ContactID int Foreign key to vContact.ContactID. ContactName nvarchar(255) ContactPhoneID int Foreign key to vContactPhone.PhoneID. ExternalAccount nvarchar(72) FlatFee float FlatManagementFee float MinimumFee float MinimumManagementFee float PastDueAmount float PaymentFrequencyID tinyint PortfolioID int Foreign key to vPortfolio.PortfolioID. TaxRate float TieredBillingBracket1 float TieredBillingBracket2 float TieredBillingBracket3 float TieredBillingBracket4 float TieredBillingBracket5 float TieredBillingRate1 float TieredBillingRate2 float TieredBillingRate3 float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

58 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description TieredBillingRate4 float TieredBillingRate5 float TieredBillingRate6 float

3.1.14 APXUser.vPortfolioComposite This view displays one row for each portfolio composite and its attributes that are defined exclusively for a portfolio composite. It does not contain portfolio composite settings, as they may be defined for the portfolio composite or firm.

Column Data type Description OwnedBy int Foreign key to vUserBase.UserID. PortfolioCompositeCode nvarchar(32) Unique code for each portfolio composite. PortfolioCompositeID int Unique key for each portfolio composite. Foreign key to vPortfolioBase.PortfolioBaseID. Purpose nvarchar(72)

3.1.15 APXUser.vPortfolioCompositeMember This view displays one row for each member of a portfolio composite.

Column Data type Description Comments nvarchar(72) Comments about this member in this composite. EntryDate datetime Entry date for this composite member into this composite. ExitDate datetime Exit date for this composite member out of this composite. MemberCode nvarchar(32) Portfolio code for this composite member. (All composite members are portfolios.) MemberID int Foreign key to vPortfolio.PortfolioID for this composite member. (All composite members are portfolios.) PortfolioCompositeCode nvarchar(32) Unique code for each portfolio composite. PortfolioCompositeID int Foreign key to vPortfolioComposite.PortfolioCompositeID.

3.1.16 APXUser.vPortfolioCustomLabels This view displays one row for each portfolio. It is re-generated when a new custom field is created.

This view is deprecated in APX 3 and will be removed in APX 4. Use vPortfolioBaseCustomLabels.

Column Data type Description PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID.

3.1.17 APXUser.vPortfolioGroup This view displays one row for each portfolio group and its attributes that are defined exclusively for a portfolio group. It does not contain portfolio group settings, as they may be defined for the portfolio group or firm.

Column Data type Description IsConsolidatedAccount bit Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

59 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsPortfolioSorted bit OwnedBy int Foreign key to vUserBase.UserID. PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Unique key for each portfolio group. Foreign key to vPortfolioBase.PortfolioBaseID. Purpose nvarchar(72)

3.1.18 APXUser.vPortfolioGroupMember This view displays one row for each direct member of a portfolio group. Membership via nested groups is not displayed in this view.

Column Data type Description IsConsolidated bit If this group member is a portfolio group, indicates whether it is consolidated. MemberCode nvarchar(32) Portfolio, group, or composite code for this group member. MemberID int Foreign key to vPortfolioBase.PortfolioBaseID for this group member. MemberTypeCode char(1) Code for type of the member.

Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Foreign key to vPortfolioGroup.PortfolioGroupID

3.1.19 APXUser.vPortfolioGroupMemberFlattened This is a flattened view of portfolio group membership. Members of portfolio groups are returned as direct members even if the membership is a result of nested portfolio groups.

Column Data type Description DisplayOrder bigint IsConsolidated bit Indicates whether the portfolio group or composite is a consolidated member of this group. MemberCode nvarchar(32) Portfolio, group, or composite code for this group member. MemberID int Foreign key to vPortfolioBase.PortfolioBaseID for this group member. MemberTypeCode char(1) Code for type of the member. Valid values are: p – Portfolio g – Portfolio Group c – Portfolio Composite PortfolioGroupCode nvarchar(32) Unique code for each portfolio group. PortfolioGroupID int Foreign key to vPortfolioGroup.PortfolioGroupID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

60 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.20 APXUser.vPortfolioIndexes This view displays the performance and synthetic index settings for each portfolio, portfolio group, or composite. Column Data type Description DisplayOrder int IndexDate datetime IndexID int Foreign key to vMarketIndex.IndexID. PercentWeight numeric(4,1) PortfolioBaseID int Foreign key to vPortfolioBase.PortfolioBaseID.

3.1.21 APXUser.vPortfolioInterestedParty This view displays the association between portfolios and contacts. Each row represents an association (i.e interested party relationship) between a portfolio and a contact.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. Custom nvarchar(72) = 01 to 04 ExternalAccount nvarchar(72) InterestedPartyType nvarchar(72) The type of relationship underlying a contact’s interest in a portfolio. IPAttr bit = 01 to 32. Site-defined flags about the interested party. Notes nvarchar(max) PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID. RelatedContactID int If the Interested Party Relationship is based on the Contact Relationship with another Contact, this column contains the related contact’s ID. Foreign key to vContact.ContactID. RelationshipID int Foreign key to vContactRelationship.RelationshipID. RelationshipTypeName nvarchar(72) Contact’s relationship with this portfolio.

3.1.22 APXUser.vPortfolioInterestedPartyMailing This view displays mailing information for each contact relationship to a portfolio.

Column Data Type Description AddressID int Foreign key to vContactAddress.AddressID AddressLabel nvarchar(72) AreMailingsForDefault bit ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. ExternalAccount nvarchar(72) HasMailing bit = 01 to 32 Notes nvarchar(max) PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

61 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.23 APXUser.vPortfolioLabels This view is deprecated in APX 3 and will be removed in APX 4. Use vPortfolioBaseLabels.

Internally, portfolio attributes, called “labels” in Axys, are represented in the APX database in two places. So-called “standard labels” became specific columns in SQL tables. “Custom labels” remain in a tag-value child table in APX. A site can promote data from the tag-value format to a custom extension table (AdvPortfolioBaseExt) with specific site-defined columns. We present the label information in a single view with both standard and custom labels. The view has one row per PortfolioID, with the labels appearing as columns. The columns in this view will vary by site.

Column Data Type Description PortfolioID int Foreign key to vPortfolio.PortfolioID T_xxxx nvarchar(72) Represents portfolio labels of string values.

D_xxxx datetime Represents portfolio labels of date/time values.

N_xxxx float Represents portfolio labels of numeric values.

3.1.24 APXUser.vPortfolioSettingEx This view displays settings for portfolios only; it does not show settings for groups or composites. If a setting is not defined at the portfolio level, then the view displays the corresponding setting from the User Configuration level. Similarly, if a setting is not defined at the User Configuration level, then the view displays the corresponding setting from the Global Configuration level. This view displays one row for each portfolio.

Column Data type Description AccruedInterestID smallint AccruedInterestShowCode varchar(1) AverageCostCode varchar(1) BillingMethodCode char(1) BrokerRepSymbol nvarchar(12) CustodianID int Foreign key to vCustodian.CustodianID. DomicileCountryCode char(2) InitialValue float InternalClosingMethodCode varchar(16) InvestmentGoal nvarchar(72) IsPositionOnly bit PortfolioID int Foreign key to vPortfolio.PortfolioID. PortfolioStatus nvarchar(72) PortfolioTypeCode nvarchar(72) ReconciliationCloseDate datetime TaxNumber varchar(16) TaxStatus nvarchar(72) URL nvarchar(260)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

62 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.25 APXUser.vPortfolioSummaryCurrent This view displays current derived market values for each portfolio, with one row for each portfolio.

Column Data type Description IsHoldingsHistoryCurrent bit 1 if the HoldingHistory table has been updated for all changes to the transactions for this portfolio. IsTaxLotCurrent bit 1 if AdvTaxLot has been updated for all changes to the transactions for this portfolio. NextTranID int PortfolioCode nvarchar(32) PortfolioID int Foreign key to vPortfolio.PortfolioID. ProcessedDate datetime Indicates when this portfolio summary information was updated. RealizedYTDGain float Total realized gains for securities sold in the current calendar year. RealizedYTDGainLong float Total realized long term gain for securities sold in the current year. Long term is defined by securities held for a period longer than the Holding Period for the Security Type. SettlementCurrencyCode char(2) Foreign key to vCurrency.CurrencyCode. TotalCash float TotalCost float TotalMarketValue float TotalTradableCash float

3.1.26 APXUser.vPortfolioTaxLotCurrent This view displays current derived tax lots for each portfolio, with one row for each portfolio tax lot. Tax lots are current when vPortfolioSummaryCurrent.IsTaxLotCurrent = 1.

Column Data type Description BrokerRepSymbol nvarchar(12) CustodianID int Foreign key to vCustodian.CustodianID. HeldLongDate datetime IPCounter int IsPledge bit IsShortPosition bit IsZeroMV bit LotNumber smallint LotTransactionID int The PortfolioTransactionID that opened this tax lot. Foreign key to vPortfolioTransaction.PortfolioTransactionID. OriginalCostDate datetime OriginalCostLocalCurrency float OriginalCostPortfolioCurrency float OriginalCostSystemCurrency float OriginalFace float PortfolioCode nvarchar(32) PortfolioID int Foreign key to vPortfolio.PortfolioID. Quantity float SecTypeCode char(2) Foreign key to vSecType.SecTypeCode. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

63 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description SecurityID int Foreign key to vSecurity.SecurityID. StrategyID int Foreign key to vStrategy.StrategyID. Symbol nvarchar(25)

3.1.27 APXUser.vPortfolioTransaction This view displays one row for each portfolio transaction.

Column Data type Description BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID BrokerRepSecurityID int Foreign key to vSecurity.SecurityID ClosingMethodCode char(1) Comment nvarchar(70) Commission float CommissionPurposeID tinyint Foreign key to vCommissionPurpose.CommissionPurposeID. CustodianID int Foreign key to vCustodian.CustodianID. DestCustodianID int Foreign key to vCustodian.CustodianID. DivTradeDate datetime DurationOnCost float ExchangeFee float ExchangeID tinyint Foreign key to vExchange.ExchangeID. FeePeriodDate datetime The date that defines the billing period. Relative to the Trade Date, if billing in advance, this is the later date. If billing in arrears, this is the earlier date. ImpliedCommission bit IPCounter varchar(16) IsDestPledge bit IsPledge bit LotNumber smallint MarkToMarket bit OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float OtherFees float PerfContributionOrWithdraw bit al PortfolioID int Foreign key to vPortfolio.PortfolioID. PortfolioTransactionID int Unique key for each transaction. PostDate datetime Quantity float RecID tinyint ReclaimAmount float RecordDate datetime SecTypeCode1 char(2) Foreign key to vSecType.SecTypeCode. SecTypeCode2 char(2) Foreign key to vSecType.SecTypeCode. SecurityID1 int Foreign key to vSecurity.SecurityID. SecurityID2 int Foreign key to vSecurity.SecurityID. SequenceNo int SettleDate datetime

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

64 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description SettleDateFX float SourceID int Foreign key to vSource.SourceID. StrategyID int Foreign key to vStrategy.StrategyID. TradeAmount float TradeBlotterLineID int Trade blotter record for this transaction record. Views for trade blotters are not currently available. TradeDate datetime TradeDateFX float TranCodeLabel nvarchar(50) Label for the TransactionCode TranID int TransactionCode char(2) TransUserDef1ID tinyint Foreign key to vTransUserDef1.TransUserDef1ID. TransUserDef2ID tinyint Foreign key to vTransUserDef2.TransUserDef2ID. TransUserDef3ID tinyint Foreign key to vTransUserDef3.TransUserDef3ID. VersusDate datetime WithholdingTax float YieldOnCost float

3.1.28 APXUser.vPortfolioTransactionHistory This view has one row for each insert to the AdvPortfolioTransaction table. Each update is represented by a delete of the old row and an insert of the new row. A delete is represented by a single row. The action is coded in the RowAction column as I or D. The TransactionCode column is also in upper case for each D action, and lower case for each insert action.

For the results of this view to make sense, it needs to be ordered by AuditEventID and EventOrder. This can also be done within other orders, for example, order by PortfolioID, AuditEventID, EventOrder or even order by PortfolioID, PortfolioTransactionID, AuditEventID, EventOrder. The AuditTimestamp column can be used as an additional ordering key within AuditEventID and EventOrder.

Column Data type Description AuditEventID int Audit Event ID of the action that caused this change. Foreign key to the audit history table. Views for audit history are not currently available. Use the AuditEventID to order transactions chronologically. AuditTimestamp binary(8) System timestamp (not a date-time) for the change. This can be used to order items with an AuditEventID. BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID. BrokerRepSecurityID int Foreign key to vSecurity.SecurityID. ClosingMethodCode char(1) Comment nvarchar(70) Commission float CommissionPurposeID tinyint Foreign key to vCommissionPurpose.CommissionPurposeID. CustodianID int Foreign key to vCustodian.CustodianID. DestCustodianID int Foreign key to vCustodian.CustodianID. DivTradeDate datetime DurationOnCost float EventOrder int A key for ordering rows with an AuditEventID. ExchangeFee float ExchangeID tinyint Foreign key to vExchange.ExchangeID. FeePeriodDate datetime Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

65 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ImpliedCommission bit IPCounter varchar(16) IsDestPledge bit IsPledge bit LotNumber smallint MarkToMarket bit OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float OtherFees float PerfContributionOrWithdrawal bit PortfolioID int Foreign key to vPortfolio.PortfolioID. Join against vPortfolioBase for portfolio name or code. PortfolioTransactionID int Unique key for each portfolio transaction. PostDate datetime Quantity float RecID tinyint ReclaimAmount float RecordDate datetime RowAction varchar(1) ‘I’ for insert or incoming update, ‘D” for delete or outgoing update. SecTypeCode1 char(2) Foreign key to vSecType.SecTypeCode. SecTypeCode2 char(2) Foreign key to vSecType.SecTypeCode. SecurityID1 int Foreign key to vSecurity.SecurityID. SecurityID2 int Foreign key to vSecurity.SecurityID. SequenceNo int SettleDate datetime SettleDateFX float SourceID int Foreign key to vSource.SourceID. StrategyID int Foreign key to vStrategy.StrategyID. TradeAmount float TradeBlotterLineID int Trade blotter record for this transaction record. Views for trade blotters are not currently available. TradeDate datetime TradeDateFX float TranID int TransactionCode varchar(2) Inserted and incoming update rows have a lower-case value in this column. Deletes and outgoing updates have an upper-case value in this column. TransactionTime datetime The date and time of the audit event ID that affected this row. TransUserDef1ID tinyint Foreign key to vTransUserDef1.TransUserDef1ID. TransUserDef2ID tinyint Foreign key to vTransUserDef2.TransUserDef2ID. TransUserDef3ID tinyint Foreign key to vTransUserDef3.TransUserDef3ID. VersusDate datetime WithholdingTax float YieldOnCost float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

66 CONFIDENTIAL—DO NOT DISTRIBUTE

3.1.29 APXUser.vPositionRecon This view displays custodial position data downloaded from Advent Custodial Data. In some cases the data may be stored at the tax-lot level, instead of position-level.

Column Data type Description ExecutionDate datetime IsShortPosition bit “1” = yes and “0” = no. LotNumber int MarketValue float OriginalCost float OriginalCostDate datetime OriginalFace float OriginalFX float Currency rate on the original cost date. PortfolioCode nvarchar(32) Unique code for each portfolio. PortfolioID int Foreign key to vPortfolio.PortfolioID. Join against vPortfolioBase for portfolio name or code. PositionDate datetime PositionDateFX float Currency rate on the position date. Quantity float SecTypeCode char(2) Foreign key to vSecType.SecTypeCode. SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

3.2 Contact public views

3.2.1 APXUser.vActivity The AdvApp.vActivity view in APX 3 and prior releases is deprecated. In APX 3 Update 1, it exists in a temporary schema called AdvApp_APX2. The vActivity view in this temporary schema will be removed in APX 4. This view includes those columns that are common to most Activity types.This view displays one row for each activity.

Column Data type Description ActivityCategory nvarchar(72) ActivityID int Unique key for each activity. ActivityPriorityID tinyint Foreign key to vActivityPriority.ActivityPriorityID. ActivityTypeID tinyint Foreign key to vActivityType.ActivityTypeID. ApptOrTaskStartDate datetime AssignedBy int Foreign key to vUserBase.UserBaseID. AssignedTime datetime AssignedTo int Foreign key to vUserBase.UserBaseID. AssignedToOrOrganizerID int User ID of the user to whom a task is assigned, or the appointment organizer. Foreign key to vUser.UserID. Body nvarchar(max) CompletedDate datetime CreatedBy int Foreign key to vUserBase.UserBaseID. CreatedTime datetime DocumentLink nvarchar(260) DueBy datetime DueDate datetime

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

67 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description EndDate datetime EndTime datetime EndTimeOfDay varchar(5) FreeBusyStatusID tinyint Foreign key to vFreeBusyStatus.FreeBusyStatusID. IsAllDay bit IsAppointment bit IsRecurring bit IsReminderOn bit IsSystem bit Location nvarchar(72) MinutesBeforeStart int ObjectGUID uniqueidentifier OrganizerID int Foreign key to vContact.ContactID. OwnedBy int Foreign key to vUserBase.UserBaseID. PercentComplete tinyint RecurrenceID int Foreign key to vTaskRecurrence.RecurrenceID ReminderDate datetime ReminderTime datetime ReminderTimeOfDay varchar(5) SequenceNo smallint StartDate datetime StartTime datetime StartTimeOfDay varchar(5) Subject nvarchar(255) TaskStatusID tinyint Foreign key to vTaskStatus.TaskStatusID. URL nvarchar(260)

3.2.2 APXUser.vActivityContact This view shows the association of one or more contacts to each activity. Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. ContactID int Foreign key to vContact.ContactID IsPrimaryContact bit

3.2.3 APXUser.vActivityCustom This view displays one row for each activity and its custom columns.

Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. Custom nvarchar(72) = 01 to 20

3.2.4 APXUser.vActivityEx This is a deprecated view in APX 3.0, and will be removed in APX 4.0.

Column Data type Description ActivityCategory nvarchar(72) ActivityEndDate datetime Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

68 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ActivityGUID uniqueidentifier ActivityID int ActivityPriorityID tinyint ActivityPriorityName nvarchar(72) ActivityStartDate datetime ActivitySubject nvarchar(255) ActivityTitle nvarchar(289) ActivityTypeID tinyint ActivityTypeName nvarchar(32) AssignedBy nvarchar(72) AssignedByUserID int AssignedTime datetime AssignedTo nvarchar(72) AssignedToUserID int AttendeeEmailAddress nvarchar(128) AttendeeTypeID tinyint AttendeeTypeName nvarchar(32) CompletedDate datetime ContactCode nvarchar(32) ContactDeliveryName nvarchar(255) ContactID int ContactIsPrimary bit CreatedBy nvarchar(72) CreatedByUserID int CreatedTime datetime Custom nvarchar(72) DocumentLink nvarchar(260) DueDate datetime EmailBodyText nvarchar(max) EmailReceivedTime datetime EmailRecipientListBCC nvarchar(max) EmailRecipientListCC nvarchar(max) EmailRecipientListTo nvarchar(max) EmailSenderAddress nvarchar(128) EmailSenderAddressID int EmailSentTime datetime EmailSubject nvarchar(255) FreeBusyStatusID tinyint FreeBusyStatusName nvarchar(32) IsAllDay bit IsAppointment bit IsEmail bit IsRecurring bit IsReminderOn bit Location nvarchar(72) Notes nvarchar(max) OwnedBy nvarchar(72) OwnedByUserID int PercentComplete tinyint PortfolioBaseCode nvarchar(32) PortfolioBaseID int

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

69 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PortfolioIsPrimary bit PortfolioReportHeading1 nvarchar(72) PortfolioReportHeading2 nvarchar(72) PortfolioReportHeading3 nvarchar(72) PrimaryContactCode nvarchar(32) PrimaryContactID int PrimaryContactName nvarchar(145) PrimaryPortfolioCode nvarchar(32) PrimaryPortfolioID int PrimaryPortfolioName nvarchar(72) RecurrenceDayOfMonth tinyint RecurrenceEndDate datetime RecurrenceEndType tinyint RecurrenceID int RecurrenceInterval smallint RecurrenceIsOnDay bit RecurrenceIsOnFriday bit RecurrenceIsOnMonday bit RecurrenceIsOnSaturday bit RecurrenceIsOnSunday bit RecurrenceIsOnThursday bit RecurrenceIsOnTuesday bit RecurrenceIsOnWednesday bit RecurrenceIsOnWeekday bit RecurrenceIsOnWeekendDay bit RecurrenceMonth tinyint RecurrenceQuantity smallint RecurrenceStartDate datetime RecurrenceTypeID tinyint RecurrenceWeekIndex smallint ReminderDate datetime ReminderDueBy datetime ReminderMinutesBeforeStart int ReminderTime datetime ReminderTimeOfDay varchar(5) TaskSequenceNo smallint TaskStatusID tinyint TaskStatusName nvarchar(72) URL nvarchar(260)

3.2.5 APXUser.vActivityPortfolio This view shows the association of one or more portfolios to each activity. Column Data type Description ActivityID int Foreign key to vActivity.ActivityID. IsPrimaryPortfolio bit PortfolioID int Foreign key to vPortfolio.PortfolioID.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

70 CONFIDENTIAL—DO NOT DISTRIBUTE

3.2.6 APXUser.vActivityPriority This is a lookup view for activity priorities. Column Data type Description ActivityPriorityID tinyint Unique key for each activity priority. ActivityPriorityName nvarchar(72)

3.2.7 APXUser.vActivityType This is a lookup view for activity types. Column Data type Description ActivityTypeID tinyint Unique key for each activity type. ActivityTypeName nvarchar(32)

3.2.8 APXUser.vAttendee This view lists the attendees of a meeting. Column Data type Description AppointmentID int Unique key for each appointment (Meeting). AttendeeTypeID tinyint 1 - Required 2 - Optional 3 - Resource AttendeeTypeName nvarchar(32) EmailAddress nvarchar(128) EmailAddressID int

3.2.9 APXUser.vContact This view displays one row for each contact.

Column Data type Description BestTimeToCall nvarchar(72) BirthDate datetime BusinessPhone varchar(45) Concatenation of country code, phone number and extension. CallInterval smallint CellularPhone varchar(45) Company nvarchar(255) ContactCode nvarchar(32) Unique code for each contact. ContactGUID uniqueidentifier ContactID int Foreign key to vContact.ContactID. ContactStatus nvarchar(72) ContactTypeName nvarchar(72) DefaultAddressCity nvarchar(72) DefaultAddressCountry nvarchar(32) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressFull nvarchar(255) Concatenation of default address elements with line breaks between address lines. Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressID int Foreign key to vContactAddress.AddressID DefaultAddressLabel nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

71 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description DefaultAddressLine1 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine2 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine3 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressLine4 nvarchar(72) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressPostalCode varchar(16) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultAddressStateCode nvarchar(3) Deprecated. Will be removed in APX 4.0. Use DefaultAddressID. DefaultPhoneID int Foreign key to vContactPhone.PhoneID. DeliveryName nvarchar(255) DocumentLink nvarchar(260) DriverLicense nvarchar(32) Email nvarchar(128) Email2 nvarchar(128) Email3 nvarchar(128) FirstName nvarchar(72) Gender nvarchar(72) HomePhone varchar(45) Income float IsBusinessOwner bit IsIRA bit IsLifeInsurance bit IsReferralRequest bit IsRetired bit IsTrustFund bit LastContactedDate datetime LastName nvarchar(72) MiddleName nvarchar(72) NextCallDate datetime Notes nvarchar(max) Occupation nvarchar(72) OtherPhone varchar(45) OwnedBy int Prefix nvarchar(72) ResearchTopics nvarchar(max) RetirementDate datetime Salutation nvarchar(72) Suffix nvarchar(72) TaxBracket smallint TaxID varchar(16) Title nvarchar(72) URL nvarchar(260)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

72 CONFIDENTIAL—DO NOT DISTRIBUTE

3.2.10 APXUser.vContactAddress This view displays one row for each address of each contact.

Column Data type Description AddressCity nvarchar(72) AddressContactCode nvarchar(32) Unique code for each contact. AddressContactID int Foreign key to vContact.ContactID. AddressCountry nvarchar(32) AddressFull nvarchar(255) Concatenation of address elements with line breaks between address lines. AddressID int Unique key for each contact address. AddressLabel nvarchar(72) AddressLine1 nvarchar(72) AddressLine2 nvarchar(72) AddressLine3 nvarchar(72) AddressLine4 nvarchar(72) AddressPostalCode varchar(16) AddressStateCode nvarchar(3) Custom nvarchar(72) n = 1 – 4 Duration nvarchar(32) HasAttr bit n = 1 – 4 IsSendExpress bit A flag similar to IsSendMail. This flag denotes that the address is used for express mail. In practical terms, it means package type mail, because that often goes to a different address than regular mail. IsSendMail bit A flag that marks this contact-address association as a mailing address. A contact can have more than one mailing address. OwnedBy int

3.2.11 APXUser.vContactCustom This view displays the custom columns for each Contact.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. Custom nvarchar(72) = 01 to 99 HasPref bit = 01 to 50 OwnedBy int ID of the UserBase object that owns this contact. Foreign key to vUserBase.UserBaseID.

3.2.12 APXUser.vContactPhone This view displays one row for each phone number associated to a contact.

Column Data type Description OwnedBy int PhoneContactCode nvarchar(32) Unique code for each contact. PhoneContactID int Foreign key to vContact.ContactID. PhoneCountryCode smallint

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

73 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PhoneExtension varchar(5) PhoneFull varchar(49) Concatenation of country code, phone number, and extension. The rendering of the full phone is ‘+’ + country/carrier (5) + separator (1) + phone (32) + " ext." (5) + ext (5). This adds up to 49 characters total. This formatting should not be depended upon between releases of APX. PhoneID int Unique key for each phone record. PhoneLabel nvarchar(72)

3.2.13 APXUser.vContactRelationship This view displays one row for each relationship between two contacts. The relationship can be between two individual contacts or an individual contact and a contact group.

Column Data type Description ContactCode nvarchar(32) Unique code for each contact. ContactID int Foreign key to vContact.ContactID. ContactOwnedBy int Custom nvarchar(72) = 01 to 04 HasProfessionalAttr bit = 01 to 20 NatureOfRelationship nvarchar(255) Notes nvarchar(max) RelatedContactCode nvarchar(32) Unique code for each contact. RelatedContactID int Foreign key to vContact.ContactID. RelatedContactOwnedBy int RelationshipID int Unique key for each contact relationship. RelationshipTypeName nvarchar(72)

3.2.14 APXUser.vEmail This view lists all Email activities. An Email is a type of activity.

Column Data type Description ActivityCategory nvarchar(72) ActivityID int Foreign key to vActivity.ActivityID. ActivityPriorityID tinyint Foreign key to vActivityPriority.ActivityPriorityID. ActivityTypeID tinyint Foreign key to vActivityType.ActivityTypeID. Body nvarchar(max) CreatedBy int CreatedTime datetime DocumentLink nvarchar(260) ObjectGUID uniqueidentifier OwnedBy int Foreign key to vUser.UserID. ReceivedTime datetime RecipientListBCC nvarchar(max) RecipientListCC nvarchar(max) RecipientListTo nvarchar(max) SenderEmailAddressID int SentTime datetime Subject nvarchar(255) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

74 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description URL nvarchar(260)

3.2.15 APXUser.vFreeBusyStatus This is a lookup view for the status of an activity. Column Data type Description FreeBusyStatusID tinyint Unique key for each Free/Busy status. FreeBusyStatusName nvarchar(32)

3.2.16 APXUser.vPortfolioContactRelationshipEx This is a deprecated view in APX 3.0, and will be removed in APX 4.0.

Column Data type Description BankingAddressID int BankingContactID int BankingPhoneID int BillableAddressID int BillableContactID int BillablePhoneID int BillingAddressID int BillingContactID int BillingPhoneID int OwnerAddressID int OwnerContactID int OwnerPhoneID int PortfolioID int

3.2.17 APXUser.vTaskRecurrence This view returns recurrence information for tasks. A task is a type of activity. Column Data type Description RecurrenceDayOfMonth tinyint RecurrenceEndDate datetime RecurrenceEndType tinyint RecurrenceID int Unique key for each task recurrence. RecurrenceInterval smallint RecurrenceIsOnDay bit RecurrenceIsOnFriday bit RecurrenceIsOnMonday bit RecurrenceIsOnSaturday bit RecurrenceIsOnSunday bit RecurrenceIsOnThursday bit RecurrenceIsOnTuesday bit RecurrenceIsOnWednesday bit RecurrenceIsOnWeekday bit RecurrenceIsOnWeekendDay bit RecurrenceMonth tinyint RecurrenceQuantity smallint RecurrenceStartDate datetime Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

75 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description RecurrenceTypeID tinyint RecurrenceWeekIndex smallint

3.2.18 APXUser.vTaskStatus This view returns status information for tasks. Column Data type Description ExchangeName varchar(16) Name of the status in Microsoft Exchange TaskStatusID tinyint Defined artificial key for a task status TaskStatusName nvarchar(72) Name of the task status

3.3 Market public views

3.3.1 APXUser.vBaseRate This view displays one row for each base rate.

Column Data type Description BaseRateID int Unique key for each base rate. BaseRateName nvarchar(72)

3.3.2 APXUser.vBaseRateSchedule This view displays rate schedules for each base rate.

Column Data type Description AsOfDate datetime BaseRateID int Foreign key to vBaseRate.BaseRateID. BaseRateName nvarchar(72) Rate float

3.3.3 APXUser.vCouponRate This view displays one row for each coupon rate.

Column Data type Description CouponRateID int Unique key for each coupon rate. CouponRateName nvarchar(72)

3.3.4 APXUser.vCouponRateSchedule This view displays rate schedules for each coupon rate.

Column Data type Description AsOfDate datetime CouponRateID int Foreign key to vCouponRate.CouponRateID. CouponRateName nvarchar(72) Rate float Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

76 CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.5 APXUser.vCurrency This view displays one row for each currency.

Column Data type Description CurrencyCode char(2) Unique key for each currency code. CurrencyName nvarchar(32) CurrencyPrecision tinyint CurrencySymbol nvarchar(3) DisplayDirectRate bit ISOCode char(3) IsSystemCurrency bit SecTypeNameSuffix nvarchar(32) SequenceNo int

3.3.6 APXUser.vFactoredSecFlowMethod This is a lookup view for cash flow method codes.

Column Data type Description FlowMethodCode char(1) FlowMethodDesc nvarchar(50)

3.3.7 APXUser.vFXRate This view displays stored FX rates between two currencies. You can retrieve currency rates using vFxRate for a range of dates.

Column Data type Description AsOfDate datetime Spot and forward rates are valid as of this date. Bid180DayRate float Quoted rate for a 180 day delivery. Bid30DayRate float Quoted rate for a 30 day delivery. Bid360DayRate float Quoted rate for a 360 day delivery. Bid60DayRate float Quoted rate for a 60 day delivery. Bid720DayRate float Quoted rate for a 720 day delivery. Bid90DayRate float Quoted rate for a 90 day delivery. FromCurrencyCode char(2) Two letter code for the base currency, for example, “eu”; for the name or ISO code, join against vCurrency. SpotRate float Quoted rate for a 2 day delivery. ThruDate datetime Spot and forward rates are valid until this date. ToCurrencyCode char(2) Two-letter code for the price currency, for example, “us”; for the name or ISO code, join against vCurrency.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

77 CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.8 APXUser.vFxType This view displays all defined exchange rate types. Column Data type Description FxTypeCode nvarchar(12) Unique code for each FX type. FxTypeID smallint Unique key for each FX type. FxTypeName nvarchar(72) IsSystem bit Denotes the system FX Type. Only one FX type can be the FX Type for the system.

3.3.9 APXUser.vMarketIndex This view displays one row for each index.

Column Data type Description CurrencyCode char(2) IndexDesc nvarchar(72) IndexID int Unique key for each market index. IndexName nvarchar(32) Symbol nvarchar(25) SymbolTypeCode char(1)

3.3.10 APXUser.vMarketIndexRate This view displays stored rates for each index.

Column Data type Description AsOfDate datetime IndexID int Foreign key to vMarketIndex.IndexID. Rate float

3.3.11 APXUser.vPerformanceMarketIndexClassification This view displays performance records for an index, excluding security-level performance. Column Data type Description PerfClassMemberCode nvarchar(12) PerfClassMemberID int Foreign key to vSecClassMember.ClassificationMemberID PeriodID int Foreign key to vPerformanceMarketIndexPeriod.PeriodID RateofReturn float Weight float

3.3.12 APXUser.vPerformanceMarketIndexPeriod This view displays performance classification periods for an index, including security-level performance. Column Data type Description FromDate datetime Key 3 of the natural key of this view. IndexID int Key 1 of the natural key of this view. Foreign key to vMarketIndex.IndexID Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

78 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PerfClassID int Key 2 of the natural key of this view. Foreign key to vSecClass.ClassificationID PeriodID int Artificial key for this view. PropertyName nvarchar(72) Symbol nvarchar(25) ThruDate datetime

3.3.13 APXUser.vPerformanceMarketIndexSecurity This view displays security-level performance data for an index. Column Data type Description PeriodID int Foreign key to vPerformanceMarketIndexPeriod.PeriodID RateofReturn float SecurityID int Foreign key to vSecurity.SecurityID Symbol nvarchar(25) Weight float

3.3.14 APXUser.vPriceType This view displays all defined price sets. Column Data type Description FxTypeID smallint The FX type associated to this price type. Foreign key to vFxType.FxTypeID. FxTypeName nvarchar(72) IsSystem bit Denotes the system Price Type. Only one Price Type can be the Price Type for the system. PriceTypeCode nvarchar(12) Unique code for each Price Type. PriceTypeID smallint Unique key for each Price Type. PriceTypeName nvarchar(72)

3.3.15 APXUser.vResetRate This view displays one row for each reset rate.

Column Data type Description ResetRateID int Unique key for each reset rate. ResetRateName nvarchar(72)

3.3.16 APXUser.vResetRateSchedule This view displays rate schedules for each reset rate.

Column Data type Description AsOfDate datetime Rate float ResetRateID int Foreign key to vResetRate.ResetRateID. ResetRateName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

79 CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.17 APXUser.vSecType This view displays one row for each security type.

Column Data type Description AccrualCalendarCode char(1) AmortizationMethodCode char(1) AmortizeToCode char(1) CanBeBoughtSold bit CanMature bit CanReinvestDividend bit CanSplit bit CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1) CouponDelayRuleCode char(1) DefaultSymbolNameSpace char(4) DefaultSymbolTypeCode char(1) EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. EnterYieldOnCost bit ExCouponDayCount tinyint ExCouponDayRuleCode char(1) ExCouponHolidayCode char(1) FixedIncomeTypeCode char(1) FlowMethodCode char(1) HasUnderlyingSecurity bit HoldingPeriod smallint IncomeCurrencyCode char(2) IncomeTypeCode char(1) InflationIndexID int Foreign key to vMarketIndex.IndexID IsBillable bit IsExCouponBond bit IsFFX bit IsHidden bit IsInternal bit IsLongZeroMV bit Flag denoting if long positions for securities of this type are calculated as having a zero market value. IsShortZeroMV bit Flag denoting if short positions for securities of this type are calculated as having a zero market value. IsTradable bit IsTradingCash bit IsUnsupervised bit IsVRS bit Flag denoting if securities of this type are variable rate securities IsZeroCoupon bit LongAssetClassCode char(1) LongGainClassificationCode char(1) PaymentFrequencyID tinyint PayOnMonthEnd bit PriceThruCode char(1) PrincipalCurrencyCode char(2) QuantityCalculationPrec char(1) Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

80 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description QuantityDisplayPrec char(1) RiskCountryCode char(2) SecTypeBaseCode char(2) Base security type code, for example “unsupervised common stock” may be based on a “common stock” base security type. This column is equal to SecTypeCode base security types. SecTypeCode char(2) Unique key for each security type. SecTypeGroupID int Foreign key to vSecTypeGroup.SecTypeGroupID. SecTypeNameLong nvarchar(72) SecTypeNameShort nvarchar(72) SequenceNo int SettlementLagDays smallint ShortAssetClassCode char(1) ShortGainClassificationCode char(1) SourcePrefID int SubjectToFederalTax bit SubjectToStateTax bit TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. TypeGroupBaseID int UseAvgCost char(1) UseConversionFactor bit UseSimpleInterestInLastPeriod bit ValuationFactor float

3.3.18 APXUser.vSecTypeGroup This view displays one row for each security type group.

Column Data type Description SecTypeGroupID int Unique key for each security type group SecTypeGroupNameLong nvarchar(72) Name of the group for long positions SecTypeGroupNameShort nvarchar(72) Name of the group for short positions

3.3.19 APXUser.vSecurity The APX Security table contains rows for accounting purposes which are not traded securities. For example, there are rows for brokers because some transactions (expense payments) reference a broker as the second symbol. These rows are therefore included in this view to support joins to vPortfolioTransaction. But if a query is being run against the vSecurity view to populate a master security list, you may want to filter out rows by the SecTypeBaseCode. For example, to skip rows for brokers, you could use select * from vSecurity where SecTypeBaseCode <> ‘br’

This view displays one row for each security.

Column Data type Description AccrualCalendarCode char(1) Alpha float AmortizeToCode char(1) AverageLife float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

81 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description Beta float BondInsurerID tinyint Foreign key to vBondInsurer.BondInsurerID. BondRevenueSourceID tinyint Foreign key to vBondRevenueSource.BondRevenueSourceID. BookValue float CMOPaymentTypeCode char(1) Identifies how the collateralized mortgage obligation security pays income ConversionFactor float CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1) CouponDelayRuleCode char(1) CouponPaymentDateRateID int CouponPaymentFrequency tinyint CouponPaymentHolidayRule- char(1) Code CouponPaymentMethodID tinyint CouponPaymentRuleID tinyint CouponResetDateRateID int CouponResetFirstDate datetime CouponResetFrequency tinyint CouponResetHolidayRuleCode char(1) CouponResetMethodID tinyint CouponResetMultiplier float CouponResetOffsetDays tinyint CouponResetOffsetRate float CouponResetRuleID tinyint CUSIP varchar(12) DurationToMaturity float EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. EPSAnnual float Annual earnings per share EPSLatest4Q float Earnings per share for the last 4 quarters EstMaturityDate datetime ExchangeID tinyint Foreign key to vExchange.ExchangeID. FirstCouponDate datetime FitchRating varchar(4) FlowMethodCode char(1) FullName nvarchar(72) IndustryGroupID int Foreign key to vIndustryGroup.IndustryGroupID. InflationIndexBaseDate datetime InflationIndexID int Foreign key to vMarketIndex.IndexID. InterestOrDividendRate float IsFixedIncome int ISIN varchar(12) IsIncomplete bit IsPerpetual bit IssueCountryCode char(2) IssueDate datetime IssuePrice float IsSystem bit Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

82 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsTradable bit IsTradingCash bit IsVRS int Flag denoting if the security is a variable rate security IsZeroCoupon bit LastCouponDate datetime LongAssetClassCode char(1) MaturityDate datetime MoodyRating varchar(16) NextPaymentDate datetime OptionSymbol varchar(25) OriginalWeightedAvgMaturity float PaymentFrequencyID tinyint PayOnMonthEnd bit PoolNumber varchar(16) PriceThruCode char(1) PrincipalCurrencyCode char(2) ProprietarySymbol nvarchar(25) PutScheduleFirstDate datetime PutScheduleFrequency tinyint PutScheduleHolidayRuleCode char(1) PutScheduleMethodID tinyint PutScheduleRuleID tinyint RecordDate datetime RiskCountryCode char(2) SectorID int Foreign key to vSector.SectorID. SecTypeBaseCode char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third- party systems. SecurityID int Unique key for each security SecUserDefID int = 1 to 3. Foreign key to vSecUserDef.SecUserDefID. SEDOL varchar(12) SharesOutstanding float ShortAssetClassCode char(1) SourceID int Foreign key to vSource.SourceID. SourcePrefID int SPRating varchar(16) Standard and Poor’s rating StateCode varchar(3) StrategyID int Foreign key to vStrategy.StrategyID. Symbol nvarchar(25) SymbolNameSpace char(4) SymbolTypeCode char(1) SymbolValidFromDate datetime SymbolValidThruDate datetime Ticker varchar(12) TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. UnderlyingSecurityID int Foreign key to vSecurity.SecurityID. ValuationFactor float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

83 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description YTMOnCost float Yield to maturity on cost. Deprecated. Will be removed in APX 4.0. YTMOnMarket float Yield to maturity on market

3.3.20 APXUser.vSecurityCallPutStatus This view presents the bond status as of the current date (as represented by the AoProperty “Today”).

If DateTypeCode = ‘c’ (‘p’ for Put) and BondStatusCode = ‘c’ or ‘r’ (‘p’ for Put) exists in AdvCallSchedule, then that’s the call (put) date record regardless of the AsOfDate. Otherwise, finding the record where DateTypeCode = ‘c’ (‘p’ for Put) and AsOfDate is the lowest date greater than today.

Finding a record BondStatusCode = ‘d’ without finding a later record with BondStatus = ‘e’ then the BondStatus is ‘d’ (Default). If any records with BondStatus = ‘d’ can not be found, then finding any records with BondStatusCode = ‘c’, ‘r’, or ‘p’ (Called, Pre-Refunded, or Put) then set it as BondStatusCode. Otherwise your bond status is blank. NextGen should verify that only one row for each Security has BondStatusCode = ‘c’, ‘r’, or ‘p’, so Moxy shouldn’t have to be concerned with that.

Column Data type Description BondStatusCode char(1) Foreign key to vBondStatus.

If there is a row in AdvCallSchedule with BondStatusCode equal to ‘c’, ‘p’, or ‘r’ for any date, then that value is the bond status. Else the status on the most latest before today row with ‘d’ or ‘e’ is the bond status. If there is no such row, the bond status is ‘’. CallDate datetime If the BondStatusCode is ‘c’ or ‘r’, then the date on the corresponding row is the CallDate. Otherwise, the date on the next row with DateTypeCode = ‘c’ is the call date. CallPrice float PutDate datetime PutPrice float SecurityID int Foreign key to vSecurity.SecurityID.

3.3.21 APXUser.vSecurityDeleted This view displays one row for each deleted security.

Column Data type Description PrincipalCurrencyCode char(2) SecTypeBaseCode char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. SecurityID int Foreign key to vSecurity.SecurityID. Symbol nvarchar(25)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

84 CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.22 APXUser.vSecurityFactor This view displays historical factors for securities.

Column Data type Description FactorValue float FromDate datetime SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID. ThruDate datetime

3.3.23 APXUser.vSecurityPrice This view displays historical prices for securities.

Column Data type Description ClosePrice float CurrencyCode char(2) PaydownFactor float PriceDate datetime PriceTypeID smallint Foreign key to vPriceType.PriceTypeID. SecurityID int Foreign key to vSecurity.SecurityID. ValuationFactor float

3.3.24 APXUser.vSecurityProperty Similar to vSecurityPropertyLookup, this view lists all security property values for all securities with security properties of type: lookup, range and mapping. In addition, each property has a long and short variation, e.g. asset class.

Column Data type Description DisplayName nvarchar(80) DisplayOrder int IsShort int KeyString nvarchar(12) PropertyID int PropertyLookupID int SecurityID int Foreign key to vSecurity.SecurityID.

3.3.25 APXUser.vSecurityPropertyLookup This view lists all security property values for all securities with custom security properties of type: lookup, range and mapping.

Column Data type Description DisplayName nvarchar(72) DisplayOrder int IsShort int KeyString nvarchar(12)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

85 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description PropertyDataTypeCode char(1) L - List property. M - Mapped List property. R - Range mapped list property. PropertyID int PropertyLookupGUID uniqueidentifier PropertyLookupID int PropertyName nvarchar(72) SecurityID int Foreign key to vSecurity.SecurityID.

3.3.26 APXUser.vSecurityPropertyValue This view lists all security property values for all securities with properties of type: string, numeric and date.

Column Data type Description PropertyDataTypeCode char(1) $ - string # - number % - date PropertyID int PropertyName nvarchar(72) PropertyValue nvarchar(72) SecurityID int Foreign key to vSecurity.SecurityID.

3.3.27 APXUser.vSecurityRenamed This view displays one row for each renamed security.

Column Data type Description PrincipalCurrencyCodeNew char(2) PrincipalCurrencyCodeOld char(2) SecTypeBaseCodeNew char(2) SecTypeBaseCodeOld char(2) SecurityGUID uniqueidentifier Globally unique identifier for integrating with third-party systems. SecurityID int Foreign key to vSecurity.SecurityID. SymbolNew nvarchar(25) SymbolOld nvarchar(25)

3.3.28 APXUser.vSecuritySplit This view displays one row for each security split.

Column Data type Description ExDate datetime SecurityID int Foreign key to vSecurity.SecurityID. SecuritySplitID int Unique key for each security split. ShareIn float ShareOut float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

86 CONFIDENTIAL—DO NOT DISTRIBUTE

3.3.29 APXUser.vSecuritySymbolExport This view displays a row for each security that has its RemotePlus symbol defined.

Column Data type Description ExportSymbol nvarchar(25) External symbol SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

3.3.30 APXUser.vSecuritySymbolImport This view displays symbol mappings on securities information received from various data sources.

Column Data type Description ImportSymbol nvarchar(32) External symbol. SecurityID int Foreign key to vSecurity.SecurityID. SourceID int Foreign key to vSource.SourceID.

3.3.31 APXUser.vSecurityValuationLastBusinessDay This view shows security valuation information for each security as of the last business day.

Column Data type Description AccruedInterestAM float AccruedInterestPM float AsOfDate datetime ClosePrice float CurrencyCode char(2) Foreign key to vCurrency.CurrencyCode. PaydownFactor float PriceTypeID smallint Foreign key to vPriceType.PriceTypeID. SecurityID int Foreign key to vSecurity.SecurityID. ShareValue float ValuationFactor float

3.3.32 APXUser.vSecurityVariant This view shows a record for each SecTypeCode, SecurityID, IsShort combination. The number of total records for each security varies depending on the number of variant security types exist for a secuirty’s base security Type. Callers of this view should always specify SecTypeCode, SecurityID and IsShort to ensure a unique set of SecurityIDs.

Column Data type Description AccrualCalendarCode char(1) Alpha float AmortizeToCode char(1) AssetClassCode char(1) Beta float BondInsurerID tinyint Foreign key to vBondInsurer.BondInsurerID. BondRevenueSourceID tinyint Foreign key to vBondRevenueSource.BondRevenueSourceID. BookValuePerShare float CanBeBoughtSold bit Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

87 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description CanMature bit CanReinvestDividend bit CanSplit bit CMOPaymentTypeCode char(1) Identifies how the collateralized mortgage obligation security pays income ConversionFactor float CouponDelayDays tinyint CouponDelayHolidayRuleCode char(1) CouponDelayRuleCode char(1) Cusip varchar(12) Cusip9 nvarchar(9) EMDRuleCode char(1) The effective maturity date rule code reflects how to calculate the effective maturity date for securities of this type for the purpose of showing yield to maturity and duration on reports. EPSAnnual float Annual earnings per share EPSLatest4Q float Earnings per share for the last 4 quarters ExchangeID tinyint Foreign key to vExchange.ExchangeID. ExCouponDayCount tinyint ExCouponDayRuleCode char(1) ExCouponHolidayCode char(1) FirstCouponDate datetime FitchRating varchar(4) FixedIncomeTypeCode char(1) FlowMethodCode char(1) HasUnderlyingSecurity bit HoldPeriod int IncomeCurrencyCode char(2) IncomeTypeCode char(1) InflationIndexBaseDate datetime InflationIndexID int Foreign key to vMarketIndex.IndexID. IsBillable bit IsBond bit IsExCouponBond bit IsFFX bit ISIN varchar(12) IsMBS bit Flag denoting if the security is a mortgage-backed security IsOID bit Flag denoting if the security is an original issue discount security IsShort int IssueCountryCode char(2) IssueDate datetime IssuePriceLocal float IsTIPS bit Flag denoting if the security is a Treasury Inflation- Protected Security IsTradable bit IsTradingCash bit IsUnsupervised bit IsVRS bit Flag denoting if the security is a variable-rate security IsZeroCoupon bit Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

88 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsZeroMarketValue bit LastCouponDate datetime LocalCurrencyCode char(2) LocalCurrencyISOCode char(3) LocalCurrencyName nvarchar(32) LocalCurrencyPrecision tinyint LocalCurrencySequenceNo int LocalCurrencySymbol nvarchar(3) MatureDate datetime MaturityDate datetime MoodyRating varchar(16) PaymentFrequencyID tinyint PayOnMonthEnd bit PoolNumber varchar(16) PriceThruCode char(1) PrincipalCurrencyCode char(2) ProprietarySymbol nvarchar(25) QuantityCalculationPrec char(1) QuantityPrecision char(1) RecordDate datetime SecTypeBaseCode char(2) SecTypeCode char(2) SecurityID int Foreign key to vSecurity.SecurityID. SecurityName nvarchar(104) SecuritySymbol nvarchar(25) SecurityTypeCode char(4) SEDOL varchar(12) SharesOutstanding float SplitFlag varchar(1) SPRating varchar(16) StateCode varchar(3) StrategyID int Foreign key to vStrategy.StrategyID. SubjectToFederalTax bit SubjectToStateTax bit SymbolTypeCode char(1) Ticker varchar(12) TradeWithAI bit Flag denoting whether accrued interest for securities of this type is tracked in separate transactions. UnderlyingSecurityID int Foreign key to vSecurity.SecurityID. UseAvgCost char(1) UseConversionFactor bit UseSimpleInterestInLastPeriod bit ValuationFactor float

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

89 CONFIDENTIAL—DO NOT DISTRIBUTE

3.4 Reference data public views

3.4.1 APXUser.vAssetClass This view displays one row for each asset class.

Column Data type Description AssetClassCode char(1) Unique key for each asset class. AssetClassName nvarchar(72)

3.4.2 APXUser.vBondInsurer This view displays one row for each bond insurer.

Column Data type Description BondInsurerID tinyint Unique key for each bond insurer. BondInsurerName nvarchar(72)

3.4.3 APXUser.vBondRevenueSource This view displays one row for each bond revenue source.

Column Data type Description BondRevenueSourceID tinyint Unique key for each bond revenue source. BondRevenueSourceName nvarchar(72)

3.4.4 APXUser.vBondStatus This view displays one row for each bond status.

Column Data type Description BondStatusCode char(1) Unique key for each bond status. BondStatusName nvarchar(72)

3.4.5 APXUser.vBrokerFirm This view displays one row for each broker firm.

Column Data type Description BIC varchar(11) SWIFT assigned Bank Identifier Code BrokerFirmID int Unique key for each broker firm. BrokerFirmName nvarchar(72) BrokerFirmSymbol nvarchar(12) ClearingBrokerID int The vBrokerFirm.BrokerFirmID through which this Broker Firm clears. ClearingBrokerSymbol nvarchar(12) DTCNumber varchar(8) The number that identifies this broker firm with the DTCC

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

90 CONFIDENTIAL—DO NOT DISTRIBUTE

3.4.6 APXUser.vBrokerRep This view displays one row for each broker rep.

Column Data type Description BrokerFirmID int Foreign key to vBrokerFirm.BrokerFirmID. BrokerFirmSymbol nvarchar(12) BrokerRepID int Unique key for each broker rep. BrokerRepKey nvarchar(12) BrokerRepName nvarchar(72) BrokerRepSymbol nvarchar(12)

3.4.7 APXUser.vCommissionPurpose This view displays one row for each commission purpose.

Column Data type Description CommissionPurposeID tinyint Unique key for each commission purpose. PurposeDesc nvarchar(72)

3.4.8 APXUser.vCountry This view displays one row for each country.

Column Data type Description CountryCode char(2) Unique key for each country. CountryName nvarchar(72)

3.4.9 APXUser.vCustodian This view displays one row for each custodian.

Column Data type Description BIC varchar(11) SWIFT assigned Bank Identifier Code ClearingCustID int The vCustodian.CustodianID through which this custodian clears. CustodianID int Unique key for each custodian. CustodianName nvarchar(72) DTCNumber varchar(8) The number that identifies this custodian with the DTCC IsSystem bit SubCustID int Foreign key to vCustodian.CustodianID.

3.4.10 APXUser.vExchange This view displays one row for each exchange.

Column Data type Description ExchangeID tinyint Unique key for each exchange. ExchangeName nvarchar(72) HolidayScheduleID tinyint Foreign key to vHoliday.HolidayScheduleID. IsExchangeFeeEligible bit

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

91 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description IsSystem bit LastBusinessDay datetime MIC char(4) Market Identifier Code

3.4.11 APXUser.vHoliday This view displays one row for each holiday.

Column Data type Description HolidayDate datetime HolidayName nvarchar(72) HolidayScheduleID tinyint Foreign key to vHolidaySchedule.HolidayScheduleID. HolidayTypeID tinyint HolidayTypeName nvarchar(72)

3.4.12 APXUser.vHolidaySchedule This view displays one row for each holiday schedule.

Column Data type Description HolidayScheduleID tinyint Unique key for each holiday schedule. HolidayScheduleName nvarchar(72) WeekendEnd tinyint WeekendStart tinyint

3.4.13 APXUser.vIndustryGroup This view displays one row for each industry group.

Column Data type Description IndustryGroupCode nvarchar(12) IndustryGroupID int Unique key for each industry group. IndustryGroupName nvarchar(72) SectorID int Foreign key to vSector.SectorID.

3.4.14 APXUser.vIndustrySector This view displays one row for each industry sector.

Column Data type Description SectorCode nvarchar(12) SectorID int Unique key for each sector. SectorName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

92 CONFIDENTIAL—DO NOT DISTRIBUTE

3.4.15 APXUser.vObject This view displays one row for each object in APX. Use this view to retrieve names, descriptions and ownership for objects in APX when they are not available in other views.

Column Data type Description ClassID int DisplayName nvarchar(72) Name nvarchar(32) ObjectDescription nvarchar(255) ObjectGUID uniqueidentifier ObjectID int Unique key for each object.

3.4.16 APXUser.vOmnibus This view displays one row for each omnibus.

Column Data type Description OmnibusDesc nvarchar(72) OmnibusID int Unique key for each omnibus. OmnibusName nvarchar(32)

3.4.17 APXUser.vSecClass This view displays one row for each security property definition.

Column Data type Description AllowPerformanceUpdate bit AllowReporting bit ClassificationID int Unique key for each classification. ClassificationName nvarchar(72) DisplayName nvarchar(72)

3.4.18 APXUser.vSecClassMember This view displays one row for each member value within each custom security property.

Column Data type Description ClassificationID int A grouping for classifying securities. Foreign key to vSecClass.ClassificationID. ClassificationMemberID int A classification value within a ClassificationID. Description nvarchar(128) A long description for ClassificationMemberID. DisplayOrder int The order to display ClassificationMemberID rows with a ClassificationID KeyString nvarchar(12) The natural key for a ClassificationMemberID. Label nvarchar(72) A presentation label for ClassificationMemberID

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

93 CONFIDENTIAL—DO NOT DISTRIBUTE

3.4.19 APXUser.vSecUserDef1-3 This view displays one row for each security user defined 1/2/3.

Column Data type Description SecUserDefID int = 1 to 3 depending on the view. Unique key for each security user defined property. SecUserDefName nvarchar(72) = 1 to 3 depending on the view.

3.4.20 APXUser.vSource This view displays one row for each source.

Column Data type Description SourceID int Unique key for each source. SourceName nvarchar(72)

3.4.21 APXUser.vState This view displays one row for each state.

Column Data type Description StateCode varchar(3) Unique key for each state. StateName nvarchar(72)

3.4.22 APXUser.vStrategy This view displays one row for each strategy.

Column Data type Description StrategyID int Unique key for each strategy. StrategyName nvarchar(72)

3.4.23 APXUser.vTargetDate This is a lookup view for effective maturity and amortization dates to use at the security or security type level.

Column Data type Description TargetDateCode char(1) Valid values are: a–Average Life Date c–Next Call Date f–Latest Cash Flows Date n–Stated Maturity Date p–Next Put Date r–Next Reset Date t–Next Tender Date w–Yield To Worst Date TargetDateName nvarchar(72)

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

94 CONFIDENTIAL—DO NOT DISTRIBUTE

3.4.24 APXUser.vTransUserDef1-3 This view displays one row for each transaction user defined 1/2/3.

Column Data type Description TransUserDefID tinyint = 1 to 3 depending on the view. Unique key for each transaction user defined property. TransUserDefName nvarchar(72) = 1 to 3 depending on the view.

3.5 Users and roles public views

3.5.1 APXUser.vConfigurationEx This view displays the user’s configuration when there is a user context (i.e. an APX user session). If a setting is not defined at the User Configuration level, this view will return the Global Configuration level setting. If there is no user context, this view returns the global configurations.

Column Data type Description AccruedInterestID smallint AccruePerfFees bit AllocatePerfFees bit AnnualizeReturns bit BondCostBasisID smallint CalculateSECFee bit CashSecTypeLabel nvarchar(8) CashSymbolLabel nvarchar(8) ConfigurationID int Unique key for this configuration. ConfigurationName nvarchar(32) ConfigurationDisplayName nvarchar(72) ConfigurationDescription nvarchar(255) ExportFolder nvarchar(260) FeeMethod int FirmLogoURL nvarchar(255) FirmName nvarchar(72) ImportFolder nvarchar(260) IncomeSecTypeLabel nvarchar(8) IncomeSymbolLabel nvarchar(8) LocaleCode nvarchar(10) LocaleID int MFBasisIncludeReinvest bit PerfNetOfFeeCode char(1) PriceTypeID smallint Foreign key to vPriceType.PriceTypeID. ReportingCurrencyCode varchar(2) RequiredDisclaimerID int RoundingMethodCode char(1) ServerURL nvarchar(255) ShowCurrencyFullPrecision bit ShowCurrentMBSFace bit Flag denoting if the current face of mortgage- backed securities should be shown on reports instead of the original face

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

95 CONFIDENTIAL—DO NOT DISTRIBUTE

Column Data type Description ShowCurrentTIPSFace bit Flag denoting if the inflation-adjusted face of Treasury Inflation-Protected Securities should be shown on reports instead of the original face ShowIndustryGroup bit ShowIndustrySector bit ShowMultiCurrency bit ShowSecuritySymbol char(1) ShowTaxLotsLumped bit StyleSetID int SystemCurrencyCode char(2) UseACB bit Flag denoting whether performance reports should display internal rate of returns (IRR) based on an average capital base (1) or discounted cash flow (0) calculation. UseAdjustedBondCostBasis int UseSettlementDate bit YieldOptionID smallint

3.5.2 APXUser.vLicensePool

Column Data type Description IsSystem bit LicensePoolID int Unique key for each License Pool. MaxSeats int ModuleID int ModuleName nvarchar(72) PoolName nvarchar(50) UsedSeats int UsersAssigned int

3.5.3 APXUser.vLicensePoolMember

Column Data type Description LicensePoolID int Foreign key to vLicensePool.LicensePoolID. Login nvarchar(128) Foreign key to vUser.UserID. UserDisplayName nvarchar(72) UserID int Foreign key to vUser.UserID.

3.5.4 APXUser.vRole This view displays one row for each role.

Column Data type Description IsSystem bit Seeded roles are set to “1” for true. RoleDescription nvarchar(255) Descriptive text. RoleID int Unique key for each role. RoleName nvarchar(32) Display name.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

96 CONFIDENTIAL—DO NOT DISTRIBUTE

3.5.5 APXUser.vUser This view displays one row for each user.

Column Data type Description AccessAllUserGroups bit Flag that determines if a user is a member of all user groups. “0” is false and “1” is true. AccessAllUsersRoleID int If a user has been granted access to all private data, a role is assigned that determines the level of access. Foreign key to vRole.RoleID. AuthenticateTypeCode char(2) Windows Integrated users are set with “NT”; APX database authenticated users are set with “DB”. ContactID int Each user is also a contact record in the system with a unique identifier. The user’s contact record is not displayed in the user interface. Foreign key to vContact.ContactID. DefaultConfigurationID int Users are created with a configuration that defines report and other settings for the user. DefaultRoleID int When a user is added as member of a user group, the user is assigned the default role which can be overridden. Foreign key to vRole.RoleID. DefaultRoleName nvarchar(32) A join against vRole for DefaultRoleID. IsActive bit If the flag is set to 0, the system deems the user inactive and will reject requests for authentication. IsDeleted bit User objects are never completly removed from the database. When an administrator “deletes” a user from within the user interface, this flag is set to “1” which effectively hides the user from the UI but is preserved as an object to maintain audit records. LocaleID int Locale for this user. Login nvarchar(128) Login name; for Windows integrated users, includes the domain name and slash. Example: domain\username. UserGUID uniqueidentifier UserID int Unique key for each user. UserName nvarchar(32)

3.5.6 APXUser.vUserBase This view is a base class for the vUser and vUserGroup entities.

Column Data type Description DisplayName nvarchar(72) UserBaseID int Unique key for each user base. UserBaseName nvarchar(32) UserBaseTypeCode varchar(1) Valid values are: p – User g – User Group

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

97 CONFIDENTIAL—DO NOT DISTRIBUTE

3.5.7 APXUser.vUserGroup This view displays one row for each user group.

Column Data type Description GroupTypeID smallint Foreign key to vUserGroupType.GroupTypeID. GroupTypeName nvarchar(72) Display name for the group type of the user group. IsEditable char(1) If set to “1”, the user group can be modified within the user interface. IsHidden bit If set to “1”, the user group does not display in the user interface. IsOwner bit If set to “1”, the user group is an available option to select when assigning an object owner. For example, in the Portfolio Owner dropdown field, the user group will appear for users with appropriate permissions. IsProcessingGroup bit If set to “1”, the user group is an available option to select when assigning the processing group for portfolios. IsSystem bit Seeded user groups are set as “1”. UserGroupDesc nvarchar(255) Text description of the user group. UserGroupID int Unique key for each user group. UserGroupName nvarchar(32) Display name of the user group.

3.5.8 APXUser.vUserGroupMember This view displays one row for each user group member.

Column Data type Description Login nvarchar(128) Refers to the member user’s login names. RoleID int Object identifier for role for which member user is assigned within the group. Foreign key to vRole.RoleID. RoleName nvarchar(32) UserGroupID int Foreign key to vUserGroup.UserGroupID. UserGroupName nvarchar(32) Display name of the group for the UserGroupID. UserID int Foreign key to vUserBase.UserBaseID. UserName nvarchar(32)

3.5.9 APXUser.vUserGroupType This view displays one row for each user group type.

Column Data type Description GroupTypeID smallint Unique identifies for each user group type. GroupTypeName nvarchar(72) Display name for the group type. IsOwnerDefault bit If set to “1”, the group type is designated as possible object owners by default, but can be overridden at the user group level. IsProcessingGroupDefault bit If set to “1”, the group type is designated as a processing group by default but can be overridden at the user group level.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

98 CONFIDENTIAL—DO NOT DISTRIBUTE

3.5.10 APXUser.vUserSession This view displays one row for each user currently logged in to APX.

Column Data type Description CountSeat bit If 1, this session counts toward the license seat count. Created datetime The date-time the session was created FullName nvarchar(72) InstanceCount int IPAddress varchar(56) IPv6 address of the machine on which the session is active. LastTouched datetime The last time the session was active Name nvarchar(32) User’s APX login. ProductID int Product that the user is logged in to. ProductName nvarchar(72) The product on which the session is active. SessionID int Unique key for each user session. TimeOutInMinutes int Total database timeout for this session in minutes UserID int Foreign key to vUser.UserID.

3.6 Database functions

3.6.1 APXUser.fDisplaySecuritySymbol Returns the Security Symbol formatted according to the specified REP "ShowSecuritySymbol" setting.

Syntax

APXUser.fDisplaySecuritySymbol ( SecuritySymbol, ShowSecuritySymbol )

Parameter Data Type Description SecuritySymbol nvarchar(50) The security symbol. ShowSecuritySymbol char The REP setting for showing the security symbol.

Examples select APXUser.fDisplaySecuritySymbol('1234567890123', 'y') -- 123456789012 select APXUser.fDisplaySecuritySymbol('1234567890123', '1') -- 1234567890123

3.6.2 APXUser.fGetDisclaimerText Returns the disclaimer text associated with the specified Disclaimer ID.

Syntax

APXUser.fGetDiclaimerText ( DisclaimerID )

Parameter Data Type Description DisclaimerID int The Disclaimer ID. Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

99 CONFIDENTIAL—DO NOT DISTRIBUTE

Examples select APXUser.fGetDiclaimerText(1) (Returns the disclaimer text associated with Disclaimer ID 1.)

3.6.3 APXUser.fGetGenericDate Returns the resulting date based on the original date and the generic date name.

Syntax

APXUser.fGetGenericDate ( 'GenericDateName' , Date )

Parameter Data Type Description GenericDateName nvarchar(144) The name of the generic date. Date datetime The original date.

Examples

select APXUser.fGetGenericDate('{last}', '02/28/2010') -- 02/26/2010 select APXUser.fGetGenericDate('{edlm}', '02/28/2010') -- 01/31/2010

3.6.4 APXUser.fSecurityPropertyID Returns the Property ID for a given Security’s Property Name.

Syntax

APXUser.fSecurityPropertyID ( PropertyName )

Parameter Data Type Description PropertyName nvarchar(30) The name of the property.

Examples

select APXUser.fSecurityPropertyID('AssetClass')

select * from APXUser.vSecurityPropertyLookup where PropertyID = APXUser.fSecurityPropertyID('IndGroup')

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

100 CONFIDENTIAL—DO NOT DISTRIBUTE

3.6.5 APXUser.fShowAccruedInterestOnAllReports Returns a Boolean value indicating whether to show accrued interest on all reports based on the specified input parameters.

Syntax

APXUser.fShowAccruedInterestOnAllReports ( OverridePortfolioSettings , ParameterAccruedInterestID , PortfolioAccruedInterestID )

Parameter Data Type Description OverridePortfolioSettings bit A Boolean value indicating if portfolio settings should be overridden. ParameterAccruedInterestID tinyint The report parameter Accrued Interest ID. PortfolioAccruedInterestID tinyint The portfolio Accrued Interest ID.

Examples

select APXUser.fShowAccruedInterestOnAllReports(0, 0, 5) –- 1

3.6.6 APXUser.fShowAccruedInterestOnPerformanceReports Returns a Boolean value indicating whether to show accrued interest on performance reports based on the specified input parameters.

Syntax

APXUser.fShowAccruedInterestOnPerformanceReports (OverridePortfolioSettings , ParameterAccruedInterestID , PortfolioAccruedInterestID )

Data Parameter Type Description OverridePortfolioSettings bit A Boolean value indicating if portfolio settings should be overridden. ParameterAccruedInterestID tinyint The report parameter Accrued Interest ID. PortfolioAccruedInterestID tinyint The portfolio Accrued Interest ID.

Examples

select APXUser.fShowAccruedInterestOnPerformanceReports(1, 1, 6) – 0

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

101 CONFIDENTIAL—DO NOT DISTRIBUTE

3.6.7 APXUser.fTaskRecurrenceEnding Returns a description of when a recurring activity will end.

Syntax

APXUser.fTaskRecurrenceEnding ( EndType , EndDate , NumOccurrences , LocaleID )

Parameter Data Type Description EndType tinyint The type of ending (1 = No End, 2 = NumOccurences, 3 = Date). EndDate datetime The ending date of the activity recurrence. NumOccurences smallint The number of occurences after which to end the activity recurrence. LocaleID int The Locale ID of the culture in which to format the EndDate.

Examples

select APXUser.fTaskRecurrenceEnding(1, null, null, null) -- No End Date select APXUser.fTaskRecurrenceEnding(2, null, 12, null) -- End after 12 occurences select APXUser.fTaskRecurrenceEnding(3, '2010-12-31', null, 1067) – End by 31.12.2010

3.6.8 APXUser.fTaskRecurrenceFrequency Returns a description of the Activity Recurrence Type associated with the specified RecurrenceTypeID.

Syntax

APXUser.fTaskRecurrenceFrequency ( RecurrenceTypeID )

Parameter Data Type Description RecurrenceTypeID tinyint The RecurrenceTypeID (refer to APX.RecurrenceType).

Examples

select APXUser.fTaskRecurrenceFrequency(1) -- Yearly select APXUser.fTaskRecurrenceFrequency(5) -- Weekly select APXUser.fTaskRecurrenceFrequency(9) –- Monthly

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

102 CONFIDENTIAL—DO NOT DISTRIBUTE

3.6.9 APXUser.fTaskRecurrencePattern Returns the Task Recurrence Pattern associated with the specified parameters. Note that all of the parameters are typically from one row of the APX.vTaskRecurrence table.

Syntax

APXUser.fTaskRecurrencePattern ( RecurrenceTypeID, WeekIndex , Month , DayOfMonth , Interval , IsOnSunday , IsOnMonday , IsOnTuesday , IsOnWednesday , IsOnThursday , IsOnFriday , IsOnSaturday , IsOnDay , IsOnWeekday , IsOnWeekendDay , LocaleID )

Data Parameter Type Description RecurrenceTypeID tinyint The RecurrenceTypeID (refer to APX.RecurrenceType). WeekIndex smallint The index for the week of the month for a relative week schedule (1 = first week, 4= fourth week, -1 = last week) Month tinyint The month of the year for a yearly schedule item (1 - 12). DayOfMonth tinyint The day of the month for an absolute schedule item. Interval smallint The interval, in days, weeks, or months, until the next item. IsOnSunday bit Indicates if a task occurs on Sunday. IsOnMonday bit Indicates if a task occurs on Monday. IsOnTuesday bit Indicates if a task occurs on Tuesday. IsOnWednesday bit Indicates if a task occurs on Wednesday. IsOnThursday bit Indicates if a task occurs on Thursday. IsOnFriday bit Indicates if a task occurs on Friday. IsOnSaturday bit Indicates if a task occurs on Saturday. IsOnDay bit Indicates if a task occurs daily. IsOnWeekday bit Indicates if a task occurs on weekdays. IsOnWeekendDay bit Indicates if a task occurs on weekend days. LocaleID int The Locale ID of the culture in which to format items.

Examples select APXUser.fTaskRecurrencePattern(1, 2, 8, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, null) -- The second Tuesday of August select APXUser.fTaskRecurrencePattern(3, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, null) -- The first weekday of every 3 months select APXUser.fTaskRecurrencePattern(4, 0, 0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null) -- Day 20 of every month

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

103 CONFIDENTIAL—DO NOT DISTRIBUTE

4 Technical notes

4.1 Level of Abstraction APX public SQL views present data that correlate to concepts within the financial services industry, in contrast to the underlying physical database schema. As the underlying tables are highly normalized, rows from many physical tables may combine to present a single row within a public view. For example, rows from the underlying tables AdvSecurity, AdvFixedIncome, and AdvVRS combine to present a single row in the public view vSecurity to represent each security.

On the other hand, some underlying tables store data from multiple logical entities, in which case there may be multiple public views based on one underlying table. For example, the AdvDateRateSchedule table contains base rate values, as well as coupon dates and reset dates for specific securities. Three public views are based on this one table: vBaseRate, vCouponRate, and vResetRate.

4.2 Completeness of Coverage Public views present the following data:

. All business entities stored in APX. . Derived data for business entities such as tax lots. . Static lookup data such as coupon payment methods, and days of the week. . Specific general purpose system entities.

Public views do not present the following data:

. Most system data such as Permissions. . Transient “housekeeping” system data. . Meta data regarding system definitions and customizations (Example: RowDefs). . Rows that exist for physical schema support.

4.3 Data types APX defines derived data types for use within its underlying database tables for the purposes of:

. Establishing data type consistency across related columns. . Establishing consistent use of nullable columns. . Defining consistent default values.

Public views present the native SQL Server data types for simplicity, especially because these benefits do not apply to reading data from public views.

4.4 Included columns Public views contain columns for the following types of data:

. All underlying columns that contain real business data (Example: Units Traded). . All join-key values for joining between entities (Example: SecurityID). . All join-key values for reference lookup data (Example: DayOfWeekCode). . Consumer meaningful flags for system conditions (Example: IsIncomplete, IsInternal).

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

104 CONFIDENTIAL—DO NOT DISTRIBUTE

4.5 Excluded columns Public views exclude columns that are part of the underlying tables for these reasons:

. Columns for which the only purpose is to join between schema-level tables (Example: DateRateID on a security with a unique coupon schedule). . Columns that would only return a constant value because of constraints on the view (Example: IsHidden in AdvSecurity). . Internal “housekeeping” columns (Example: The audit trail control columns).

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

105 CONFIDENTIAL—DO NOT DISTRIBUTE

5 Future directions We are considering implementing the following functionality in a future release. We take these into consideration during our current designs and implementations as they define our forward-looking direction.

. Audit Trail information—APX maintains a complete history of database changes. We plan to provide additional public SQL views to enable easily querying historical information. . Packager information—We plan to implement public views that expose report packaging and distribution information in a future release. . Job Manager information—We plan to implement public views that expose jobs and job queues in a future release. . Other public views—We plan to implement the following views in a future release:

Category Public view Description Portfolio vPortfolioReinvestmentException Portfolio vPortfolioAmortizationRules Portfolio vPortfolioPerformanceIndex Configuration-dependent Portfolio vPortfolioSyntheticIndexComponent Configuration-dependent Portfolio vPortfolioGroupPerformanceIndex Configuration-dependent Portfolio vPortfolioGroupSyntheticIndexComponent Configuration-dependent Portfolio vPortfolioCompositePerformanceIndex Configuration-dependent Portfolio vPortfolioCompositeSyntheticIndexComponent Configuration-dependent Market vSecurityEventDate

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

106 CONFIDENTIAL—DO NOT DISTRIBUTE

6 Document History Release Date Notes 3.0 Jan. 24, 2011 Initial draft of document 3.0 Jan. 28, 2011 Incorporated feedback from Pourya. Incorporated data types into functions. 3.0 Feb. 1, 2011 Incorporated additional feedback from Pourya. 3.0 Feb. 3, 2011 Revised documentation regarding upwards compatibility. 3.0 Feb. 4, 2011 Added reference information for SSRS reports to Securty section 1.4.

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

107 CONFIDENTIAL—DO NOT DISTRIBUTE

Advent Software, Inc. APX Release 3 Public SQL Views February 16, 2011

108

Comment Form

Please use this form to give us constructive comments on this manual. We’ll consider your comments carefully and try to incorporate the appropriate changes in future editions.

Manual and release:______Today’s date:______

Comments: Please describe any changes or enhancements you’d like to see in this manual. If you find any errors, list the page number(s) and error(s). Add additional pages if necessary.

Optional: It would be helpful if we could contact you if we have any questions about your comments.

Your name/Job title:______

Company name: ______

Address:______

City, state, zip:______

Phone number:______Email:______

Would you like a response?______Yes______No

Mail or fax this form to: Director, Learning Products Advent Software 600 Townsend Street San Francisco, CA 94103. Fax 415-556-0619.

You can also send your comments via email to [email protected], or send feedback through Advent’s client-only Web site at http://connection.advent.com/documentation/. We appreciate your comments.