0% found this document useful (0 votes)
120 views

TAPCore SystemManagement Guide

Tap system Managmnt

Uploaded by

kiatipis
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
120 views

TAPCore SystemManagement Guide

Tap system Managmnt

Uploaded by

kiatipis
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 257

Triple’A Plus™ Core

Release 15.06

System Management
Guide
 2015 Temenos Software Luxembourg SA
All rights reserved. No part of this publication may be reproduced, stored in a retrieval
system, or transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of Temenos Software
Luxembourg SA.
Triple'A Plus™ is a registered trademark of the TEMENOS Group of companies. All other
trademarks referenced herein are the property of their respective owners.
The Temenos product suites use a number of third-party software products that are
distributed under free or other open source licence agreements. These products are the
copyright of their respective owners and are governed by their own licensing terms as
indicated in the applicable licence, copying, read-me and/or help files for such products.
Copies of the relevant licence agreements for these products can be found in the Triple’A
Plus Open Source Software Licences Reference Guide.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 2


Document Revision History
Version Date Description
4.20 20060628 Description of the link between manager and user.
Data security extension on all instrument natures.
4.30.3 20080422 Disclaimer updated
20080424 Chapter on Admin scripts added
Chapters on installation (part two) removed. For installation
information see the Installation Guide
Contents revised
20080523 Description of the script gen_diskinit_createdb.sh added in the admin
scripts chapter
Section on GUI User Context Persistence added (moved from the User
Guide)
Section on Profile definition added (moved from the User Guide)
Chapter on Manipulating Formats added (moved from the User Guide)
Chapter on running special functions from the GUI added (moved from
the User Guide)
Chapter on Multiple Document Interface added (moved from the User
Guide)
20081203 Update of admin scripts
4.40.0 20090316 Security of Fund splitting on Fund Portfolios
20090604 DSP on Classifications & Grids entities
20090610 Edited information for aaa_hostdiff
20090720 Edited information for AAAWARNTIMOUT and AAAEXITTIMOUT
20090722 Section Triple'A Plus Core tools, edited aaa_srv parameters
20090907 Added section “Case Management Component (CMC)”.
20090915 Added information in section aaa HOSTDIFF If the Hostfile extracted
from back-office does not fit the hostdiff requirements, a pre-handling
is made if the script hostdiff_hostfile_rework.sh exists and is
executable.
Added section ANNEXES.
4.40.0 SP1 20091125 PMSTA-8661: General review/update of document
20091218 PMSTA-9121: Updated section Link between users and
managers/Triple'A Plus Web security.
4.40.0 SP2 20100305 PMSTA-9455: Replace exec_fin_analysis_by_domain with
exec_fin_analysis_all_domain.
20100322 PMSTA-9468: Added section “Migrating from Constraint Breach to Case
Management Component”.
4.40.0 SP3 20100512 PMSTA-9846: Updated section “Updating Status of a Case” and added
section “Activating automatic update of Case Status function”.
20100609 PMSTA 9830: Replaced exec_fin_analysis_by_domain with
exec_fin_analysis_all_domain.
20100615 PMSTA-10105: Replaced some instances of “fusion server” with
“financial server”.
20100623 PMSTA-9659: Updated information in section Open URL action.
20100706 PMSTA-10105: Added "report role" to server connection table in
section “GUI menu: Administration>Security”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 3


Version Date Description
4.40.0 SP3 20100706 PMSTA-10215: Updated information about available languages in
section Localising Triple’A Plus Core.
20100716 PMSTA-10256: Corrected small typopgraphical error in aaa_expfmt
description.
20100716 PMSTA-10259: Created new section Deleting user permitted values to
explain how to delete user permitted values from the application.
20100720 PMSTA-9880: Updated Financial computing traces section to show that
server name limit is now 30 characters.
20100726 PMSTA-9877: Updated the “Triple'A Plus Core user code restrictions”
section to indicate that maximum user name length is 20 characters.
20100802 PMSTA-9682: Updated section Adding and / or modifying user
permitted values with entity list_chrono and provided a complete list of
attributes that accept user-defined values.
20100810 PMSTA-9549: Throughout the document, replaced references to the
Constraint Breach function with explanations related to Case
Management Component
4.40.0 SP5 20110406 PMSTA-11863: In section:
 “Printer set-up”, removed SQR exception for printer preview.
 “aaa command” about service "rep" and added information about
usage details.
 Triple'A Plus Core tools and Tools menu, removed service "expacc"
and folder "aaarep".
 “Entities managed by the extract tools” removed references to
SQR reports, and corrected the type and location of export shell
scripts.
20110517 PMSTA-11788: Added section “Households” to explain how households
are implementated and what their limitations are.
20110530 PMSTA-10184: Added specific registry Wow6432Node (only for 64-bit
Windows 7) in subsections Overview and Editing the registry of section
Changing the GUI colours.
20110531 PMSTA-12113: Removed obsolete subsections “Actuate Report
Generator”, “Interface Components”, and “DataStage TX on the Server
Side” in section RGB colour codes.
4.40.SP6 20110902 PMSTA-12230: Removed duplicate colors in section RGB colour codes.
20110915 PMSTA-12526: Added new language Traditional Chinese in sections
Available languages and Finding all installed languages.
20111102 PMSTA-13089: Added new language Romanian in sections Available
languages and Finding all installed languages.
20111104 PMSTA-13147: Added new language Turkish in sections Available
languages and Finding all installed languages.
20111118 PMSTA-13248: In section Notes, added recommendations regarding
database backup/restore when handling user-defined fields.
11 20101011 Updated title page to reflect new version and product name (Triple’A
Plus Core)
20100730 PMSTA-10235: In section “Encryption”:
 Added an explanation regarding the implementation of enhanced
encryption technology (MD5/MD5 Salted and SHA256) on top of
MD5 for system parameter PASSWORD_HASH_ALGORITHM.
 Changed default value of PASSWORD_HASH_ALGORITHM to be 2
instead of 1 according to latest code settings.
20101108 PMSTA-8801: In section Datatypes, modified datatype id_t in datatype
table from numeric(9,0) to numeric(14,0).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 4


Version Date Description
11 20110117 PMSTA-11196: Added section User data to indicate that all user data
must be maintained in the *usr* SQL files.
20110120 PMSTA-11251: Added new language "Thai" to Available languages
section. Added the new language also in section Finding all installed
languages.
20110201 PMSTA-7750: In section aaa HOSTDIFF, removed information about
ud_hc_date_d and ud_hc_diff_e fields must be created in Triple’A Plus
Core using the files located in modif_ud_fields.sh.
20110322 PMSTA-11554: Removed references to HP-UX operating system, as it
is no longer supported.
20110418 PMSTA-7506: Removed references to "aaa hostcmp" as it is
deprecated.
20110513 PMSTA-12055: Updated section Introduction to clarify the scope of this
guide and its intended audience.
20110518 PMSTA-9887: Updated section “Triple'A Plus Core user code
restrictions”, added section Code and name user-defined length tool,
and updated the Syntax subsection of Creating user-defined fields.
20110628 PMSTA-12177: In section aaa HOSTDIFF, added information to explain
that the instrument code and portfolio code are truncated to 20
characters
20110831 OCS-38759: Removed all references to HEART.
20110929 PMSTA-12845: Removed deprecated environment variables
AAAEXITTIMEOUT and AAAWARNTIMEOUT in section Environment
variables.
20110930 OCS-38690: Removed references to OMGT.
20111125 PMSTA-13162: Updated the following sections regarding the
improvement of AAASCRIPTTRACE to work well with multi-thread
usage:
 In section “setenv” rpc, added AAASCRIPTTRACEMASK and
AAASCRIPTTRACETHREAD as supported variables
 In section Script engine trace, updated information regarding
variables $AAASCRIPTTRACE, $AAASCRIPTTRACEMASK,
$AAASCRIPTTRACETHREAD.
20111219 DS-4757: In section Creating user-defined fields, updated the table in
subsection Datatypes.
11 SP1 20111226 PMSTA-13480: Removed service EXTRACT from aaa script in section
“aaa command”.
20120119 PMSTA-13482 and PMSTA-13567: Complete review of usage and
examples for scripts "expscr", "expmsg", "expfmt" and "exprule".
Updated the following:
 Section Triple'A Plus Core tools (introductory text only, not
subsections).
 Within section Export tools:
 Subsection Messages of section “Entities managed by the
extract tools”.
 Following subsections of section “Syntax and generated files”:
“aaa expfmt”, “aaa expscr”, “aaa expmsg”, and “aaa exprule.
20120208 PMSTA-13659: Improved description for script
"analyse_optdiag_db.sh" in section Standard scripts in
$AAA_ADMIN_DIR/scripts.
20120220 PMSTA-13670: Improved documentation for script "expobj" in sections
Triple'A Plus Core tools, Tools for importing and exporting productivity
entities and “aaa expobj”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 5


Version Date Description
11 SP1 20120221 PMSTA-12827: Updated information about start_allsrv.sh in section
Standard scripts in $AAA_ADMIN_DIR/scripts to explain that
dispatcher server is started after all other servers.
20120316 PMSTA-13175: In section “Constraint template”:
 an image was replaced.
 added information about the Trading Constraint button.
20120316 PMSTA-13809 Added new section TSL financial function domain key
encoding.
20120319 PMSTA-13671:
 Added new section Contextual menus.
 Removed subsection “Context Menus” from section
“Miscellaneous”.
 Removed section “Possibility to disable shortcut Buy/Sell in
valuation screen”
20120322 BM-174: Added reference to another guide in section TSL financial
function domain key encoding.
20120325 PMSTA-13853:
In subsection “Example” of section “aaa exprule”, updated the example
that shows how to export the TEST_RULE valuation rule.
In subsection “Generated files” of section “aaa exprule”, updated the
list of generated files and their extensions.
20120403 PMSTA-13705: Added new section “Trading constraints” to show an
example on how to export trading constraints.
20120417 PMSTA-14093:
 Added extension .sh to all references of file modif_ud_field, as
well as files checkdb and install_ddl.
 In section Directories and files,
 Added new file drop_ud_field.sh
 Updated the description for file modif_ud_field.
 In section Syntax, updated the syntax to create a new user-
defined field and deleted the remarks about disabling an existing
user-defined field.
 In section Notes, added a point about executing the procedure
check_meta_dict on the main database after the
modif_ud_field.sh execution is over to ensure that no objects are
missing, such as perm_value or label, that would crash the Design
Studio meta dictionary load.
20120419 PMSTA-14016: In section aaa HOSTDIFF:
 added information about using both option –e and a different
format of the host file for long codes for instrument or portfolio
 updated the description for “host positions file is in fixed format”
in the table.
11 SP2 20121210 PMSTA-15427: Removed section “Printer set-up” as the information is
obsolete.
12 20120525 PMSTA-14128: Improved the information for export objects script
"expobj":
 Added missing strategy natures support by script "expobj" in
section Strategy and related entities.
 Updated Usage help text for script "expobj" in section Usage.
20120601 PMSTA-13916: In section Syntax, removed "[ ]" for all mandatory
parameters of modif_ud_field.sh.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 6


Version Date Description
12 20120606 PMSTA-14408: Updated subsection Default_value in section Syntax to
explain the improved usage of default values.
20120607 PMSTA-13589:
 In section Running fusions, added information about
synchronous_f.
 In section Valuation rules, updated the list of what the tool
exports.
 In subsection “Example” of section “aaa exprule”, updated the
example of how to export the TEST_RULE valuation rule.
 In subsection “Generated files” of section “aaa exprule”, updated
the list of generated files.
20120803 OCS-41014: Removed all references to TASC component.
20120810 OCS-40670:
 Reviewed entire chapter Security and updated, where necessary,
information concerning the Additional Data Security Profile.
 Removed chapters “R4.12 Security improvements” and“R4.20
Security improvements”. Any valid content from these chapters
have been incorporated into chapter Security.
20120813 PMSTA-14763: In section aaa HOSTDIFF, replaced file "initaaacfg" with
“aaaprofile” as initaaacfg is no longer used for settings of user and
password.
20120817 PMSTA-14110: Removed entire chapters “Release 4.10 GUI
improvements”, “Release 4.11 GUI improvements”, and “Release 4.12
GUI Improvements”.
20120827 PMSTA-13122: Added chapter User-defined entities.
20120830 PMSTA-14149: In section Dropping user-defined fields, added a
comment to specify that after all user-defined fields that need to be
dropped are dropped, all stored procedures, views, and triggers on all
entities must be recompiled.
20120904 PMSTA-14949: Added chapter Operations and positions checks to
describe the tools chk_fusion.sh and chk_fusion_ol.sh.
12 SP1 20120919 PMSTA-14885:
 In section Dropping user-defined fields, added information about
the drop_ud_field.sh script rebuilding views, procedures, and
triggers on all tables by default.
 In subsection Usage of section Dropping user-defined fields,
updated the parameters of script drop_ud_field.sh to include
compilation mode.
20120920 PMSTA-14629: Added information about an exception for entity "type"
in subsection Default_value of section Syntax.
20120921 PMSTA-14643: Added new section Default database system
administrator and its subsection Usage.
13 20130110 PMSTA-15243: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, added script “recreate_tsl_databases.sh”.
20130125 PMSTA-14613: In section Defining Function Security Profiles:
 Updated the image and its description.
 Removed fields Security Level and Real Time Flag from Function
Security Profile Composition.
20130226 PMSTA-16002: In section “Households” updated the list of functions
that support using Household.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 7


Version Date Description
13 20130228 PMSTA-13744:
 In section Imports, added information about running the
command for 64-bits version.
 In section Standard scripts in $AAA_ADMIN_DIR/scripts, added
32- and 64-bits information for scripts opensrv.lis and
start_srv.sh.
20130306 PMSTA-15781: Added new section Variables to configure bulk copy
usage, to document bulk copy mode configuration.
20130311 PMSTA-15179: Added new section Performance Analysis scripts to
indicate where more information about these scripts can be found.
20130325 PMSTA-15198: In subsection ud_field_name of section Creating user-
defined fields, added case_management and case_clarification as
possible tables for option table_name.
20130328 PMSTA-16122: Added new section Password expiration warning
interval to indicate that Triple’A Plus Core does not support this Sybase
feature.
20130418 PMSTA-15199: Updated section Subscription Auditing with information
about audit_e.
20130426 PMSTA-16020: Added new section Enabling SSL protocol between GUI
and database to describe the GUI in SSL mode.
20130430 LR-1105:
 In subsection “aaa command” of section Running Triple'A Plus
Core, updated the usage details example.
 In section Triple'A Plus Core tools, added information about new
file names aaa_rs_properties, aaa_rs_synchro,
aaa_rs_admin_command, and aaa_rs_serv.
 In section Triple'A Plus Core tools, , updated the image that
displays the main tools.
20130501 PMSTA-15351: In subsection System defaults of section Configuring
memory cache for Triple’A Plus Core Financial Servers, updated the list
of default settings for all optimised SQL procedures that are not part of
a specific profile.
20130502 PMSTA-15236:
 In section User-defined entities (UDEs), added script keywords
GET_OBJECT, AUTOCREATE.
 In section Installing UDEs into Triple’A Plus Core database,
updated the information about where to find information about
segments that can be defined in the import file.
 Added the following new sections in chapter User-defined entities
(UDEs):
 Rules when specifying user-defined entities (UDE)
 Activating security
 Known limitations
 Removing user-defined entities (UDEs)
20130701 PMSTA-16020: In section Enabling SSL protocol between GUI and
database, added new information about how to allow the GUI to
connect to the database server in Secure Sockets Layer (SSL) mode.
14.03 20130718 PMSTA-16337: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, added information about script
set_no_position_flag.sh.
20130722 PMSTA-16683: In sections Deactivating users and Creating users on
Windows, replaced the label “Active flag” with “Active”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 8


Version Date Description
14.03 20130722 PMSTA-16338: In section Files in $AAA_ADMIN_DIR/init, updated the
description for script ud_fields.sh.
20130724 PMSTA-16681: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, updated the description of scripts
dump_db.sh, dump_db_evening.sh, and dump_db_morning.sh to
include information about db compression.
20130805 OCS-36593: In section Standard scripts in $AAA_ADMIN_DIR/scripts,
added script sybase_parameter_check.sh.
20130903 PMSTA-16884 and PMSTA-16858:
 In chapter Directories and files, updated the list of Triple'A Plus
Core files that are located in a subtree in parent $AAAHOME.
 Removed section “aaa command” and merged its content with the
description in chapter Running Triple'A Plus Core.
 Renamed chapter “aaa tools” to Triple'A Plus Core tools and
updated the list of files for Triple’A Plus Core tools.
 Removed section “aaa HOSTCMP” as it has not been delivered
since Release 4.30.3 and was replaced by aaa HOSTDIFF.
 In section Initialisation and configuration files, updated the list of
initialisation files.
 Added section Exportation tools.
 Renamed chapter “Import and export tools” to Export tools.
 Removed section “Entities managed by the extract tools” and
merged its content with the description in chapter Export tools.
Plus, updated the description to include information about
aaa imp as well as the limitation for export of user-defined fields.
 Revision of export tools and services in sections Directories and
files, Running Triple'A Plus Core, Triple'A Plus Core tools, and
Export tools.
20130930 PMSTA-16885:
 Added new section Comment and its subsections to describe
argument appl_comment.
 Completely updated section Script definition and its subsections to
improve the explanation of argument script_definition.
20131029 PMSTA-16442: Added new section GUI memory space.
20131029 PMSTA-16433: Added new section GUI low memory warning.
20131101 PMSTA-16942: Added new section Fusion trace and its subsections to
describe the FUSION_TRACE parameters.
20131118 PMSTA-17193: Added new section AAAPAGESIZE environment variable
to describe the purpose of AAAPAGESIZE.
20131218 PMSTA-17366: Removed chapter "Tables and fields since Release 4" as
it is no longer valid.
20131218 PMSTA-17367: Moved chapter “Household” to the Triple'A Plus Core
User Guide.
20131218 PMSTA-17368: Moved chapter “Case Management Component (CMC)”
to the Triple'A Plus Core Orders and Productivity Guide.
20140116 PMSTA-17207:
 In section Running Triple'A Plus Core, updated the example
regarding Usage details when you run the aaa script without
arguments.
 Added new section Report profile and its subsections Command
line, Example, and Generated file to describe the export of report
profiles.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 9


Version Date Description
14.03 20140129 PMSTA-17485: Regarding information about user-defined fields:
 Deleted section “SYBASE ASE limitations” and replaced it with new
section Sybase dataserver limitations.
 Updated section Triple'A Plus Core attribute identifier limitation.
20140207 PMSTA-17098:
 In subsection Usage of section Tools for importing and exporting
productivity entities, added business entity information in the
usage details.
 Added new section Business_entity and related entities and its
subsection Example.
20140224 PMSTA-16900: Added new section Types and its subsections to how to
export “types" using export script "aaa export".
20140228 PMSTA-17697: Added new note regarding name extensions in section
Notes for user-defined fields.
20140306 PMSTA-16433:
 In section GUI memory space, updated the information regarding
3GB switch.
 In section GUI low memory warning, updated the information
about what happens if the GUI can allocate 3GB of memory and
the AAAMEMMAXALLOC has the default value of 1.8GB.
20140307 PMSTA-17718: In section Triple'A Plus Core tools, updated the usage
description for file aaa_reptbl.
20140307 PMSTA-17569: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, updated the description for scripts
analyse_optdiag_db.sh and update_statistics.sh.
20140310 PMSTA-16648: Added new section Datatypes definition and limitation
to provide a list of user's datatypes that are created and used by
Triple'A Core.
20140312 PMSTA-17719: In section Triple'A Plus Core tools, updated the
parameters for file aaa_reptbl.
20140321 PMSTA-17835: To explain the export of profiles using AAA service:
 Updated entire Function security profile.
 Updated entire section Format profile.
 Updated entire section Screen profile.
 Updated entire section Search profile.
20140407 PMSTA-17910: In section Environment variables, updated the default
value for variable AAATHREADSTACKSIZE.
20140515 PMSTA-18109:
 In section Modifying code and name length, updated the
information about how to use the gen_long_code.sh tool.
 In section Modifying field length, updated the steps to modifying
the field length.
20140605 PMSTA-17964: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, updated the description for script
dump_db.sh.
14.08 20140627 PMSTA-17429: Added section Configuring the Login and About screens
to explain how to hide unwanted technical information in the Login and
About screens in the GUI.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 10


Version Date Description
14.08 20140630 PMSTA-17836:
 In section Running Triple'A Plus Core, added
EXP_SEARCH_CRITERIA to be called by the aaa service.
 In section Triple'A Plus Core tools, updated the image that
illustrates the main tools.
 Added subsections Command line, Example, and Generated file in
section Search criteria.
20140703 PMSTA-17838:
 In section Running Triple'A Plus Core, added EXP_DATA_PROF to
be called by the aaa service.
 Added subsections Command line, Example, and Generated file to
section Data profiles.
20140703 PMSTA-16415: In section Standard scripts in
$AAA_ADMIN_DIR/scripts, added information about system parameter
NO_POSITION_STATUSES to script set_no_position_flag.sh.

20140724 PMSTA-18079:
 Updated section Enabling SSL protocol between GUI and database
by adding detailed steps on how to configure Sybase to allow SSL
connections.
 Added new sections Examples on how to create SSL certificates
and Enabling SSL protocol between Triple'A Plus Web and
database.
20140815 PMSTA-18294: In subsection fk_table_name of section Syntax, added
information to indicate that the foreign key table name
(fk_table_name) is mandatory for user-defined fields of datatype id_t.
14.12 20140903 PMSTA-18401: Added information about script check_list_existence.sh
in section Standard scripts in $AAA_ADMIN_DIR/scripts.
20141010 PMSTA-18785: Dropped argument "4" from format export script in the
following:
 File name aaa_expfmt in section Triple'A Plus Core tools.
 Usage details in subsections Command line and Example of
section Formats.
20141028 PMSTA-18350: Added new section Account lockout policy when
changing current password.
20141105 PMSTA-19030: Changed arguments -U and -P to uppercase for hostdiff
script in section aaa HOSTDIFF.
20141121 PMSTA-17837: In section Screen profile, changed the example that
shows how to export all screen profiles containing "T_AI_" in the code.
20141125 PMSTA-19069: Changed all references of “From Date”, “Till Date”, and
“Ref. Date” to new labelling "Initial Date”, “Final Date”, and “Reference
Date”.
20141202 PMSTA-19137:
 In section Enabling SSL protocol between GUI and database,
added information about ensuring that the cipherlist supported by
the server is compatible with the one used by the client.
 In section Examples on how to create SSL certificates, updated
the example used to illustrate how certauth is used to convert the
certificate request to a CA self-signed certificate (trusted root
certificate).
20141204 PMSTA-18081: In section “Encryption”, added SHA256 Salted as a
supported password encryption method.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 11


Version Date Description
14.12 20150129 PMSTA-19863: In section Using certreq to request a server certificate
and private key, added information about FQDN being supported as
CN.
20150203 PMSTA-18349: In section Security technical features, added
information about how the system parameter
RESET_PASSWORD_VALIDITY_DAYS can affect the user’s account.

15.06 20150218 PMSTA-20013: In section Using certreq to request a server certificate


and private key, added details about FQDN being supported as CN
(during client side configuration).
20150304 PMSTA-19779: In chapters Running Triple'A Plus Core and Triple'A Plus
Core tools, added information about aaa [-copy] sh arguments.
20150306 PMSTA-19991: Updated sections GUI session lock and GUI session exit
to explain that system parameters GUI_SESSION_TIMEOUT and
GUI_EXIT_TIMEOUT are now user configurable.

20150504 PMSTA-19213: Reviewed and updated section “Encryption”, now


renamed to Password hashing.
20150504 PMSTA-19783: In subsection Syntax of section User-defined fields,
updated the description for <null> or <not_null> to include
information about logical fields.
20150615 PMSTA-20432: In section aaa HOSTDIFF, added information about “-c”
mode.
20150622 PMSTA-19243: Added new chapter Questionnaire.
20150623 PMSTA-20069: Removed references to binary "aaa_gui" throughout
the document where it is no longer valid.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 12


Contents
1 Introduction ..........................................................................21
1.1 Sybase product name convention ...............................................21
1.2 Sybase references ....................................................................21
1.3 End user licence control ............................................................22
1.4 Password hashing.....................................................................22
1.5 Triple'A Plus Core architecture....................................................23
1.5.1 Database server ...............................................................................23
1.5.2 Financial server ................................................................................23
1.5.3 Import interface client .......................................................................24
1.5.4 Datatypes definition and limitation ......................................................24
1.5.5 Third-party components.....................................................................25

2 Security .................................................................................27
2.1 User profiles ............................................................................27
2.1.1 Definition .........................................................................................27
2.1.2 Parent users.....................................................................................27

2.2 Function-level security ..............................................................28


2.2.1 Defining Function Security Profiles.......................................................28
2.2.2 Assigning Function Security Profiles .....................................................30
2.2.3 Possible GUI changes due to user Function Security Profile .....................30

2.3 Data-level security ...................................................................31


2.3.1 Overview .........................................................................................31
2.3.2 Entities that have a Data Security Profile..............................................31
2.3.3 Entities that have an Additional Data Security Profile .............................32
2.3.4 Managing data access........................................................................32
2.3.5 Security of user and manager data for management of several banks ......34

2.4 Security technical features.........................................................35


2.4.1 User code and password restrictions ....................................................35
2.4.2 Password encryption when opening a database session ..........................36
2.4.3 Hiding the password on the command line............................................36
2.4.4 Usage of encrypted passwords ............................................................36
2.4.5 Deactivating users ............................................................................37
2.4.6 Modifying the aaa_login_manager password .........................................37
2.4.7 GUI session lock ...............................................................................38
2.4.8 GUI session exit................................................................................38

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 13


2.4.9 User import ......................................................................................38
2.4.10 Default database system administrator ................................................39
2.4.11 Password expiration warning interval ...................................................39
2.4.12 Account lockout policy when changing current password.........................39

2.5 Link between users and managers/Triple'A Plus Web security .........39
2.6 Enabling SSL protocol between GUI and database.........................40
2.6.1 Examples on how to create SSL certificates ..........................................41

2.7 Enabling SSL protocol between Triple'A Plus Web and database ......43

3 Creating new users................................................................44


3.1 Creating users on UNIX .............................................................44
3.1.1 Assigning users to financial servers (UNIX)...........................................45

3.2 Creating users on Windows........................................................46


3.2.1 Assigning users to financial servers (Windows)......................................47

3.3 GUI user context persistence .....................................................48


3.3.1 Saved information.............................................................................48

4 Manipulating formats ............................................................50


4.1 Dynamic navigation ..................................................................50
4.2 Format toolbar .........................................................................50

5 Contextual menus .................................................................53


5.1 Financial function screens ..........................................................53
5.1.1 Standard menu.................................................................................53
5.1.2 Order Management functionalities .......................................................53
5.1.3 Case Management.............................................................................54
5.1.4 Buy/Sell shortcut ..............................................................................54

5.2 Administration screen ...............................................................54


5.2.1 Common menu items ........................................................................54
5.2.2 Menu items on foreign keys widgets ....................................................55
5.2.3 URLs ...............................................................................................55
5.2.4 Particular cases with Windows 7 on French keyboards ............................55

6 Triple'A Plus Core script language .........................................57

7 Configuring printers and character sets ................................58


7.1 Configuring printers ..................................................................58
7.1.1 Printer (printer) ................................................................................58
7.1.2 Printer Profile (printer_profile) ............................................................58

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 14


7.1.3 Printer Profile composition (printer_prof_compo) ...................................59
7.1.4 Assigning Printer Profiles....................................................................59
7.1.5 Miscellaneous ...................................................................................59

8 Audit trail functionality .........................................................60


8.1 Subscription Auditing ................................................................60
8.1.1 Output.............................................................................................60
8.1.2 Report and log files ...........................................................................62

8.2 Subscription API.......................................................................62


8.2.1 Overview .........................................................................................62

8.3 Audit table ..............................................................................63


8.3.1 Financial server ................................................................................64
8.3.2 Parameterisation...............................................................................66
8.3.3 Report examples ...............................................................................70

9 Configuring the Triple'A Plus Core servers.............................73


9.1 Technical specifications .............................................................73
9.1.1 Configuration ...................................................................................73

9.2 Configuring memory cache for Triple’A Plus Core Financial Servers..74
9.2.1 Cache optimisation concepts...............................................................74
9.2.2 Overview .........................................................................................76
9.2.3 Optimised procedures data model .......................................................77
9.2.4 Configuration ...................................................................................78
9.2.5 Purge ..............................................................................................81
9.2.6 Monitoring .......................................................................................81
9.2.7 System defaults ................................................................................84

10 UNIX security ........................................................................90


10.1 Sybase ASE auditing .................................................................90
10.2 Sybase ASE Auditing Technical Configuration ...............................91
10.3 ASE security ............................................................................91

11 Multiple document interface ..................................................93


11.1 Main MDI window .....................................................................93
11.2 MDI Container..........................................................................94
11.3 Menu changes..........................................................................96

12 GUI configuration ..................................................................98


12.1 Changing the GUI colours ..........................................................98

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 15


12.1.1 Overview .........................................................................................98
12.1.2 Editing the registry............................................................................98
12.1.3 Tool bar colours ................................................................................99

12.2 URL datatype ...........................................................................99


12.2.1 Possible actions on URL fields............................................................100
12.2.2 Edit/view URL menu option...............................................................101
12.2.3 Open URL action .............................................................................101

12.3 Configuring the Login and About screens ...................................101

13 Miscellaneous ......................................................................102
13.1 No suppression of typed text during search ................................102
13.2 Saving of GUI use context .......................................................102
13.2.1 Saved information ...........................................................................102

13.3 Menu changes ........................................................................103


13.4 Hiding administration buttons...................................................103
13.5 Menu item: Test System Script.................................................104
13.6 Automatic refresh of Display Log screen ....................................104
13.7 GUI memory space .................................................................104
13.8 GUI low memory warning ........................................................105
13.9 AAAPAGESIZE environment variable..........................................105

14 Localising Triple’A Plus Core................................................106


14.1 Available languages ................................................................106
14.2 GUI Textual Items ..................................................................106
14.3 Localising the GUI...................................................................107
14.3.1 User Interface Language ..................................................................107
14.3.2 Data Display Language ....................................................................107

14.4 Database labels ......................................................................107


14.4.1 Metadictionary tables .......................................................................108
14.4.2 Message tables ...............................................................................108
14.4.3 Denomination table .........................................................................108

14.5 Importing and exporting text ...................................................108


14.5.1 Finding all installed languages...........................................................109
14.5.2 Import/export file syntax .................................................................110
14.5.3 File structure ..................................................................................110

14.6 Allowing user access to the screens...........................................113


14.7 Multilanguage operation labels .................................................113

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 16


14.7.1 Creating a new operation status ........................................................113
14.7.2 Updating operation status labels........................................................115

15 Environment variables.........................................................118
15.1 AAATRACEDOMAIN .................................................................119
15.2 AAAAdvantage.xxx.yyy variables ..............................................120
15.3 AAADEFREPORTNAT registry variable ........................................120
15.4 Variables to configure bulk copy usage ......................................120

16 Directories and files ............................................................122

17 Running Triple'A Plus Core ..................................................123

18 Triple'A Plus Core tools .......................................................125


18.1 aaa HOSTDIFF........................................................................128
18.2 Tools for importing and exporting productivity entities .................134
18.2.1 Overview .......................................................................................134
18.2.2 Usage ............................................................................................134
18.2.3 Generated files ...............................................................................138
18.2.4 Imports .........................................................................................139
18.2.5 Troubleshooting tips ........................................................................140

18.3 Initialisation and configuration files ...........................................140


18.4 Tools menu............................................................................141
18.5 Trace tools.............................................................................143
18.5.1 Initialisation ...................................................................................143
18.5.2 Traces ...........................................................................................145
18.5.3 Core file generation .........................................................................158

18.6 Code and name user-defined length tool ....................................158


18.6.1 Modifying code and name length .......................................................158
18.6.2 Limitations .....................................................................................159

18.7 Script definition search tool......................................................159


18.7.1 scptgrep.sh ....................................................................................159

18.8 Exportation tools ....................................................................159

19 Operations and positions checks .........................................160


19.1 chk_fusion.sh.........................................................................160
19.2 chk_fusion_ol.sh ....................................................................160

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 17


20 Export tools .........................................................................162
20.1.1 Formats .........................................................................................162
20.1.2 List, classification, and grid entities....................................................163
20.1.3 Strategy and related entities.............................................................168
20.1.4 Script rules.....................................................................................169
20.1.5 Screens and related entities..............................................................169
20.1.6 Messages .......................................................................................171
20.1.7 Valuation rules................................................................................172
20.1.8 Map...............................................................................................173
20.1.9 Subscription ...................................................................................173
20.1.10 Default value and input control .........................................................174
20.1.11 Trading constraints..........................................................................174
20.1.12 Modelling constraint.........................................................................175
20.1.13 Comments .....................................................................................176
20.1.14 Script definition...............................................................................177
20.1.15 Functions .......................................................................................179
20.1.16 Application parameters ....................................................................180
20.1.17 Types ............................................................................................181
20.1.18 Profiles ..........................................................................................182
20.1.19 Business_entity and related entities ...................................................189

21 User-defined fields ..............................................................190


21.1 Creating user-defined fields .....................................................190
21.1.1 Syntax...........................................................................................190
21.1.2 Notes ............................................................................................193

21.2 Dropping user-defined fields.....................................................194


21.2.1 Prerequisites ..................................................................................194
21.2.2 Usage ............................................................................................195
21.2.3 Log files .........................................................................................195

21.3 User-defined field restrictions ...................................................195


21.3.1 Sybase dataserver limitations ...........................................................195
21.3.2 Triple'A Plus Core attribute identifier limitation ....................................196

22 User-defined entities (UDEs) ...............................................197


22.1 Creating user-defined entities (UDEs) ........................................197
22.1.1 Modelling and creating UDE definitions ...............................................197
22.1.2 Installing UDEs into Triple’A Plus Core database ..................................197
22.1.3 Rules when specifying user-defined entities (UDE) ...............................198
22.1.4 Activating security...........................................................................199

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 18


22.1.5 Known limitations............................................................................200

22.2 Removing user-defined entities (UDEs)......................................201

23 Questionnaire ......................................................................202
23.1 Creating questionnaires ...........................................................202

24 Stored procedures ...............................................................203


24.1 Defining new enumerated values ..............................................203
24.1.1 Adding and / or modifying user permitted values .................................203
24.1.2 Deleting user permitted values..........................................................205

24.2 Localisation scripts..................................................................206


24.3 Business sub-functions ............................................................206
24.3.1 Creating new sub-functions ..............................................................206
24.3.2 Deleting sub-functions .....................................................................208

24.4 User data ..............................................................................209

25 Running functions from the GUI ..........................................210


25.1.1 Modifying reference currency ............................................................210

26 Running functions from batch script....................................211


26.1 Running fusions......................................................................211
26.2 Building list contents ...............................................................211
26.3 Computing instrument chronological data ..................................212
26.4 Copying operations .................................................................212
26.5 Modifying the reference currency ..............................................213
26.6 Executing financial functions ....................................................213
26.7 Archive batch process .............................................................217
26.7.1 Restoring archived data ...................................................................218

26.8 Purging .................................................................................218


26.9 Performance Analysis scripts ....................................................219

27 Performance and tuning recommendations .........................220


27.1 Network sizing .......................................................................220
27.2 Database server .....................................................................220
27.3 Administration........................................................................220
27.3.1 General..........................................................................................220
27.3.2 Instrument .....................................................................................221
27.3.3 Instrument price and exchange rate ..................................................221

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 19


27.3.4 List................................................................................................221
27.3.5 Batch interface client .......................................................................222
27.3.6 Fusion ...........................................................................................222
27.3.7 Valuation .......................................................................................222
27.3.8 Return analysis ...............................................................................222
27.3.9 Script language...............................................................................223
27.3.10 Storing metadictionary locally ...........................................................223
27.3.11 Procedure ......................................................................................223
27.3.12 Enabling local load...........................................................................223
27.3.13 Recommendations ...........................................................................225

28 TSL financial function domain key encoding ........................226


28.1 Implementation recommendation .............................................226

29 Administration scripts .........................................................227


29.1 Introduction...........................................................................227
29.2 Triple'A Plus Core Admin menu .................................................227
29.3 Sybase Admin menu ...............................................................230
29.3.1 Items on the Sybase menu ...............................................................230

29.4 Standard scripts in $AAA_ADMIN_DIR/scripts .............................232


29.5 Files in $AAA_ADMIN_DIR/init ..................................................241

30 RGB colour codes.................................................................243

31 ANNEXES .............................................................................253
31.1 Hostdiff_hostfile_rework.sh sample ...........................................253

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 20


1 Introduction
This manual describes:
 The technical architecture of Triple’A Plus Core.
 Hardware-sizing and configuration.
 Performance tuning.
 System administration and configuration.
The manual is intended for System Administrators and Super Users. It covers the technical
administration and configuration of Triple’A Plus Core. The reader is referred to other more
comprehensive product documentation when necessary.
System Administrators should read this guide before they install the product and Super
Users should read this guide before they configure the product. Information on installing and
upgrading Triple’A Plus Core is given in the Triple’A Plus Core Installation Guide.

1.1 Sybase product name convention


Sybase Inc. has renamed its RDBMS product line. The RDBMS known as Sybase SQL Server
is now called Sybase Adaptive Server Enterprise (ASE). In this document, the abbreviation
ASE is frequently used (as in Sybase’s documentation). The manual uses the general term
Adaptive Server Enterprise to refer to Sybase SQL Server, Releases 10 and 11 (earlier than
11.5) and Sybase Adaptive Server Enterprise, Release 11.5. When the text refers to specific
versions of these products, the exact name and release number are given.

1.2 Sybase references


For further information, please refer to the following documentation:

Reference Title
[COBB-ESSS] Exploring Sybase SQL Server, The Cobb Group

[ISUG-SSJ] Sybase Server Journals, International Sybase User Group

[SYBASE-ABCD] AnswerBase CD-ROM, Sybase Inc.

[SYBASE-ASPTG] Sybase Adaptive Server Enterprise Performance and Tuning Guide, Sybase
Inc., Document ID: 32645-01-1150

[SYBASE-ASREF] Sybase Adaptive Server Enterprise Reference Manual, Sybase Inc., Document
ID: 32401-01-1150

[SYBASE-ASSEC] Sybase Adaptive Server Enterprise Security Administration Guide, Sybase Inc.,
Document ID: 35811-01-1150

[SYBASE-ASSYS] Sybase Adaptive Server Enterprise System Administration Guide, Sybase Inc.,
Document ID: 32500-01-1150

[SYBASE-CASUX] Configuring Sybase Adaptive Server Enterprise for UNIX Platforms, Sybase
Inc., Document ID: 35823-01-1150

[SYBASE-IASUX] Installing Sybase Adaptive Server Enterprise and OmniConnect on UNIX


Platforms, Sybase Inc., Document ID: 34455-01-0200-03

[SYBASE-PTC] System 11 Performance & Tuning Course, Sybase Inc.

[SYBASE-RBAS] Release Bulletin for Sybase Adaptive Server Enterprise Release 11.5 (one by
UNIX platform), Sybase Inc.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 21


Reference Title
[SYBASE-SBCD] SyBooks CD-ROM, Sybase Inc., Product ID: 94522-55-0300-01 and 08012-55-
0397-01

[SYBASE-WWW] Sybase’s official Internet World Wide Web site1 http://www.sybase.com

Sybase reference documents

1.3 End user licence control


Triple'A Plus Core end user licence control uses the following system parameters:
 LICENSEE_KEY1
 LICENSEE_KEY2
 LICENSEE_EXPIRATION
 LICENSEE_NAME
 LICENSEE_USERS
The parameters LICENSEE_KEY1 and LICENSEE_KEY2 are an encrypted combination of the
other three keys.
The LICENSEE_USERS key contains 20 integers. This key defines the number of concurrent
users who are licensed to use the Triple'A Plus Core modules.

1.4 Password hashing


Triple'A Plus supports the following hash algorithm to store passwords in the database:
 SHA256 Salted (recommended).
 SHA256 designed by the U.S. National Security Agency and required in most of the U.S.
governmental applications as of 2010.
 MD5 Salted (only kept for backward compatibility; not recommended for production
use).
System parameter PASSWORD_HASH_ALGORITHM decides which password encryption model
must be used:
 0:MD5
 1:MD5 Salted
 2:SHA256
 3:SHA256 Salted
Default value for this parameter is 3.
Note that using SHA256 makes security compliant with US government guidelines FIPS PUB
180-4.

1 See also unofficial Internet Web sites with Sybase Frequently Asked Questions (FAQs).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 22


1.5 Triple'A Plus Core architecture
Gateway
Financial Database server
server Open
Client
Sybase ASE
Open Server

Open Client Open Client Live !Report


Import
GUI client Gateway Report
Or client
Native
interface

Triple’A Plus Core architecture

1.5.1 Database server


The database server is an RDBMS, unique for an environment, and stores the permanent
data required by the software into 3 databases:
 the login database which defines which environments are available for the user,
 the report database used by the Report Client and mainly temporary
 the main database, containing datatypes dedicated to the software, meta dictionary and
data tables, columns, stored procedures, triggers, default values, and views defined for
security reasons

1.5.2 Financial server


The financial server is a unique multi-purpose program that executes functions on request
from other programs. Several instances of this program may run simultaneously.
A financial server may have several roles (at the same time), and each financial server has
specific defined roles. These roles are:
 dispatching of requests to other servers (only 1 financial server may have this role)
 fusion of the positions of a portfolio
 preparation of data required for a report
 preparation of data needed by the GUI Client - valorisation, journal, operation history,
performance…
A single Financial Server can accept up to 30 connections from Clients and can open up to 25
connections to the Database Server. It is recommended to define a Financial Server for 12
clients.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 23


A Financial Server can be run remotely from the Database Server; accessed using Sybase
ASE functionality that allows execution of a procedure on a remote server, as long as that
remote server is either another Sybase ASE or an Open Server based program.

1.5.3 Import interface client


This program permits the import/export of data into the application database server.
Full information is included in the Import sections of the Triple’A Plus Core Gateway
Reference Guide.

1.5.4 Datatypes definition and limitation


A set of user's datatypes are created and used by Triple'A Core.
The following is a list of all datatypes as well as their Sybase definition and limitation:

Name Sybase Ud Limitation


(sqlname_c) definition fields
code_t varchar(60) Yes !#%&'"():;<>?@[\\]^`{|}~ and tab are
forbidden

date_t datetime Yes

datetime_t datetime Yes

dict_t numeric(14,0) No

enum_t tinyint Yes

exchange_t numeric(18,9) Yes

flag_t tinyint Yes

id_t numeric(14,0) Yes

info_t varchar(80) Yes " is forbidden

int_t int Yes

longname_t varchar(30) Yes " is forbidden

mask_t int No

method_t tinyint No

name_t varchar(60) Yes " is forbidden

note_t varchar(255) Yes " is forbidden

number_t numeric(21,9) Yes

percent_t numeric(9,5) Yes

period_t smallint Yes

phone_t varchar(21) Yes " is forbidden

smallint_t smallint Yes

sysname_t varchar(30) Yes !#%&'"(),.:;<>?@[\]^`{|}~$+-/* space and


tab are forbidden

text_t text No

time_t numeric(4,2) No

tinyint_t tinyint Yes

year_t smallint No

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 24


Name Sybase Ud Limitation
(sqlname_c) definition fields
amount_t numeric(16,2) Yes

shortinfo_t varchar(40) Yes " is forbidden

longamount_t numeric(23,9) Yes

blob_t image No

longint_t numeric(20,0) No

url_t varchar(255) Yes " is forbidden

uni_code_t univarchar(60) Yes Same limitation as code_t

uni_info_t univarchar(80) Yes Same limitation as info_t

uni_longname_t univarchar(30) Yes Same limitation as longname_t

uni_name_t univarchar(60) Yes Same limitation as name_t

uni_note_t univarchar(255) Yes Same limitation as note_t

uni_phone_t univarchar(21) Yes Same limitation as phone_t

uni_shortinfo_t univarchar(40) Yes Same limitation as shortinfo_t

uni_sysname_t univarchar(30) Yes Same limitation as sysname_t

uni_text_t text No

uni_url_t univarchar(255) Yes Same limitation as url_t

timestamp binary(8) No

binary_t binary(8) No

string1000_t varchar(1000) Yes* " is forbidden

string2000_t varchar(2000) Yes* " is forbidden

string3000_t varchar(3000) Yes* " is forbidden

string4000_t varchar(4000) Yes* " is forbidden

uni_string1000_t univarchar(1000) Yes* Same limitation as string1000_t

uni_string2000_t univarchar(2000) Yes* Same limitation as string2000_t

enummask_t bigint Yes

longsysname_t varchar(255) Yes " is forbidden

* Use these dataypes with caution; do not forget that a record's size cannot exceed Sybase's
page size.

1.5.5 Third-party components


Triple'A Plus Core requires the following Sybase version 11 components; run-time licences
for these products are included within the standard commercial terms:
 Adaptive Server
 Open Server
 Open Client
 Actuate Server
The Triple'A Plus Core licence includes the following Third-Party products
 Neuron Data Open interface

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 25


 Tech Hackers @nalyst

No other specific licence fees are required to use Triple'A Plus Core. It is preferable however,
to use a selective database save/restore product such as SQL Backtrack.
The communications between the UNIX Import Client and the mainframe requires a standard
FTP product such as Connect Direct.
Components of the technical architecture of Triple'A Plus Core use Sybase software as
presented in the following table:

Triple'A Plus Core Sybase tool Sybase tool role


component
Database server ASE RDBMS

Financial server Open Server Development of Triple'A Plus Core specific servers, multi-
threaded and using the same middle-ware as the RDBMS

Open Client Client of the ASE

GUI client Open Client Access to both servers: database server and financial
servers

Importation interface Open Client Access to the database server


client

Report client Triple'A Plus Generation of reports


Reporting

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 26


2 Security

2.1 User profiles

2.1.1 Definition
Profiles are used to manage access to data, functions, formats, screens, and reports.
Defining profiles is a task for the Administrators of Triple'A Plus Core because it is part of the
security management functionality.
Users defined in Triple'A Plus Core must be assigned the following:

Data Security Profile This controls which users can access the data of the user.

Additional Data Security This controls which users can access the data of the user.
Profile

Data Profile This controls which data the user can access.

Function Security Profile This controls access to functions.

Format Profile This controls access to formats.

Users can also be linked to the following:

Screen Profile This controls access to screens.

Report Profile This controls access to reports.

Printer Profile This controls access to printers.

Funds Profile A specific “Data Profile” for Fund splitting is defined at the user level
“Fund Profile”. It is used in the Valuation function to allow or not allow a
splitting on Fund Portfolios. For more details, refer to the Triple'A Plus
Core Financial Instruments Guide in section Fund Share.

2.1.2 Parent users


To reduce redundancy in this security aspect and profile management, users can inherit all
their profiles from a parent user. The parent user points to another user (same table in the
database) who does not require any particular attribution such as a Super User or Security
Administrator.
If you complete the Parent User field when you declare a new user, the other Profile fields are
automatically updated and disabled (the adjacent browse button is greyed).
Therefore, no profiles are updateable. If the displayed profiles do not meet your
requirements, cancel the parent user inheritance by clearing the Parent User field. This then
enables the other fields and allows you to enter or select specific profiles for the new user.
When one of the parent user’s profiles is modified, all the child user settings are
automatically updated. This guarantees that users referencing the same parent have the
same profiles. A user that references a parent user cannot be a parent itself. There is only
one possible level of inheritance.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 27


2.2 Function-level security
Super Users can parameterise the access rights of all the users to the various Triple'A Plus
Core functions. This parameterisation uses information stored in the following tables:

Table Description
User Each user is assigned a Function Security Profile, which defines access to the
Triple'A Plus Core functions.

Function Security An occurrence in this table groups individual access rights for the various
Profile Triple'A Plus Core functions. These access rights are defined in the Function
Security Profile Composition database table.

Function Security An occurrence in this table defines access to a Triple'A Plus Core function.
Profile Composition

Proceed as follows:
1. Define appropriate Function Security Profiles for individual and/or groups of users.
2. Associate a Function Security Profile with individual users.

2.2.1 Defining Function Security Profiles


To define the Function Security Profile:
1. From the GUI, go to Administration > Security > Profiles > Function Security Profile.
2. Select the Function Security Profile you want to edit and click Modify. (You have the
option to create a new profile at this time).
The Modify (or Create) Function Security Profile screen is displayed.
3. Click Composition.
The Select Function Security Profile Comp screen is displayed. This screen provides a
detailed list of the Triple'A Plus Core functions for which you have created access rights
in the profile.
4. You can view, create, copy, modify and delete the entries using the buttons on the right
of the screen. To create new access rights, for example, click Create to display the
Create Function Security Profile Comp screen.
In the following screenshot, permission to access (i.e. use) the Reversal function is included
in the PCK_PM_FUNC_SEC_PROF security profile. Note that this permission includes the right
to create and update entries (the Create Flag and Update Flag fields are selected) but not to
delete them:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 28


Create Function Security Profile Comp

The fields in this screen are as follows:

Field Description
Function Reference to a Triple'A Plus Core function. Over 20 main functions are available in the
Function field's drop-down list. The functions that can be accessed through the GUI can
be grouped by Triple'A Plus Core modules.

Entity Optional reference to an entity type. This reference differentiates the access rights for
the various Administration functions (Administration, Productivity Administration,
Accounting Administration, Fund Administration) from the entities which are
administered through the GUI Client. For example, you can forbid a user to delete
occurrences in the Currency table on the one hand, and authorise the same user, on
the other hand, to delete occurrences from the Instrument Price table.
Notes:
If there is an occurrence in the Function Security Profile Composition table
created (through the Administration function) without a reference to an entity type, its
properties apply implicitly to the entity types that are not specifically included in the
profile.
If an entity type that can be accessed through the various administration functions is not
explicitly or implicitly referenced in a Function Security Profile, users can only view the
occurrences of this type.
Regardless of the composition of their Function Security Profiles, users who are not
declared as Super Users have no access to the entity types that can only be
administrated by Super Users (e.g., Format, Script Definition, User, etc.).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 29


Field Description
Type These two fields specify the type and subtype for the operation entity as well as for the
Sub-type administration of the instrument and notepad entities. For instance, for a Sell operation,
access can be restricted to the user-defined Expiration type. In addition, the
administration of the instrument entity can be restricted to specific user-defined types
and subtypes, while the administration of the notepad entity can be restricted to specific
user-defined types.

Operation These two fields specify user permissions (i.e., Create/Update/Delete) for a particular
Minimum range of states. Note that they apply only to the Operation entity type. For example, you
Status can authorise users to Create, Modify and Delete operations with the Simulation status
Operation but only View operations with the Accounted status.
Maximum
Status

Create Flag For the various Administration functions. Permitted values:


 Yes: the user can create occurrences for the corresponding entity type (default)
 No: the user cannot create occurrences for the corresponding entity type

Update Flag For the various Administration functions. Permitted values:


 Yes: the user can update occurrences for the corresponding entity type (default)
 No: the user cannot update occurrences for the corresponding entity type

Delete Flag For the various Administration functions. Permitted values:


 Yes: the user can delete occurrences for the corresponding entity type (default)
 No: the user cannot delete occurrences for the corresponding entity type

Risk view For the various Administration functions managed security at the field level and not only
Flag at the entity level.
For the Valuation and Check Strategy functions. Permitted values:
 Yes: the user can perform a Risk Valuation
 No: the user cannot delete occurrences for the corresponding entity type

All the above settings are taken into account when the user connects to the application.

2.2.2 Assigning Function Security Profiles


Once you have defined appropriate Function Security Profiles, you can assign them to
individual user profiles.
To assign a Function Security Profile to a user:
1. From the GUI, go to Administration > Security > User.
The Select User screen is displayed.
2. Select a user and click Modify.
The Modify User screen is displayed.
3. Enter the name of the Function Security Profile in the Function Security Profile field. You
can also use the Browse button to browse for the Function Security Profile that you
want.

2.2.3 Possible GUI changes due to user Function Security Profile


Depending on the content of a user’s Function Security Profile, the visual aspect of the GUI
Client can change as follows:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 30


Functions Description
Administration If the user does not have access to one or more of the editing functions for a
functions particular entity type (i.e. Create/Copy, Update, Delete), the corresponding buttons
and Edit menu options are disabled.

Operations If the user does not have access to one or more of the editing functions for a
administration particular range of statuses, the corresponding buttons and Edit menu options are
disabled. Additionally, in the case of a create or an update, the excluded status
cannot be selected through the corresponding drop-down menu.

Other functions If the user does not have access to one of the other functions, the corresponding
option in the Triple'A Plus Core main menu bar and the corresponding icon, if there is
one, are disabled. This applies to standard functions as well as to user-defined
functions. Moreover, when the user creates a document, the icon for an unavailable
function is not displayed. Existing documents that reference an unavailable function
are also disabled.

2.3 Data-level security

2.3.1 Overview
The access to data is managed by the definition of Data Security Profiles and Data Profiles.
Sensitive entities, such as portfolio, clients and instruments, can be assigned to a Data
Security Profile, which is referenced in their definition. Some of these entities also have an
additional Data Security Profile to define a finer granularity of security.
The Data Profiles define compositions of Data Security Profiles (with authorisation of update
and delete). These Data Profiles are then assigned to the users and there can only be one
possible Data Profile per user. No Data Profile can be defined as a derived subset of another
Data Profile; they all have their specific definitions.
Users can only access data that is linked to their user when the Data Security Profile or the
Additional Data Security Profile is in the Data Profile.
All Security Administrators share the same Data Profile. This profile, called
SECURITY_DATA_PROFILE, is hardcoded and cannot be modified when a Security
Administrator is inserted or updated. Its composition is automatically updated when a Data
Security Profile is created or deleted. The profile provides access to all the objects. Only
Security Administrators can have this Data Profile. Only Security Administrators are allowed
to update Data Profile compositions and modify the link to a Data Profile in the user screen.
Data security is enforced in the Database Server by a combination of private tables and
restricted views based on joins. Stored procedures access the physical tables directly but
also they enforce data security.
Attribute level security is ensured through the use of formats.

2.3.2 Entities that have a Data Security Profile


You can protect the following entities at the occurrence level:
 Address
 Appl user
 Classification
 FT convention
 Grid

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 31


 Instrument
 List
 Manager
 Portfolio
 Strategy_link
 Strategy
 Third_party
 Trading_constraint

2.3.3 Entities that have an Additional Data Security Profile


The following entities can have an Additional Data Security Profile:
 Appl user
 Instrument
 Manager
 Portfolio
 Strategy_link
 Third_party
 Domain

2.3.4 Managing data access


Only the Security Administrator is permitted to grant access of objects (such as portfolios) to
a user.
To grant access of objects:
1. Create Data Security Profiles.
2. Link the objects to them.
3. Create Data Profiles and define their composition from the Data Security Profiles with
Update and /or Delete Authorisation.
4. Assign the Data Profiles to the users.

2.3.4.1 Example Data Security Profile usage


The following example shows the data security concept. Let us take four users: User0 with
security officer role and three users who should have the following access to portfolios:

User0 User1 User2 User3


Port1 Port1 Port3 Port5
Port2 Port2 Port4 Port6
Port3 Port5
Port4 Port6
Port5
Port6

In this case, we need three Data Security Profiles (A, B, and C) and assign them to the
portfolios as follows:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 32


Port1 A
Port2 A
Port3 B
Port4 B
Port5 C
Port6 C
Then, we define four Data Profiles from compositions of Data Security Profiles as follows:

Data Profile DP0 DP1 DP2 DP3


Data Security A, B, C A B, C C
Profiles

and then, assign them to the users (DP0 to User0, DP1 to User1, etc.).
Now when the different users send a request to the database to show all portfolios, the
system will only return those portfolios to which they have been granted access.

2.3.4.2 Example of Additional Data Security Profile usage


While the Data Security Profile is used to define a coarse-grained security, the Additional
Data Security Profile is used to define a fine-grained security. A typical case is, when the
bank wants to provide access to clients through an internet portal. In this case, Portfolio
Managers usually manage many portfolios, whereas clients of a bank usually access only
their own portfolios. Hence, the portfolio managers need coarse-grained security settings,
whereas clients of a bank would need fine-grained security settings.
The implementation is done as follows:
1. Define Data Security Profile DSP1-a and assign it to all portfolio that are managed by
the Manager.
2. Define Data Security Profile DSP1-gen and assign it to all instruments and strategy links
(assuming that all Managers of the bank have access to all instruments and strategy
links.)
3. Define a Data Profile DP1, which contains DSP1-a and DSP1-gen, and assign it to the
user of the Manager.
4. Define a Data Security Profile DSP2-a and assign it as an Additional Data Security Profile
to the portfolio of the client.
5. Define a Data Security Profile DSP2-inst and assign it as Additional Data Security Profile
to the cash account (financial instrument) of the client.
6. Define a Data Security Profile DSP2-gen and assign it as Additional Data Security Profile
to the strategy link of the client's portfolio.
7. Define a Data Profile DP2 and assign it to the user of the client.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 33


In this image, DSP2 refers to Additional Data Security Profile. For more information about
the required Triple’A Plus web security settings, refer to the Triple'A Plus Web Security
Customisation Guide.
Note: It is not recommended that you define a fine-grained security access with only the
Data Security Profile. By doing this, you will increase the size of the data profile composition
for all users and the system will have performance issues.

2.3.5 Security of user and manager data for management of several banks
Some of our clients provide Triple'A Plus Core access to different banks using the same SQL
server and database; the client data is stored on the same database. These banks do not
want their users to have access to users or managers from other banks. To guarantee
confidentiality in terms of “who can see what”, managers and users are secured as well.
Clients who grant Triple'A Plus Core access to different banks using the same SQL server and
database might need to reduce the number of Security Administrators on their sites because
Security Administrators have access to all objects in Triple'A Plus Core. This role must be
assigned to people who do not work for a specific bank.
You can associate a bank with a Data Security Profile. All users who work for the bank
reference this Data Security Profile. Super Users and Security Administrators must have
update and delete authorisation in this particular Data Security Profile.
A Super User can update any attribute except the Security Administrator flag, the audit flag,
and the new Data Profile attribute. Only Security Administrator can update these three
attributes and see the Security Administrator flag.
A Super User can create a regular user or a Super User. A Security Administrator can create
any type of user. When users are declared Security Administrator, they automatically
become Super Users. Users can associate a Data Security Profile with other users or
managers if the update authorisation flag is set to 1 for the particular Data Security Profile in
their data profile composition. The delete authorisation flag allows users to delete other
users or managers linked to this Data Security Profile. This rule also applies to other entities
such as portfolio, third party, list, strategy, strategy link, and address.
During an installation from scratch, the application owner is automatically defined as a
Security Administrator. When users have a parent user, they inherit the Data Security Profile
from the parent along with other information. All child users can access their siblings and the
parent can view all child users.
To facilitate migration, the Data Security Profile DEF_USER_SECU_PROF is automatically
created and added to all Data Profiles referenced by the users and the managers. The Super
User and Security Administrator have the delete and update flags set to 1 for this default
Data Security Profile. This Data Security Profile is the proposed default value when a new
user or manager is created. A Security Administrator automatically has access to a new Data

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 34


Security Profile when it is created (by trigger). This rule is true for this default Data Security
Profile.

2.4 Security technical features


To use Triple'A Plus Core Graphical User Interface (GUI), you must log into the Database
Server. The login ID (or user code) and password used are different from the UNIX login ID
and password.
The Database Server sets password restrictions, which means that it restricts the password
to a minimum size and certain character types. Triple'A Plus Core handles all the other
security restrictions:
 Your Administrator can enforce a regular change of passwords (password expiration).
The expiration delay can be set per user.
 If the System Administrator resets the user’s password but the user does not log in to
change the password within the password expiration timeframe defined by the system
parameter RESET_PASSWORD_VALIDITY_DAYS, then the user’s account is locked. Only
users with appropriate permissions can re-enable a locked account.
 Triple'A Plus Core does not allow users to reuse the last ‘n’ passwords. A check is
performed according to the PASSWORD_HISTORY_COUNT system-wide parameter.
 After a number of login failures (specified in the MAX_LOGIN_FAILURE_COUNT system-
wide parameter), the user account is locked. Only users with the necessary permissions
can re-enable a locked account.
 The current number of GUI sessions started by the same user is checked against the
MAX_RUNNING_GUI_PER_USER system-wide parameter. You can disable this parameter at
the user level.
Note that the PASSWORD_VALIDITY_DAYS system parameter lets the System Administrator set
the frequency at which users must change their passwords. The PASSWORD_HISTORY_COUNT
parameter contains the number of passwords used that must be different. For example, the
default value of 5 means that users cannot re-use any of their last five passwords when
prompted by the system to change passwords. Attention: The value is not persistent from
one migration to another.
You can also set the Sybase Adaptive Server Enterprise (ASE) configuration parameter
system-wide password expiration. This parameter defines the number of days for which
passwords are valid. If you are running batch jobs, make sure you change the passwords
associated with them before they expire. This is because Triple'A Plus Core enforces security
but so does Sybase ASE. If users decide to use ASE security enforcement (in addition to
Triple'A Plus Core), they need to set up a system-wide password expiration. However, when
the passwords expire and are not changed before the expiration date, batch jobs are put at
risk.

2.4.1 User code and password restrictions

2.4.1.1 Triple'A Plus Core user code restrictions


The following user code restrictions apply:
 The maximum length for the user code is 30 characters.
 The user code must not begin with a number.
Examples:
The code 1faz is invalid and the system does not accept it.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 35


The code Fa25 is valid because it begins with a letter character.

2.4.1.2 Sybase password restrictions


The following Sybase password restrictions apply:
 minimum number of 6 characters
 you can only use passwords composed of alphanumeric characters without using quotes
if they begin with letters

2.4.2 Password encryption when opening a database session


The password encryption feature is based on the system parameter ENCRYPTION_LEVEL.
When this parameter value is set to 1 (default value), then the Sybase callback method is
used to transmit the password when a new session is opened from the GUI (gui), import
program (aaa_imp), and financial servers (aaa_srv) to Sybase or a financial server. A value
of 0 disables encryption.

2.4.2.1 Restrictions
This encryption scheme adds a further restriction to the authorised characters allowed in a
password. You can only use ASCII 7-bit characters (i.e. no accents allowed).

2.4.3 Hiding the password on the command line


The aaa_srv server is normally started using a command line such as:
aaa [-copy] SRV -S<server_name> -U<username> -P<password>
On UNIX machines, the simple shell command ps shows the command executed from the
prompt, including the given password. The hide password enhancement hides all the
parameters from the command line, except for the –Sxxxxxx parameter.

2.4.3.1 Configuring password hiding


Password hiding or display depends on two levels of authorisation:
 An internal variable HIDE_ARGS is set by Temenos in the aaa script. This is done to
globally allow or forbid the hiding of arguments per service.
 A global variable AAA_SECURE_SERVICES can be set by the user to enable / disable
password hiding. If not set, or set to 1, password hiding is enabled. If set to 0, all the
arguments are displayed by ps.
Password hiding is enabled for aaa_srv and aaa_imp by default.
You must set the HIDE_ARGS and AAA_SECURE_SERVICES variables to the same value
(default or explicit) to enable/disable password hiding.

2.4.4 Usage of encrypted passwords


When you create batch files to execute data importation during the night, you have to
include in the files a username and password along with the data.
Besides the filesystem security that you must still configure properly to avoid unauthorised
access to the batch files, you can now encrypt passwords and use them encrypted on the
file.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 36


2.4.4.1 Enabling the usage of encrypted passwords
You have to define a global variable in the $AAAHOME/aaaprofile named
AAAENABLEENCRYPTEDPASSWORD. The actual value attributed to the variable is
unimportant.
Example:
export AAAENABEENCRYPTEDPASSWORD=ANYVALUEYOULIKE

2.4.4.2 How to encrypt a password


Password encryption is performed using the aaa imp command with the –X option on the
command line interface.
Example:
aaa imp -X 20ubPa61
The following string is returned: H I D N A N D N N O I P P K J P
Restrictions: The password must contain only ASCII 7-bit characters and not be more than
14 characters long.

2.4.4.3 Scope of usage


Encrypted passwords can be used to connect to the import program and the financial server.
Using the example from the previous section, you would enter the following on the UNIX
command line:
aaa srv -S AAASERVPCL -U PCL -P HIDNANDNNOIPPKJP
isql -S AAASERVPCL -U PCL -P HIDNANDNNOIPPKJP
aaa imp -U PCL -P HIDNANDNNOIPPKJP

2.4.5 Deactivating users


In previous versions, you could unselect “Active” of a particular user in the Triple'A Plus Core
GUI to disable that user's Triple'A Plus Core account. The user, however, was still able to
connect to the Sybase database by using standard isql or SQL Advantage.
From Release 4.12, an extra step deactivates the user at the Sybase level.

2.4.5.1 Usage
Since a user with the SSO role is required, user activation/deactivation has been moved from
the user GUI screen to the Tools menu in the main Triple'A Plus Core menu. The menu
option is either Deactivate User or Activate User, depending on whether the selected user is
currently activated or deactivated.

2.4.6 Modifying the aaa_login_manager password


Before Release 4.12, you could not change the password of the technical user
aaa_login_manager, since it was hardcoded in the Triple’A Plus Core GUI, Financial Server,
and Importation modules.
You can now change the password for this user. If you do not change the password, the
default password is used.

2.4.6.1 Usage
To change the password of aaa_login_manager, you must first modify it in the Sybase
database.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 37


You then define an environment variable named AAALOGINMANAGER and set it with the
encrypted password of your choice (using aaa imp –X, etc.).

2.4.6.2 Restrictions
The usual password encryption restrictions apply.

2.4.7 GUI session lock


The Triple’A Plus Core GUI includes session lock. After a certain amount of time of non-use,
the user session is locked and users are prompted for their password before they can
continue the session.
This parameter specifies the duration in seconds of GUI inaction before the user must log in
again. When the login window is displayed, users must re-enter their login password. No
other use of the application is allowed until the correct password is entered.
By default, the time-out is set to 24 hours (86400 seconds).
The time-out is user definable.

2.4.7.1 Usage
The time-out is set in the GUI_SESSION_TIMEOUT system parameter.
If you do not want the sessions to time out, set GUI_SESSION_TIMEOUT to a value higher
than the time between the two shutdowns of your system (between night batch jobs, for
example).

2.4.8 GUI session exit


The Triple'A Plus Core GUI includes a session exit that is meant to be used together with GUI
session lock (GUI_SESSION_TIMEOUT). When a certain amount of time has passed after the
lock of the session, the GUI is automatically closed.
This parameter specifies the duration in seconds before the program automatically exits after
the session time-out warning message.
The time-out is user definable.

2.4.8.1 Usage
The time-out is set in the GUI_EXIT_TIMEOUT system parameter.
The value 0 indicates no exit time-out.

2.4.9 User import


You can import users into Triple'A Plus Core.

2.4.9.1 Restrictions
The user profile you use to run the import must have been granted the SSO role in Sybase.

Granting / Revoking the SSO role


Use isql or SQL Advantage to enter one of the following commands:
grant role sso_role to xxxx
or
revoke role sso_role to xxxx

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 38


where xxxx is the ID of the user to whom you want to grant the SSO role.

2.4.9.2 Example of usage


The following is an example of an import file that imports/creates a simple user whose ID is
"smith":
SET DATEFORMAT DD-MM-YYYY
SET DATAFORMAT DELIMITED
SET SEPARATOR ;
SET PREFIX DATA NONE

CMD INSERT appl_user

ATT code name user_password


TST_IMP;TEST_IMP; smith

2.4.10 Default database system administrator


Temenos recommends that you do not use the default database user account "sa" as the
Triple'A Plus system administrator login. For security reasons, it is safer to give the "sa" role
to another user and use this system administrator for installation and administration
purposes.

2.4.10.1 Usage
Create another login with the appropriate rights (sa_role, sso_role, and oper_role) and use
this user account in the following configuration file:
$AAAHOME/install/aaa_install.cfg
Replace the default value "sa" of variable "<SA_USER>" with your new user account. This
variable name can be found in the "TRIPLE_A_VARIABLES_SECTION" section.

2.4.11 Password expiration warning interval


There is no feature in Triple'A Plus Core to display a warning message when a password is
expiring soon.
Also, Triple'A Plus Core does not support the Sybase ASE Password Expiration Warning
Interval feature. Do not use the password policy option "password exp warn interval" – it
must remain off.

2.4.12 Account lockout policy when changing current password


When users want to change their password (using menu option Tools > Change Password)
but enters the wrong current password five times consecutively, the user account is disabled
and the following error message is displayed: "User is locked, Exiting Triple'A".
Subsequently, the GUI automatically shuts down.

2.5 Link between users and managers/Triple'A Plus Web security


There is a circle relationship between the entities ‘user’ and ‘manager’ and between 'user'
and 'third_party'. This relationship is required for Triple'A Plus Web.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 39


For detailed information about the security applied to Triple'A Plus Web, refer to the Triple'A
Plus Web Security Customisation Guide and Triple'A Plus Web Authentication, Security, and
Password Management Reference Guide.

2.6 Enabling SSL protocol between GUI and database


To allow the GUI to connect to the database server in Secure Sockets Layer (SSL) mode, use
the following steps to configure Sybase to allow SSL connections:
1. Create the SSL certificate using Sybase tools to request and authorize the certificates.
For examples on how this is done, see section Examples on how to create SSL
certificates.
2. Add the SYBASE licence ASE_ASM from Sybase\License_SYB_15_ASE_SDSP to
C:\Sybase\SYSAM-2_0\licenses. If you do not do this step, you will see the following
in the Sybase log:
Configuration parameter 'enable ssl' can not be enabled without license 'ASE_ASM'.

3. Enable SSL at ASE level.


sp_configure "use security services" , 1
sp_configure "enable ssl" , 1

4. Add the certificate in ASE.


%SYBASE%\%SYBASE_OCS%\bin\isql -Usa -Psybase -Slauwinlab1:21100
sp_ssladmin addcert, "C:\Sybase\ASE-15_0\certificates\LAUWINLAB1_157_16.crt",
"tripleAplus"
go

5. Add the cipher. Ensure that the cipherlist supported by the server is compatible with the
one used by the client.
sp_ssladmin setcipher, 'Weak'

or
sp_ssladmin setcipher, 'Strong'

or
sp_ssladmin setcipher, 'All'

or we can define a comprehensive list of ciphers to use. Refer to the Sybase ASE
Security Administration Guide for more details and the list of supported ciphers.
6. In the server, declare SSL on Interfaces and/or sql.ini.
 If you want to keep a non-ssl connection possible, declare both ports (ssl and non-
ssl). You can also restrict this connection to localhost.
 In the clients, declare only the ssl entry to force the use of it.
Example:
[LAUWINLAB1_157_16]
master=NLWNSCK,lauwinlab1,21100
query=NLWNSCK,lauwinlab1,21100
master=NLWNSCK,lauwinlab1,21101,ssl
query=NLWNSCK,lauwinlab1,21101,ssl

7. Enable SSL on GUI by ensuring that the following DLLs are in the path. It is not enough
to simply put them in the DLL folder.
 libsybfssl.dll

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 40


 sbgse2.dll
Note: These files are not packaged along with the GUI but they are part of the Triple’A
Plus Core distribution.
The file trusted.txt defined in the subfolder SYBASE/ini of the GUI installation folder
must contains only the server certificate (%SERVER_CERTIFICATE%). Note that in most
cases, having more than one certificate (Certificate Authority (CA) certificates) in that
file does not work. Additionally, adding only the self-signed root certificate does not
work either.

2.6.1 Examples on how to create SSL certificates


The following sections illustrate how to create SSL certificates by using Sybase tools to
request and authorize the certificates (these examples were done on a Windows server:
 Using certreq to request a certificate
 Using certauth to convert the certificate request to a CA self-signed certificate
(trusted root certificate)
 Using certreq to request a server certificate and private key
 Using certauth to convert the certificate request to a CA-signed server certificate
 Adding the root certificate to be trusted by the client

Using certreq to request a certificate


The following steps are necessary if you are not able to sign your certificate with an existing
or official Certificate Authority (CA):
set CERT_ROOT=c:\tmp\cert_input_root.properties
del %CERT_ROOT%

echo req_certtype=server >> %CERT_ROOT%


echo req_keytype=RSA >> %CERT_ROOT%
echo req_keylength=1024 >> %CERT_ROOT%
echo req_country=ch >> %CERT_ROOT%
echo req_state=vaud >> %CERT_ROOT%
echo req_locality=renens >> %CERT_ROOT%
echo req_organization=temenos >> %CERT_ROOT%
echo req_orgunit=lab >> %CERT_ROOT%
echo req_commonname=server root >> %CERT_ROOT%
REM you can choose the common name as you like

set CERT_ROOT_REQUEST=c:\tmp\root_req.txt
set ROOT_SERVER_PRIVATE_KEY=c:\tmp\root_privatekey.txt
set CERT_ROOT_PASSWORD=temenos
%SYBASE%\%SYBASE_OCS%\bin\certreq -F %CERT_ROOT% -R %CERT_ROOT_REQUEST% -K
%ROOT_SERVER_PRIVATE_KEY% -P %CERT_ROOT_PASSWORD%

Using certauth to convert the certificate request to a CA self-signed certificate (trusted root
certificate)
set ROOT_SELF_SIGNED=c:\tmp\root_self_signed.txt
set DURATION=3650
REM autosign

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 41


%SYBASE%\%SYBASE_OCS%\bin\certauth -r -C %CERT_ROOT_REQUEST% -Q %CERT_ROOT_REQUEST%
-K %ROOT_SERVER_PRIVATE_KEY% -P %CERT_ROOT_PASSWORD% -T %DURATION% -O
%ROOT_SELF_SIGNED%

copy % ROOT_SELF_SIGNED% + %SERVER_PRIVATE_KEY%


%SYBASE%\%SYBASE_ASE%\certificates\%ASE_NAME_IN_INTERFACE_FILE%.crt

Using certreq to request a server certificate and private key


set CERT_SERVER=c:\tmp\cert_input.properties
del %CERT_SERVER%
set ASE_NAME_IN_INTERFACE_FILE=LAUWINLAB1_157_16
echo req_certtype=server >> %CERT_SERVER%
echo req_keytype=RSA >> %CERT_SERVER%
echo req_keylength=1024 >> %CERT_SERVER%
echo req_country=ch >> %CERT_SERVER%
echo req_state=vaud >> %CERT_SERVER%
echo req_locality=renens >> %CERT_SERVER%
echo req_organization=temenos >> %CERT_SERVER%
echo req_orgunit=lab >> %CERT_SERVER%
echo req_commonname=%ASE_NAME_IN_INTERFACE_FILE% >> %CERT_SERVER%
rem The common name in the certificate should match the common name in the interfaces
file but it is also possible to use a Fully Qualified Domain Name (FQDN)
set CERT_SERVER_REQUEST=c:\tmp\server_req.txt
set SERVER_PRIVATE_KEY=c:\tmp\server_privatekey.txt
set SERVER_PASSWORD=tripleAplus
%SYBASE%\%SYBASE_OCS%\bin\certreq -F %CERT_SERVER% -R %CERT_SERVER_REQUEST% -K
%SERVER_PRIVATE_KEY% -P %SERVER_PASSWORD%

If the certificate has to be signed by an external certification authority, it is very likely that
the certificate must contain the Fully Qualified Domain Name (FQDN) as a CN (for example,
“myserver.intranet.mycompany.com” instead of simply the server name). In this case, the
corresponding entry in the interfaces must be defined as follows:

myserver
master tcp ether host_name port_number ssl="CN=myserver.intranet.mycompany.com"
query tcp ether host_name port_number ssl="CN=myserver.intranet.mycompany.com"

On the client side, the ini file must also specifiy the value of the CN the same way:
[myserver]

master=NLWNSCK,host_name,port_number,ssl="CN=myserver.intranet.mycompany.com"
query=NLWNSCK,host_name,port_number,ssl="CN=myserver.intranet.mycompany.com"

Using certauth to convert the certificate request to a CA-signed server certificate


set SERVER_CERTIFICATE=c:\tmp\sybase_server.crt

%SYBASE%\%SYBASE_OCS%\bin\certauth -C %ROOT_SELF_SIGNED% -Q %CERT_SERVER_REQUEST% -


K %ROOT_SERVER_PRIVATE_KEY% -P %CERT_ROOT_PASSWORD% -T %DURATION% -O
%SERVER_CERTIFICATE%
Append the private key text to the server certificate and store the certificate in
the server’s installation directory

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 42


copy %SERVER_CERTIFICATE% + %SERVER_PRIVATE_KEY%
%SYBASE%\%SYBASE_ASE%\certificates\%ASE_NAME_IN_INTERFACE_FILE%.crt
Add the Root certificate to be trusted by the server
copy %ROOT_SELF_SIGNED%
%SYBASE%\%SYBASE_ASE%\certificates\%ASE_NAME_IN_INTERFACE_FILE%.txt

Adding the root certificate to be trusted by the client


This must be done on the client side.
type %ROOT_SELF_SIGNED% >>" %SYBASE%\ini\trusted.txt"

On Unix, it is located in $SYBASE/config/trusted.txt.

2.7 Enabling SSL protocol between Triple'A Plus Web and database
Refer to the section about enabling SSL protocol between Triple'A Plus Web and database in
the Triple'A Plus Web Security Customisation Guide.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 43


3 Creating new users
You can create new Triple'A Plus Core users using one of the following:
 Batch mode from the UNIX command line
 Triple'A Plus Core GUI (graphical user interface)
With these methods, the following changes are made to the database:
 ASE creates a new login ID (user name and password) in the ASE master database.
 ASE adds users to the main Triple'A Plus Core databases.
 Triple'A Plus Core creates a user in the appl_user table.

ASE Master DB Main User Audit

Creating a new Triple'A Plus Core user

When you declare new users in ASE, they are automatically created in Triple'A Plus Core. You
can define your new users even if they do not have UNIX login IDs.
To define a new user:
1. Define the user's administrative data.
2. Assign the user to a financial server.
As far as user administration is concerned, Triple'A Plus Core users on an NT network are not
aware of the UNIX side.

3.1 Creating users on UNIX


You can create users on UNIX from the command line using the executable aaa and valid
parameters. Only Triple'A Plus Core Super Users have the necessary permissions for this
task. One of the parameters of aaa is an input file containing Triple'A Plus Core script
language instructions. aaa also takes as an optional parameter an output file that receives
execution messages. You must have the Sybase role "sso" (System Security Officer) to be
able to insert and update users.
To create a user from the UNIX command line:
1. Log on to the UNIX machine. You must have Triple'A Plus Core Super User rights.
2. Change to the directory containing the executable aaa
3. Enter the aaa command with the following syntax:
aaa imp -UUser -PPassword < INT.AUT.AUS.1.imp > output.file

replacing User and Password with your user name and password.
The import file in this example is called INT.AUT.AUS.1.imp and the results of the process
are sent to the results file output.file (as we called it in this example). The results file

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 44


indicates if the command was successfully executed or not and contains the error messages,
if there are any.
The file INT.AUT.AUS.1.imp contains the following lines:
SET QUOTE '
SET SEPARATOR ;
SET DECIMAL .
SET THOUSAND ,
SET DATAFORMAT DELIMITED
SET PREFIX DATA NONE
SET DATEFORMAT DD-MM-YYYY
SET AUTOMATIC dict_language ON

CMD INSUPD appl_user


ATT code language_dict_id.code security_admin_f user_password name
'GBT';'en';1;'gbtgbt';'Gilles Banchet'

This example creates a user. The ATT and DAT parameters can be seen more clearly in the
following table:

ATT code Language_dict_id.code security_admin_f user_password name

DAT 'GBT'; 'en'; 1; 'gbtgbt'; 'Gilles


Banchet';

Users cannot be deleted; they can only be disabled. A user that has been disabled still exists
in the database but can no longer access the application.

3.1.1 Assigning users to financial servers (UNIX)


Once you have created your users, you must assign them to a financial server. On UNIX, you
again use aaa imp.
To assign a user to a financial server from the UNIX command line:
1. Log on to the UNIX machine. You must have Triple'A Plus Core Super User rights.
2. Change to the directory containing the executable aaa
3. Enter the aaa command with the following syntax:
aaa imp -UUser -PPassword < client_connect.imp > output.file
replacing User and Password with your user name and password.
The import file in this example is called client_connect.imp and the results of the process
are sent to the results file output.file (as we called it in this example). The results file
indicates if the command was successfully executed or not and contains the error messages,
if there are any.
The file client_connect.imp contains the following lines:
SET QUOTE '
SET SEPARATOR ;
SET DECIMAL .
SET THOUSAND ,
SET DATAFORMAT DELIMITED
SET DATEFORMAT DD-MM-YYYY

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 45


SET AUTOMATIC server_connect ON
SET PREFIX DATA NONE

CMD INSERT client_connect


ATT user_code display_c server_id.server_name
GBT1;1;GBA_ALPHA_FIN1;

CMD DELETE client_connect


ATT user_code display_c server_id.server_name
GBT1;1;GBA_ALPHA_FIN1;

This example creates and then deletes a client connection with a financial server. This
assigns the user to the financial server GBA_ALPHA_FIN1. The delete code at the end is
included for demonstration purposes. Note that in this example the data lines are not
preceded with the prefix DAT. This is because we have used the Set command SET PREFIX
DATA NONE. The ATT and DAT parameters can be seen more clearly in the following table:

ATT user_code display_c server_id.server_name

DAT 'GBT1'; 1; GBA_ALPHA_FIN1;

The two scripts presented here can be concatenated by appending the second client
connection script to the create user script.

3.2 Creating users on Windows


Only Super Users are allowed to create users.
To create new users or edit existing ones:
1. From the GUI main menu, go to Administration > Security > User.
The Select User screen is displayed.
2. Click Create.
The Create User screen is displayed. The controls (fields and buttons) in the Create User
screen are as follows:

Control Purpose
Code Enter a code for the user.

Name Enter the user's name. The default is the same as the code. The code is
entered automatically if you enter nothing.

Denomination Optional field. You can enter a description of the user's job, for example.

Language Associates a language with the user. This is the language in which the user
interface will appear to the user, assuming localisation is implemented on
the system.

Function security profile Defines the user's access to Triple'A Plus Core functions.

Format profile Gives the user access to the formats in the chosen profile.

Report profile Gives the user access to the reporting templates in the profile.

Active Active users are allowed to connect to Triple'A Plus Core. The check box is
selected by default (i.e. the flag is set to Yes).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 46


Control Purpose
Validity Date Sets the date when the user password is deemed to expire. When you
create a new user, the Validity Date is set to the current system date. This
obliges users to choose a password the first time they log in.

GUI user Indicates if the user is allowed GUI access or batch access. The two access
types are mutually exclusive. GUI users are subject to Triple'A Plus Core
as well as to SYBASE security restrictions. Batch users are only subject to
Sybase security restrictions. The check box is selected by default (i.e. the
flag is set to Yes).

Maximum running GUI Sets the maximum number of GUI sessions that users can start
simultaneously. If you enter 0, the current system-wide parameter setting
applies to the current user.

Operating system User's name in current operating system.


username

Security Administrator flag Assigns the user Security Administrator rights. This means the user can
administrate users' accesses to the various secure tables (portfolio, third
party, strategy, strategy_link, etc.).
This type of user has exclusive rights to:
 Administrate the Data Security Profile table
 Associate a Data Security Profile to an occurrence in a secure
table
 Associate a set of Data Security Profiles to an invidual user

Super User flag Assigns the user Triple'A Plus Core Super User rights. Super Users can
access all the functions and occurrences in the Triple'A Plus Core tables.

Audit flag Audits the user's updates and deletes of tables, if auditing is implemented
at system level.

User password Once you click OK, a dialogue box opens to request your Security
Administrator login ID. On validation, a second dialogue box opens for you
to enter and confirm the new user's password:.

Data profile The Data Profile button at the bottom of the screen lets you assign Data
Security Profiles to your user.

3.2.1 Assigning users to financial servers (Windows)


After you have created a user (see section Creating new users), you must assign a financial
server to the user.
To assign a financial server to the user:
1. From the GUI main menu, go to Administration > Security > Client Connection.
The Select Client Connection screen is displayed.
2. Click Create.
The Create Client Connection screen is displayed.
3. Enter the name of the user in the User field. The Display field is optional and refers to the
workstation name. The Client Connection is then associated with the workstation and
not the user.
4. Enter the name of the financial server to which you want to allow the user to connect in
the Server field or click the Browse button (…) to browse for one in the Select Server
Connection screen.
5. Select the server that you want.
6. Click OK.
The Create Client Connection screen is displayed.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 47


7. Click OK.
The user is now assigned a financial server which will handle the business calculations
performed on the data in the database.

3.3 GUI user context persistence


The GUI user context is saved each time a user quits the GUI. The context is read when a
user runs the GUI. This is known as persistence. It means that when users start Triple'A Plus
Core again, they return to where they left off in their previous session. The information is
saved in the appl_user table in TAG formatted text.
The GUI context contains information on the window size, the different options selected (in
the Tools > Options menu), and the most recent selection criteria for each entity.

3.3.1 Saved information

3.3.1.1 Main window


Tag: [MAIN]

Parameter Description
origin=45,171 Top left corner co-ordinates of the main window

extension=1157,786 Width and height of the main window

maximize_f=0 1 if the window is maximized


0 if the window is minimised

Copy_with_totals_f=1 Value of the menu option Tools->Options->Copy To Clipboard


With Totals or Without Totals

Copy_formated_datas_f=0 Value of the menu option Tools->Options->Copy To Clipboard


Real data or Formatted Data

print_with_code_f=1 Value of the menu option Tools->Options->Print


Print with Code or Print with SqlName

after_save_mode=1 Value of menu option …/Save/


Create & Keep or Create & Clear or Create & Copy.

3.3.1.2 Financial function window


The tag for the Valuation function is [FCT:valo].

Parameter Description
origin=9,30 Top left corner co-ordinates of the window

extension=1257,757 Width and height of the window

maximize_f=0 1 if window is maximized


0 if window is minimized

view_domain_f=1 1 if domain is visible (menu View/Hide Domain)


0 else

view_toolbar_f=1 1 if toolbar is visible (menu View/Hide Toolbar)


0 else

view_adminbut_f=1 1 if the administration buttons (View, create, etc) are visible (menu View/Hide
Admin buttons). 0 else

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 48


3.3.1.3 Entities
Tag for entity currency: [ENT: currency].

Syntax Signification
use_screen_f=1 In edition screen value of option menu
Tools/Options/Use Screen/
Use Defined Screen or Use Default Screen
Only for super-user

full_search_f=1 Value of option menu …/Full Search/


Complete List & Limited list.

select_mode=6 Type of selection:


0: Standard, 1: List, 2: Quick Search
5: Pattern Select 6: Simple Search

select_nature_e=2 Selected nature

select_function=acc_hist Selected function (for format selection screen)

select_string=DEF Pattern select string

select_string_index=1 Index of the pattern select attribute.


1: code or 2: name (in general).

attributes=user_code=aaa - nature_e=1- All the defined criteria in simple search selection


mode.

select_quick_search_def=(user_code LIKE Quick search request


"aa")

list=code=123 Business key of the selected list

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 49


4 Manipulating formats
You can manipulate the data displayed in a format or display additional data using the
dynamic navigation or zoom facilities. This chapter describes how to obtain the additional
data.

4.1 Dynamic navigation


The term Dynamic Navigation refers to the features that let users switch between different
business functions or display details of a selected element by choosing an option from a
dynamic context menu. The advantage of this is that you do not need to return to the main
window when you require additional information.
Select either a single cell or a row of cells and click with the right mouse button. This
displays a pop-up context menu that allows access to the range of options specified below:
 View Details - select a cell from the format and right-click the mouse to display the
master details of the instrument in the selected cell.
 View Notepad - select a cell from the format and right-click the mouse to display all the
notepads linked to the instrument in the selected cell.
 Sort - select a column and sort column data on an ascending or (by double-clicking)
descending basis.
 Valuation - select a line from the format to produce a Valuation of the position at the
Initial Date specified in the domain.
 Operation History - select a line from the format and right-click the mouse to produce a
chronological list of all the operations related to the instrument in the date range
specified in the domain.
 Operation List - select a line from the format and right-click the mouse to produce a list
of all the operations related to the instrument in the date range specified in the domain.
You can then View, Copy, Modify or Delete an operation.
 Journal of Liquidities - select a line from the format and right-click the mouse to
produce a list of all the cash movements and forecasts related to the instrument in the
date range specified in the domain.
 Performance - select a line from the format and right-click the mouse to display the
profit and loss performance related to the instrument.
 Return Analysis - select a line from the format and right-click the mouse to display the
return related to the instrument for the period specified by the date range in the
domain.
 All Holdings - select the cell containing the code of the instrument from the format and
right-click the mouse to display a list of all the portfolios with a holding of the selected
instrument.
 Zoom - select a cell from the format and right-click the mouse to zoom in on additional
data related to the selected object.
The options that are actually displayed in the context menu depend on the current business
function.

4.2 Format toolbar


The figure below shows the menu and toolbar displayed at the top of each format screen.
The number of icons in the format toolbar can differ from one format profile to another,

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 50


depending on the number of screen formats specified in the profile. In the example below,
there are (from left to right):
 3 Detailed Lists
 5 Summary Lists
 5 Graphs
 2 Matrices

The three icons on the far right appear in all the format screens. They are:

Return to Domain

Fully refresh screen. This button updates the display to reflect changes made to the formats
and data since the screen was opened or last refreshed. It calls the financial server to
recalculate the data.

Refresh formats. This button updates the display to reflect changes made to the formats (but
not to the data) since the screen was launched or last refreshed.

The seven main menu options are the same for all the format profiles. These options and
suboptions are as follows:
 Document -
 Save
 Save As
 Page Setup
 Print
 Copy To Clipboard
 Close
Refer to Chapter 2 for more details.
 Domain -
 Edit - Modifies an existing parameter in the domain.
 Get Default - Applies the default domain to the current business function.
 Set As Default - Saves the last defined domain as the default domain.
 View -
 Extend
 Extend All
 Full Extend
 Full Extend All
 Collapse
 Collapse All
 Full Collapse
 Full Collapse All
Lets you extend or collapse the data display.
 Format - Displays a pop-up menu listing all the formats linked to the current business
function. The formats are listed by format type and name. Click the format you want.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 51


 Actions - Performs a function on a specific format cell. First click the cell or row of cells
and then select the Action option in the menu bar. The list of available actions depends
on the selected cell or row of cells and the context. The available Actions options are
the same as those available for dynamic navigation (see paragraph 4.1 above).
 Edit Format - Lets you View, Modify, Create or Delete:
 Profile Composition
 Domain
 Format
 Filter
 Break Criteria
 Element list
 Element
 Element Definition
 Element Cell Format
 Help – displays different levels of online help.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 52


5 Contextual menus
In most Triple'A Plus Core screens, contextual menus are available to you when you right-
click the mouse on an item, for example, a widget or field. Contextual menus contain
shortcuts to commands, administrative functionalities, and financial functions associated with
the selected item.

5.1 Financial function screens


The menu items present in financial function screens can be classified in the following
categories:
 Standard menu
 Order Management
 Case Management
 Buy/Sell shortcut

5.1.1 Standard menu


Refer to section Dynamic navigation.

5.1.2 Order Management functionalities


Most Order Management functionalities can be accessed via a contextual menu. These
functionalities are available depending on the:
 Function Security Profile
 Data Security Profile
 current financial function
The following is a list of possible Order Management actions:
 Reverse
 Update Draft
 Update Fields
 Order Grouping
 Order Grouping Index.
 Execution List
 Initiate Execution
 Detach Order
 Create Child Order
 Order Allocation
 Search Matching Order
 Initiate Order
For more information, refer to the Triple’A Plus Core Orders and Productivity Guide.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 53


5.1.3 Case Management
The following is a list of possible Case Management actions via a contextual menu:
 Edit Clarification
 View Clarification
 Create Clarification
For more information about the Case Management Component (CMC), refer to the Triple'A
Plus Core Orders and Productivity Guide.

5.1.4 Buy/Sell shortcut


This action allows you to create an order based on the currently selected extended_operation
or ext_strategy_element.
The shortcut is available on:
 extended_position format
 extended_strategy_element format (but only for the check strategy function)
Although it is possible to create orders based on extended_operation or
ext_strategy_element with initiate order (see the relevant chapter in the Triple’A Plus Core
Orders and Productivity Guide), it is recommended that you use the initiate order
functionality instead of this shortcut.
It is possible to suppress the Buy/Sell shortcut from the contextual menu. The presence of
the shortcut is conditioned by the value of the create flag of the current function security
profile composition. If the value of this flag is “Yes”, then the shortcut Buy/Sell is available.

5.2 Administration screen


On Triple'A Plus Core GUI administration screens, a contextual menu is displayed when you
right-click on most graphical widgets.
The list of menu items displayed will depend on, for example, the:
 datatype of the attribute liniked to the graphical widget.
 security (function security and data security).
 current screen.

5.2.1 Common menu items


Possible common menu items are:
 Default Value
Provides direct access to the default value script edition screen. This menu item is
available if a default value could be defined on the linked attribute.
 Filter
Provides direct access to the filter script edition screen. This menu item is available if a
filter can be defined on the linked attribute.
 Copy Text To Clipboard
Allows you to copy the text onto the clipboard.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 54


5.2.2 Menu items on foreign keys widgets
Possible menu items available on foreign keys widgets are:
 Edit Details or View Details
Availability depends on the user security.
 Create Fk
Available if the foreign key is empty and if the user has the access rights to create this
type of foreign key.
 Set NULL Fk
Allows you to set a foreign key attribute to NULL.
 Select Notepad
Only available for foreign keys on entities with notepad.
 Codification
Allows you to change the current codification used for an entity. This feature is
available from any administration screen as well as a financial function result screen.
For example, the following image shows a context menu in the Modify Portfolio screen:

And the following image shows a context menu with the Codification option in an Order Entry
screen:

5.2.3 URLs
Refer to section Possible actions on URL fields.

5.2.4 Particular cases with Windows 7 on French keyboards


On French keyboards, the A l t G r key does not work while using the Triple'A Core GUI on
Windows 7. This is a major problem while editing script.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 55


To solve this issue, the following menu items are available on the contextual menu, which
lets you insert the required characters. This menu is only available on Windows 7 and above:
 {
 }
 {}
 [
 ]
 []
 @
 #
Notes:
These menu items are available only if the graphical widget has keyboard focus. A simple
right-click does not provide keyboard focus. If keyboard focus is not available, apply the
following steps to use these menus items:
1. Perform a normal/left click in the graphical widget.
2. Move the cursor to the place where characters must be inserted.
3. Perform a contextual/right click in the graphical widget.
4. Select the corresponding menu item.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 56


6 Triple'A Plus Core script language
Lets you view, create, modify and delete the various elements that use script language.
These elements can be classified into four broad categories: Default Values, Input Controls,
Rules and Filters.
For more information, see the Triple’A Plus Core Script Language Reference Guide.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 57


7 Configuring printers and character sets

7.1 Configuring printers


Triple'A Plus Core infrastructure lets you configure the network printers that are available to
users. Once you have configured the printers, you can include them in printer profiles. You
can then associate the printer profiles with users. Users can then print to the printer
referenced in their printer profiles.

7.1.1 Printer (printer)


You must declare printers in the printer table.
To create a printer:
1. From the GUI main menu, go to Administration > Format > Printer.
The Select Printer screen is displayed.
2. Click Create.
The Create Printer screen is displayed.
An occurrence in this table has the following attributes:

Attribute Database Description


(Field in the screen) field
Id id Unique technical identifier

Cod code Unique business identifier

Print Mode print_mode_e PCL, PostScript or Text

Comment comment_t Free comment

Device device_c Reserved for PC-Network printers

Command command_t Reserved for UNIX printers

Apart from the unique technical identifier ID, the data entry fields in the Create Printer
screen correspond to the attributes table above. You can import the occurrences using the
native interface module.

7.1.2 Printer Profile (printer_profile)


A Printer Profile lets you group a set of printers and associate them with a user.
An occurrence in the Printer Profile table has the following attributes:

Occurrence Database field Description


Id id Unique technical identifier

Code code Unique business identifier

To create a printer profile:


1. From the GUI main menu, go to Administration > Security > Profiles > Printer Profile.
The Select Printer Profile screen is displayed.
2. Click Create.
The Create Printer Profile screen is displayed.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 58


3. Enter the code of the profile.
4. Click Save to save your information and to enable the Composition button, which gives
you access to the Select Printer Profile Composition screen (see section Printer Profile
composition (printer_prof_compo)).
Each Printer Profile has a logical attribute called the Printer Profile Composition
(printer_prof_compo).
You can import the occurrences using the native interface module.

7.1.3 Printer Profile composition (printer_prof_compo)


A printer profile composition for a particular printer profile defines the printers available in
that profile.
An occurrence in this table has the following characteristics:

Occurrence Database Description


field
Printer Profile printer_profile_id Parent printer profile of an occurrence.

Printer printer_id Reference to a printer belonging to a profile.

Display display_c Optional display. This information specifies the preferred printer for
a particular display.

These three fields form the primary key of the table.

7.1.4 Assigning Printer Profiles


After you have defined a Printer Profile (see section Printer Profile (printer_profile)), System
Administrators can assign it to a user. On the basis of this profile, the most appropriate
printers are proposed for each circumstance.
To assign a Printer Profile to a user:
1. From the GUI main menu, go to Administration > Security > User.
The Select User screen is displayed.
2. Select a user and click Modify.
The Modify User screen is displayed.
3. Complete the Printer Profile field with the name of a printer profile or click the Browse
button.
4. Click OK to validate the new printer profile.

7.1.5 Miscellaneous

7.1.5.1 Copy to clipboard


In the Administration and Financial functions, you can copy data to the clipboard. Go to
Document > Copy to Clipboard.

7.1.5.2 Printing financial functions


You can print the contents of the formats (detailed and summary lists, matrices, etc.).
Printing financial function screens includes features such as repeating fixed columns,
repeating list headers, page numbering, and full print of columns on one page.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 59


8 Audit trail functionality
Triple'A Plus Core includes three auditing methods: ASE Auditing, Triple'A Plus Core
Database Auditing and Subscription Auditing. The first two methods are supplied as standard
with the product. The first is the standard ASE auditing facility. The second method is the
auditing functionality of Triple'A Plus Core, which allows for a more detailed audit. These two
types of auditing are completely independent and can be used separately or together as
required. The third is part of the Triple'A Plus Core Gateway module that you can acquire
separately.
The Triple'A Plus Core audit trail functionality (Database Auditing) provides a record of users'
activity in Triple'A Plus Core. Depending on the level of auditing required, the activity
recorded can include:
 logins and disconnections
 use of privileged ASE system commands
 historical record of all changes to important Triple'A Plus Core data

8.1 Subscription Auditing


Subscription Auditing provides audit departments and system managers with information
about actions performed on entities in Triple'A Plus Core (e.g., creating new entities, deleting
or updating existing entities). The area covers operations data and static data such as data
that belongs to the Triple'A Plus Core referential (e.g., instruments, portfolios, prices,
currency exchange rates, etc.). You can choose which tables you want to audit.
The configuration is stored in aaa_install.cfg file. For each entity, one of the following
values for audit_e is given (the same configuration is used for the subscription's nature,
audit, and event):
 <NO_AUDIT>: means audit is possible but not active.
 <AUDIT>: means audit is possible and active.
 <NONE>: means audit is not possible on this entity.
You can also specify the attributes of the audited entities and fully customise the audit
reports.

8.1.1 Output
The output consists of one or more log files that record transactions per entity type. The log
files show both the initial and final statuses of the entity.
The log files also record the users who perform the actions and the timestamp of the actions.
The logs are either all grouped together in a single file or separated per entity type, entity
nature, as set up at system configuration time using DataStage TX data mapping destination
settings. This approach has the advantage of letting users decide on the destination support
as well as the destination format of the audit reports. That way, they can comply with
internal or external auditing rules. It is also possible to split or store the same output over
several supports using the procedures described later.
It is also possible to set up special reporting, enabling them to focus on certain types or
natures of entities, users or time intervals.
The Triple'A Plus Core auditing facilities are not meant to replace low level Adaptive Server
Enterprise (ASE) auditing that may still be considered necessary. As a reminder, ASE
auditing focuses on low-level Sybase actions and does not provide any information on
modified Triple'A Plus Core data.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 60


ASE 9 provides a number of standard auditing facilities that provide a summary of user
activity. These facilities are fully documented in the ASE documentation [SYBASE-CASUX]. A
brief description follows:
 All auditing data and tables are held in a separate database called sybsecurity. This
database must be installed using the Sybase sybinit installation procedure (either when
you create the ASE server or later).
 The sybsecurity database contains two special tables: sysauditoptions (containing the
global auditing choices) and sysaudits (containing the audit trail itself).
 A number of ASE system stored procedures are supplied to enable, modify and disable
the auditing process.
 The following activities can be audited:
 System logins and logouts
 ASE boots
 RPC connections (for example, to execute the Fusion process or a Triple'A Plus
Core report)
 Use of privileged ASE system commands
 Errors (fatal, non-fatal or both)
 Use of ASE and Triple'A Plus Core stored procedures
 Accesses to the ASE server and Triple'A Plus Core tables
 The following data can be recorded for an audited activity:
 Event type (login, logout, etc.)
 Success or failure of activity
 Server process id
 Audit date and time
 Sequence number (if activity causes several audit records)
 Server login name of user
 Database name
 Object accessed (table, view, procedure, trigger, etc.)
 Transaction id
 Description (textual information on the event type)
Note that only the execution of a stored procedure, along with the parameters passed to it
(for example, insert or delete a record), is audited and not the actual modification to the
table itself.
However, these facilities do not record the actual changes to Triple'A Plus Core data made by
system users but the transactions performed under the Sybase RDBMS administration. The
results therefore need much more processing to improve readability.
Consequently, Triple'A Plus Core provides auditing at three levels:
 ASE auditing
 Triple'A Plus Core security trail
 Triple'A Plus Core (data) auditing
It is advisable to identify your auditing needs correctly and only set up the audit processes
required. This applies only to the ASE audit (1) and Triple'A Plus Core data audit (3). The
security trail is not configurable as Triple'A Plus Core relies on its data to perform standard
security checks.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 61


8.1.2 Report and log files
The output log tracing per entity type includes:
 actions taken on different monitored entities
 action owners (who deleted/updated/created the entity)
 action timestamp (based on the database timestamp)
 entity's previous state
 entity's current (new) state
Depending on the circumstances, you can request report focusing on:
 Types of entities
 Entity natures
 Users
 Time intervals
You can generate the log files upon request or through scheduling (e.g. using normal UNIX
scheduling procedures to regenerate the reports and the audit data log automatically every
day). The reports can also be started by users or by an event occurring in the system.

8.2 Subscription API

8.2.1 Overview
Triple'A Plus Core Subscription Auditing uses the Subscription API. You can subscribe to
event classes and determine an action or a set of actions to be taken if a subscribed class
event occurs.
The Subscription process fills the audit table. A daemon monitors the table and produces one
or more audit logs.
The daemon is started as a regular UNIX process (like the import interface), scans the table
and processes the record set, depending on filter set of records that are passed to it as an
argument.
The routing and formatting performed by the process includes DataStage TX technology. You
can reuse references (such as maps and trees) in several Triple'A Plus Core areas.
You can use the default maps provided to build more site-specific maps. These maps are
based on criteria such as:
 Operation nature, type and subtype (audit on operations)
 Instrument nature, type, subtype (audit on instruments)
 User code or id (all types of audit)
These criteria are guidelines. The final choices you make depend on the type of site you are
running.
The Subscription API lets Triple'A Plus Core agents watch predefined event classes and send
a notification whenever an event of a subscribed class occurs. The events are logged into a
database table. This table is used as an event lookup table by the Subscribers. The Triple'A
Plus Core Gateway module translates messages to and from external applications. Audit
facilities are also included.
Events are defined into a table called Subscription (sometimes referred to as ST) that
describes all the subscription event classes to monitor. Data formats are converted into

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 62


strings containing the resolved foreign keys and codes of Triple'A Plus Core's internal
entities. Translation from Triple'A Plus Core internal data to delimited text format is based on
the Metadictionary. However, a script format can be used if the translation is to differ from a
strict Metadictionary format (using the format id column). Script formats are not
recommended due to the overhead induced.
Event classes are mainly based on Triple'A Plus Core natures, entities and functions. They
have a Begin Date (in most cases the creation date) and an End Date. The End Date makes
it possible to suspend the event. Scripts can be used to complete event selection (testing the
user id or operation status, etc.).
The Subscription table is optimised to allow processes to take modifications into the
account (except for the Import module, which does not use optimisation in the same way).
The ST is managed through the GUI (go to Administration > Subscription > Subscription from
the main menu bar). Only Super Users can access the ST screen.
Each time a Triple'A Plus Core user or function modifies the database using one of the DBA_
functions (DBA_Insert, DBA_Update, DBA_Delete, DBA_MultiAccess, etc.), the Subscription
table is checked to see if the event belongs to a subscribed class. If so, the event is inserted
into the Event table or the Audit table, depending on the nature of the event class. No
event is inserted in the case of rollbacks.
The Audit table contains data from the audited event and related information. GUI users can
view these tables.
A Triple'A Plus Core daemon processes events from classes that need processing. The
System Administrator is responsible for starting and stopping the daemon.
An audit facility keeps a trace of what is happening using the Subscription table. It works
the same way as standard event management except that the events are logged and stored
in a different table, the Audit table. System Administrators or Super Users are responsible
for maintaining and deleting records in this audit table.
If an event is to be audited AND processed by Triple'A Plus Core Gateway module using
DataStage TX, the event class must be declared twice in the Subscription table, once with
the subscription nature field set to Event, and again with the same field set to Audit.

8.3 Audit table


Triple'A Plus Core subscriptions use data that is already stored in the audit table.
Subscriptions were designed to route information from Triple'A Plus Core to external
systems, using an external routing engine. Users can subscribe and/or audit events. If the
conditions described in the subscription are satisfied, the event or audit data is routed to
special tables and stored in a fully resolved format.
In the case of audit subscriptions, data is stored in special audit tables. The records contain
entries for events in the subscription table with the nature audit.
The table below shows example entries in the subscription entity:
Date time

DataStage
Function

Created

TX Map
Module

Nature
Action
Entity

Entity

Data
Host

User

01/01/00 C:\MercMap\
W0311 AAA Op ExtOp Start GUI “….”
12:57:03 ExtOp.mms

01/01/00
W0849 GRD Dom Valo Delete GUI “……”
12:57:10

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 63


Date time

DataStage
Function

Created

TX Map
Module

Nature
Action
Entity

Entity

Data
Host

User
02/01/00
Test1 ABC Instr Insert AllDbAccess SRV “….”
01:00:00

02/01/00
W0849 AAA IMP “……”
10:01:01

The fields or columns in the entity are as follows:

Field Description
Host (mandatory) Host where the event was generated.

User (mandatory) User that created the event.

Entity (mandatory) Entity taken from the metadictionary. A list of metadictionary entities
allowed by the subscription is described in the Subscription section in the
Triple’A Plus Core Gateway Reference Guide.

Function (optional) Entity not taken from metadictionary. Can be any Triple'A Plus Core
function.

Action (mandatory) Insert, update, delete (current database accesses). Can be new kind of
actions (Start, Finish, etc.).

Module (mandatory) SRV, GUI, IMP.

Date created (mandatory) Date and time that the event was inserted.

DataStage TX map Path and file name of the map to use for sending registered events to
(optional) DataStage TX.

Entity nature (optional) User-defined entity. Useful for grouping entities under the same name
and processing. Lets GUI users monitor entity groups using this nature
as a filter.

Data (mandatory) Data sent with the event. This data is a translation of internal Triple'A
Plus Core data filtered through a format or taken straight from the
metadictionary.
All the business keys must be resolved before any insertion into this
table.
For audit purposes, data is composed of old and new versions of Triple'A
Plus Core internal data, with the external references (foreign keys)
resolved.

The record fields (but not the data field contents) can be used to access different maps that
route data to different log files or reports. The contents of the data field are used through
the map configuration and set the destination of the audit report, e.g.
 different logs or reports
 different presentation formats
The non-data fields are used to filter records from the audit table.

8.3.1 Financial server


The audit service is provided using the same procedures as for the import interface. The
separate audit binary file is accessed using the aaa script.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 64


8.3.1.1 aaa script updates
The aaa script called with the SERVICE name = AUDIT accesses the script aaa_audit. The
script does the following:
 Identifies the AAAHOME directory
 Sets some default values to Triple'A Plus Core variables
 Includes the $AAAHOME/aaaprofile, which sets the Triple'A Plus Core variables
 Exports those variables
 Determines the service to call (audit)
 Retrieves the password from the environment variable ARGPWD
 Executes this service
The command line is:
aaa AUDIT [-Sservername] [-Jcharset] -Uusername –Ppassword
When it is executed, it extracts data in accordance with the filter definition from the audit
table of the database indicated in the arguments.

8.3.1.2 aaa_audit script


When you run the command in the previous section, it starts a script called aaa_audit. This
script takes six arguments:

Argument Value
user_code [USER_CODE/ALL]

entity [entity_name_taken_from_metadictionary/ALL]

action_type [INSERT/UPDATE/DELETE/ALL]

module SRV/GUI/IMP/ALL]

begin_date [date/NULL] where NULL stands for no begin date

end_date [date/NULL] where NULL stands for no end date

The six arguments access fields that are stored in the header part of the audit record. The
date window enables users to generate reports for specific date periods. The default
begin_date is 00:00:00 and the default end_date is 23:59:59.
The other necessary parameters (SERVER, AAADB, etc.) are read from the environment.

8.3.1.3 aaa_audit process


The audit processor is similar to the event/subscription daemon. The difference is that the
subscription daemon runs as a daemon while aaa_audit processes the Audit table data as an
independent process. The former runs all the time until it is deliberately stopped and the
latter stops when it has finished its task. aaa_audit must be started by the Super User.
None of the data processed is deleted from the Audit table. The same data can be used for
different reports.
Data is processed in two steps:
1. Header data gathered (and formatted, if necessary). The relevant information from the
header (entity_dict_id, entity_nature_e) is translated.
2. Input record formatted for the DataStage TX map. Typically, this processing follows the
same rules as the handling of event notification by the subscription daemon. The audit
record:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 65


 Builds the first part of the input using the record's administrative data (user,
workstation, time, action type, entity – translated-, entity nature – translated-,
etc.)
 Is split by Triple'A Plus Core file identifiers and sorted using the same sort file as
for the event handler.
 Separates the NEW and OLD parts of the record into two semi-colon separated
records (that is, the semi-colon (;) is used as a field separator). The records follow
the same rules as the event separator. The NEW and OLD parts are distinguished
by a separator (the pipe character ‘|’) followed by the new line character.
 Runs the DataStage TX map corresponding to the entity_dict_id and generates the
output.
DataStage TX output is based on a Type Tree similar to the input type trees but with most of
the fields defined and managed as text fields. This makes it possible, for example, to display
the new and old contents of a Triple'A Plus Core data field on one line, or display only the
fields that have changed.

8.3.2 Parameterisation
DataStage TX Type Tree and DataStage TX Map Editor allow users to customise the system
to an important degree. For audited entities, Triple'A Plus Core is delivered with:
 Input Type Tree: header, NEW record structure, OLD record structure. The record
structure Type Trees are the same as those used for event subscription.
 Output Type Tree: structure based on the Triple'A Plus Core event subscription type
trees. Most if not all the fields are text fields. Only modified fields are displayed.
 Map: the OLD and NEW values of the Triple'A Plus Core field are displayed, text
formatting functions allow the data to be displayed more clearly (e.g. field identifier,
OLD value, NEW value).
A number of default Maps and Type Trees are supplied as standard: Extended operation and
instrument, portfolio and currency static data. These are a subset of the audited entities. The
complete list is:

Address curr_chrono

Currency denomination

Deposit exchange_event

Exch_rate ext_operation

Geographic income_event

Instr_chrono instr_compo

Instr_price instrument

Interest_cond iss_redm_event

Manager port_chrono

Portfolio rating

Rating_attrib sector

Sector_attrib synonym

Term_event third_party

Type

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 66


8.3.2.1 Extended operation output definition

Create
Action: Create

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Code: <operation_code>

Portfolio: <portfolio_code>

Instrument: <instrument_code>

All the other fields of the extended operation are only retrieved if not NULL. Fields are
alphabetically sorted by sqlname. All the fields displayed are preceded by their names.

Delete
Action: Delete

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Code: <operation_code>

Portfolio: <portfolio_code>

Instrument: <instrument_code>

All the other fields of the extended operation are only retrieved if not NULL. Fields are
alphabetically sorted by sqlname. All the fields displayed are preceded by their names.

Update
Action: Update

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Code: <operation_code>

Portfolio: <portfolio_code>

Instrument: <instrument_code>

All the other fields of the extended operation are only retrieved if not NULL. Fields are
alphabetically sorted by sqlname. All the fields displayed are preceded by their names.
The filter displays all the fields whose NEW and OLD values are different.

8.3.2.2 Static data - Instrument output definition

Create
Action: Create

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 67


Instrument: <instrument_code>

All the other fields of the instrument are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

Delete
Action: Delete

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Instrument: <instrument_code>

All the other fields of the instrument are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

Update
Action: Update

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Instrument: <instrument_code>

All the other fields of the instrument are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.
The filter displays all the fields whose NEW and OLD values are different.

8.3.2.3 Static data - Currency output definition

Create
Action: Create

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Currency: <currency_code>

All the other fields of the currency are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

Delete
Action: Delete

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Currency: <currency_code>

All the other fields of the currency are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 68


Update
Action: Update

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Currency: <currency_code>

All the other fields of the currency are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.
The filter displays all the fields whose NEW and OLD values are different.

8.3.2.4 Static data - Portfolio output definition

Create
Action: Create

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Portfolio: <portfolio_code>

All the other fields of the portfolio are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

Delete
Action: Delete

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Portfolio: <portfolio_code>

All the other fields of the portfolio are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.

Update
Action: Update

Entity nature: <entity_nature>

User: <user_code>

Date: <time_stamp>

Portfolio: <portfolio_code>

All the other fields of the portfolio are only retrieved if not NULL. Fields are alphabetically
sorted by sqlname. All the fields displayed are preceded by their names.
The filter displays all the fields whose NEW and OLD values are different.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 69


8.3.3 Report examples

8.3.3.1 Income operation – Create

Report example: Income operation – Create

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 70


8.3.3.2 Update Buy operation

Report example: Update Buy operation

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 71


8.3.3.3 Delete portfolio

Report example: Delete portfolio

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 72


9 Configuring the Triple'A Plus Core servers

9.1 Technical specifications


There is theoretically no limit to the number of fusions that can run at a given time on one
server. You can configure multiple fusion servers and control them simultaneously.
Portfolio lists are handled and treated in a special way. Each list is given a unique number
that is referenced in the server.log file in the form ‘Request []’. So, all portfolios that
belong to the same list can be visually checked.
The location of the Dispatch Server is defined dynamically.
Fusions with scope New have higher priority. This means that these fusions are processed
before those with scope All. There is also an "Intelligent" dispatching behaviour for transfer
operations, big portfolios, and powerful servers:
 Only one large portfolio is processed at a given time on a server.
 All fusions are blocked until the one that involves a transfer operation is finished (to
avoid locks, etc.).
An administrative tool is available for monitoring the behaviour of the dispatch server
(disp_load).

9.1.1 Configuration
The server_connect table handles all the necessary information and there is no need to
hard-code the Dispatch Server location in a stored procedure.

9.1.1.1 Declaring a Dispatch Server


1. In the GUI Client, go to Administration > Security > Server Connection.
The Select Sever Connection screen is displayed. In this screen, the Dispatch Server
column shows which server is acting as the dispatcher. Only one must be selected.
2. Select the server, then click Modify.
The Modify Server Connection screen is displayed.
3. Select the Dispatch Server check box to define the server as a Dispatch Server.
Notes:
 You must restart the selected server to make the change effective. You do not have to
restart the fusion servers. The dispatching process is dynamic.
 When you change the dispatch server, be sure to set the current dispatch server to ‘No’
before you set the new one to ‘Yes’.

9.1.1.2 Declaring Fusion Servers


Using the same method as described above, select the Fusion Servers you want. Put ‘Yes’ in
the Fusion Server column. There is no limit to the number of Fusion Servers or the number
of fusions a Fusion Server can run at a given time.
Note: A high value in Max No. Fusion does not mean that the Server fusions a great number
of portfolios faster. Splitting fusions between servers is far more efficient.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 73


9.1.1.3 Administrative tool
You can use the stored procedure called disp_load to retrieve information on the fusion
processes. A file called fifo containing the relevant details is created in the /tmp directory.

9.1.1.4 Using disp_load


There is no menu option in the GUI Client to call this procedure. The only way to call it is to
use one of the administrative tools provided by Sybase.
You can use either dwb (Data Workbench) or isql.
The command is: exec DispatchServerName...disp_load
where DispatchServerName is the name of the Dispatch Server.

Each fusion process is represented by a single line. The information displayed is as follows:
 Date chained
 Portfolio Id
 Scope
 Server Id
 Request Id. A non 0 value indicates the list the fusion belongs to. A value of 0 means
this fusion does not belong to a list.
 Fusion Sts gives the status: Running means the fusion is being processed. Waiting
means the fusion is going to be processed as soon as possible.
 Fusion date

9.1.1.5 Recommendations
Benchmark tests show that it is inefficient to allow more than 20 fusions to be processed at a
given time on one server. It is better to split fusions between several Fusion Servers if there
are a lot of them. For example, if you have to fusion 40 portfolios at the same time, 2
servers set to 20 are faster than 1 set to 40.
On sites with a huge number of fusions to process, configure several Fusion Servers to each
run 20 to 30 fusions.
It is a good idea to configure a dedicated stand-alone Dispatch Server. It is also a good idea
to have more than one Fusion Server to improve reliability.
You can monitor the fusion process by reading the server.log file.

9.2 Configuring memory cache for Triple’A Plus Core Financial


Servers

9.2.1 Cache optimisation concepts


In the Triple'A Plus Core server architecture, memory cache sizes are fully configurable for a
large subset of procedures.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 74


9.2.1.1 Static cache management
Queries read the records from a memory cache, where they were stored at the first
procedure call:
 First query: read database, store query, query parameters and results in the cache and
return the records
 Following queries:
 If the query is the same as the previously executed query, return the same
records from cache
 If the query is not the same, read the database, store the new query parameters
and results in the cache and return the records
The memory cache is used by the following processes:
 SQL Server
 Financial Server
 Internal procedures
The memory cache is composed of two parts:
 Global cache: used globally at server level
 Local cache: used locally by a specific process (i.e. financial computation)
The diagram below shows the search path of a query issued by any process trying to retrieve
its data:

Financial Server

Pathway:
 First query issue (by one of the threads pictured above):
 The query looks for its data in the local cache, but does not find it
 The query looks for its data in the global cache, but does not find it
 The query is executed in the database and retrieves its records
 The query, its parameters and related data are stored in the global cache
 The same information is copied into the local cache
 The next query issued in the same thread is identical (same parameters):

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 75


 The query looks for its data in the local cache and finds it
 The local cache is freed at the end of the current thread – the global cache stays
unchanged
 Next identical query issues (same parameters) new thread:
 The query looks after its data into local cache, but does not find it
 The query looks after its data into global cache and finds it
 The query, its parameters and related data are copied into local cache
The data is refreshed once its validity is over. In other words, when the records in the
database are updated, the copies in memory are no longer an accurate reflection and the
cache is no longer valid.
The memory cache related to the entity (instrument, portfolio, etc.) whose table was
updated must be purged. All queries and records are flushed out and the cache is reset so it
can again store new records from database queries.
There is a special watch mechanism that allows the function that retrieves the data from the
cache to know if the physical table in the related entity was updated. As tables are updated
in the database, the names of the entities to which they belong are recorded in a database
table called table_modif_stat, constituting a watch list.
When the content of one of these tables is modified, a timestamp is set in
table_modif_stat to alert any read query that the memory image is obsolete and must be
replaced.
Please note that the cache purge only applies to the global cache, as the local cache is not
accessible to all the processes running on the Triple'A Plus Core Server.
A “cache full” event can arise if the specified maximum size (number of different queries) for
a particular entity is reached since there is no room left to insert more data. To overcome
this situation, another mechanism discards the oldest and least used queries (up to 20% of
total) by gradually replacing them with newly read data.

9.2.1.2 Dynamic cache size configuration


The scope of this improvement was restricted to SQL Server procedures to include all the
data returned by database accesses.
The following sections describe the configuring, purging, and monitoring of the memory
cache sizes for these procedures.

9.2.2 Overview
New features were developed to make the memory cache size of Triple'A Plus Core servers
dynamic. Memory cache profiles can be built to be used by a group of servers or by a sole
server that would need specific optimisation considering its role (fusion, dispatch, financial,
report).
Servers or group of servers can now be fine-tuned to allow the configuration, purging, and
monitoring of their memory usage. A new toolkit is provided to this effect. For any optimised
SQL procedure, you can now:
 Define the number of different queries that can be stored in the local and global
memory caches for a specific entity
 Monitor the global memory cache at any time
 Purge the global memory cache at any time

9.2.2.1 Configuration
 To benefit from these new features, a server must be linked to a specific Optimisation
Profile.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 76


 A server without this relationship keeps its standard configuration (see section System
defaults).
 The same profile can be used by a group of servers for any custom configuration (fusion
server(s), report server(s), etc.).
 New database tables were created to hold these custom configurations.
 An Optimisation Profile points to a a set of optimised procedure configurations (local
and global cache sizes).
 These configurations can be managed from the Triple'A Plus Core GUI.

9.2.2.2 Monitoring
 New Remote Procedure Calls (RPCs) and Sybase stored procedures were created to
monitor global memory cache at any time on any running server
 Monitoring tools can act on one or a group of servers, on any specific set of cached
data:
 A single procedure
 A group of procedure caching any entity requests (portfolio, instrument price, etc.)
 All entities (same as all procedures)

9.2.2.3 Purge
 New RPCs were created to purge the global memory cache at any time on any running
server
 Purge tools can be used on any specific set of cached data:
 A single procedure
 A group of procedure caching any entity (portfolio, instrument price, etc.)
 All entities (same as all procedures)

9.2.3 Optimised procedures data model

9.2.3.1 Optimisation profiles

Attribute Description
opti_profile_id reference to an optimisation profile (can be null for standard configurations)

New attribute in table server_connect

Attribute Description
id profile referenced in server_connect

code name of the profile

denom detailed description and/or comments

Table opti_profile

Attribute Description
id composition’s own reference

opti_profile_id reference of this composition to its profile

procedure_id reference to an optimized procedure

global_alloc_bloc_b number of requests allocated by bloc in global cache

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 77


Attribute Description
global_max_alloc_bloc_n maximum number of allocated requests in global cache

local_alloc_bloc_n number of queries allocated by block in local cache

local_max_alloc_bloc_n maximum number of allocated requests in local cache

remark remark on this specific optimised procedure within this profile

Table opti_profil_compo

Attribute Description
id optimised procedure’s own reference

sqlname_c SQL Sybase name of this stored procedure

entity_dict_id entity identifier in Triple'A Plus Core meta-dictionary

Table opti_proc

9.2.4 Configuration

9.2.4.1 Starting a server


If an optimisation profile is set in the server_connect table when a Triple'A Plus Core server
is started, the optimisation profile composition is read from the database. The settings in the
profile composition override the procedure's standard settings.
If no optimisation profile is referenced for the starting server, the standard settings are kept,
using the values that were used in previous Triple'A Plus Core releases.

9.2.4.2 Running a server


If the optimisation profile composition is updated while the server is running, it provokes the
automatic reload of its optimisation settings (using the table_modif_stat table which alerts
the server that its optimisation configuration has to be refreshed).
The global settings are updated immediately but local settings modifications require the
server to be restarted.

9.2.4.3 Interactive optimisation management


The tables containing the optimisation profiles and their composition are accessible for
creation, updating, and deletion from the Triple'A Plus Core GUI.
1. To edit optimisation profiles (create, update, delete), go to Administration > Security >
Profile > Opti Profile from the GUI main menu.
The Find Select Opti Profile screen is displayed.
2. Click Create.
The Create Opti Profile screen is displayed.
3. Fill in the Code and Denomination of the new opti profile and click Save.
4. In the Select Opti Profile Compo, the Opti Profile Compo button is enabled and you can
edit its composition.
5. To create an entry in the composition, select the procedure for which you want a
specific configuration and set the values you want to update as shown below:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 78


Keep in mind that an empty field does not set the value to zero. The value of the item
keeps its standard setting as it is considered as NULL.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 79


6. When you have finished creating your profile composition, link it to the appropriate
server (thus enabling the compostion on that server):

9.2.4.4 Recommendations
Note that cache size values are calculated from the number of different queries that can be
stored in the cache (together with their parameters and associated records), and not as
memory size.
In particular, pay attention to computer memory when manually configuring cache sizes. The
number of queries you can set in these screens is defined by long integer variables that allow
huge amounts of memory to be allocated as the application fills up the Triple'A Plus Core
server cache.
To fine-tune your own server configurations, it is recommended that you use the purpose-
built statistical tools described in the next section. In the same context, a complete listing of
default settings is supplied at the end of this chapter in section System defaults. These
settings are automatically applied to memory cache sizes when no optimisation profile is
defined for the started server.
It is recommended to undertake some statistical benchmarking before actually modifying the
cache settings, based on the way the server you want to configure will be used (reporting,
financial functions with various parameters, etc.)
The benchmarks will help you fine-tune the servers for your specific needs.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 80


9.2.5 Purge
Besides the normal purge that automatically occurs when the data is obsolete, you can free
the cache content related to all SQL procedures, to procedures linked to any entity or to a
specific procedure.
A cache purge (automatic or interactive) applies only to the global cache, incrementing the
number of purges. A new date and purge time is then stored for statistical purposes.
To achieve this aim, two RPCs are used, as described in the following sections.

9.2.5.1 Purge by procedure

Name of RPC opti_purge_by_pcd

Parameter proc_name: the name of the SQL procedure (mandatory)

Usage opti_purge_by_pcd ”name_of_the_procedure”

Example opti_purge_by_pcd ”get_all_portfolio_by_id”

9.2.5.2 Purge by entity

Name of RPC opti_purge_by_ent

Parameter entity_name: filters procedures linked to the entity (optional)

Usage opti_purge_by_ent ”name_of_the_entity”

Example opti_purge_by_ent ”portfolio” (all procedures for portfolio)


opti_purge_by_ent ”” (all procedures for all entities)

9.2.6 Monitoring
You can monitor the cache content related to all SQL procedures, procedures linked to an
entity or a specific procedure.
To do this, two RPCs can be used, as described below.

9.2.6.1 Check by procedure

Name of RPC opti_check_by_pcd

Parameter proc_name: the name of the SQL procedure (mandatory)

Usage opti_check_by_pcd ”name_of_the_procedure”

Example opti_check_by_pcd ”get_all_portfolio_by_id”

9.2.6.2 Check by entity

Name of RPC opti_check_by_ent

Parameter entity_name: filters procedures linked to the entity (optional)


detail_e: filters all or only active procedures (optional)
0: only displays procedures already used in the cache
1: displays all procedures (used or not yet populated)
The default is 1 (all procedures).

Usage opti_check_by_ent ”name_of_the_entity”,”detail_filter”

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 81


Example opti_check_by_ent ”portfolio”,0 (active procs on portfolio)
opti_check_by_ent ”portfolio”,1 (all procs on portfolio)
opti_check_by_ent ”portfolio” (all procs on portfolio)
opti_check_by_ent ””,NULL (all procedures, all entities)
opti_check_by_ent (all procedures, all entities)

9.2.6.3 Stored procedures


The RPCs described above can be called from a direct connection on a Triple'A Plus Core
server or through the database by calling two stored procedures:
check_srv_opti_by_pcd ”server_name”,”procedure_name”
check_srv_opti_by_ent ”server_name”,”entity_name”,”detail_filter”
These procedures take the name of a server as the first input parameter (optional).
If the server’s name is omitted, the stored procedure will run the specified RPC on all the
active Triple'A Plus Core servers.
The other parameters are the same as the ones used in the RPC version.

Usage check_srv_opti_by_pcd ”server_name”,”proc_name”


check_srv_opti_by_ent ”server_name”,”entity_name”,filter

Example check_srv_opti_by_pcd ”AAASERVVERSION”,”get_all_portfolio_by_id”


check_srv_opti_by_pcd null,”get_all_portfolio_by_id” (same proc on all servers)
check_srv_opti_by_ent null,”portfolio”,0
check_srv_opti_by_ent null, null (all servers, procedures and entities)

The output data produced by these procedure calls is shown below (statistics are given for
the global memory cache only):

server_name name of current server

proc_name name of optimized procedure

entity_name name of entity

alloc_bloc_n size of one block of queries to allocate in cache

max_alloc_bloc_n maximum size cache (number of queries)

request_n number of queries already in cache

free_req_n number of free slots for more different queries

used_pct percentage of used cache

free_pct percentage of unallocated cache

tot_read_n number of query read accesses

read_hits_n number of successful query accesses

read_hits_pct percentage of read success

read_miss_n number of failed query access

read_miss_pct percentage of read failures

cache_full_n number of inserts during cache full state

purge_n number of purges since server start

last_purge_d date and time of last cache purge

usedmem_n memory size used by records of all requests (in KB)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 82


Output sample from check_srv_opti_by_ent "AAASERVVERSION","portfolio",”1”
(some decimals are truncated for display purposes)

read_miss_pc
read_hits_pct
max_alloc_bl

last_purge_d
server_name

read_miss_n

cache_full_n
entity_name

alloc_bloc_n

read_hits_n

zsedmem_n
proc_name

tot_read_n
free_req_n
request_n

used_pct

free_pct

purge_n
oc_n

t
AAASERVVERSION get_exd_ins instrument 0 500 0 500 0.0 100.0 0 0 0.0 0 0.0 0 0 Dec 31 9999 0
trument_by 12:00 AM
_cd

AAASERVVERSION get_exd_ins instrument 200 2000 2 1998 .10 99.90 15 12 80.0 3 20.0 0 1 May 15 8
trument_by 2006 3:45
_id PM

AAASERVVERSION get_exd_ins instrument 40 80 1 79 1.25 98.75 7 6 85.714 1 14.285 0 1 May 15 2


trument_by 2006 3:45
_rcurr PM

AAASERVVERSION get_exd_ins instrument 0 200 0 200 0.0 100.0 0 0 0.0 0 0.0 0 0 Dec 31 9999 0
trument_opt 12:00 AM
_exo

AAASERVVERSION get_exd_ins instrument 0 80 0 80 0.0 100.0 0 0 0.0 0 0.0 0 0 Dec 31 9999 0


trument_rcu 12:00 AM
rr_dflt

AAASERVVERSION get_sh_instr instrument 0 200 0 200 0.0 100.0 0 0 0.0 0 0.0 0 0 Dec 31 9999 0
ument_by_c 12:00 AM
d_cid

AAASERVVERSION get_sh_instr instrument 50 200 5 195 2.5 97.5 24 18 75.0 6 25.0 0 1 May 15 4
ument_by_c 2006 3:45
id PM

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 83


9.2.6.4 Tools
The stored procedures described above use SQL code to extract the names of all the running
Triple'A Plus Core servers. The names are passed to each RPC if this parameter is omitted
(when the stored procedure must be run on all servers).
This code is available as a stand-alone stored procedure which outputs the names of all the
running servers:
sel_running_server
Output example:

server_name
AAASERV1543

AAASERVVERSION

AAASERVVERSION2

Another interesting stored procedure is available as a tool to extract/filter server names


based on a series of criteria, such as server type or optimisation profile. It can be used in
custom scripts to monitor cache activity in a subset of servers:
sel_sh_server_connect
Output example:

max_connect_n

opti_profile_cd
opti_profile_id
server_name

database_c

financial_f

dispatch_f

status_e
report_f
fusion_f
id

32518 AAASERV1542 main_version 0 1 0 1 20 1 NULL NULL

36017 AAASERV1542B main_version 0 1 0 0 20 1 NULL NULL

32514 AAASERV1543B main_version 0 1 0 0 100 1 NULL NULL

32515 AAASERV1544 main_version 0 1 0 0 50 1 2 CHU_FIN_


OPTI_PROF

32516 AAASERV1544B main_version 0 1 0 0 50 2 NULL NULL

33512 AAASERV1545 main_version 0 1 0 0 10 2 NULL NULL

33513 AAASERV1545B main_version 0 1 0 0 50 2 NULL NULL

9.2.7 System defaults


The following table shows the complete default settings for all optimised SQL procedures that
are not part of a specific profile. This list comes from a C source file because there is no tool
to produce it dynamically. An appropriate tool will be made available in the future.
The table is alphabetically sorted first by entity, then by procedure.

Procedure Entity Global Max Local Max


Blocs Global Blocs Local
Blocs Blocs
get_sh_acc_period_by_id acc_period 100 500 100 500

get_all_appl_msg_text_by_cd_nt appl_msg_text 50 300 50 300

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 84


Procedure Entity Global Max Local Max
Blocs Global Blocs Local
Blocs Blocs
get_all_appl_param_by_cd appl_param 20 500 20 500

get_all_appl_rule_by_id appl_rule 10 100 10 100

get_sh_appl_rule_by_cd appl_rule 10 200 10 200

chk_tasc_tech_user appl_user 100 2000 10 50

get_all_appl_user_by_cd appl_user 5 10 5 10

get_all_appl_user_by_id appl_user 5 10 5 10

get_sh_appl_user_by_cd appl_user 5 10 5 10

get_sh_appl_user_by_id appl_user 5 10 5 10

get_all_bal_pos_type_by_cd balance_pos_type 20 40 20 40

get_all_bal_pos_type_by_id balance_pos_type 50 50 50 50

get_all_bal_pos_type_by_uk balance_pos_type 20 40 20 40

get_sh_bal_pos_type_by_cd balance_pos_type 20 40 20 40

get_sh_bal_pos_type_by_id balance_pos_type 20 40 20 40

sel_all_bal_pos_type balance_pos_type 2 4 2 4

get_all_calendar_by_cd calendar 10 100 10 100

get_all_calendar_by_id calendar 50 200 50 200

get_sh_calendar_by_cd calendar 5 50 5 50

sel_all_cal_conv_by_cid_nat calendar_conv 50 200 50 200

sel_sh_calendar_conv_by_cid calendar_conv 50 200 50 200

sel_sh_calendar_date_by_cid calendar_date 50 200 50 200

sel_sh_calendar_date_by_nat calendar_date 5 50 5 50

sel_exd_classif_compo_by_cfid classif_compo 50 300 50 300

get_all_classification_by_id classification 50 300 50 300

get_sh_classification_by_cd classification 50 300 50 300

get_sh_classification_by_id classification 50 300 50 300

sel_all_compl_chrono_by_id_dim compliance_chrono 0 0 20 100

get_sh_currency_by_cd_cid currency 20 200 20 200

get_sh_currency_by_cid currency 20 200 20 200

sel_all_currency_by_conv_d currency 1 1 1 1

get_all_data_prof_compo_by_bk data_prof_compo 100 2000 100 1000

get_all_data_secu_prof_by_id data_secu_prof 500 10000 500 5000

get_sh_data_secu_prof_by_cd data_secu_prof 100 2000 100 2000

get_sh_data_secu_prof_by_id data_secu_prof 100 2000 100 2000

get_all_denom_by_id denomination 500 5000 500 5000

get_all_deposit_by_id deposit 20 100 20 100

get_all_dict_entity_by_did dict_entity 10 100 10 100

get_sh_dict_entity_by_did dict_entity 50 200 50 200

get_all_dict_function_by_id dict_function 5 50 5 50

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 85


Procedure Entity Global Max Local Max
Blocs Global Blocs Local
Blocs Blocs
get_sh_dict_function_by_did dict_function 50 200 50 200

get_all_dict_label_by_perm_val dict_label 100 1500 100 1500

get_all_dict_lang_by_id dict_language 50 50 50 50

get_sh_dict_lang_by_cd_cid dict_language 10 50 10 50

get_sh_dict_lang_by_cid dict_language 10 50 10 50

sel_all_dict_panel_by_sid dict_panel 10 50 10 50

get_all_domain_by_id domain 0 0 20 200

get_all_event_sched_last_dt event_scheduler 0 0 10 200

get_all_exch_format_by_cid exch_format 20 200 20 200

get_best_exch_rate_by_id exch_rate 80 800 40 400

sel_all_exch_rate_by_cid_dt exch_rate 50 5000 100 10000

sel_all_exch_event_by_id_dt exchange_event 50 300 50 300

get_all_format_by_id format 50 200 50 200

get_sh_format_by_cd format 50 200 50 200

get_all_ft_convention_by_cd ft_convention 5 50 5 50

get_all_ft_convention_by_id ft_convention 10 50 10 50

sel_all_ft_rate_by_tcid_dt ft_rate 100 500 100 500

get_all_func_secu_prof_by_id func_secu_prof 50 200 50 200

get_all_fund_val_elem_by_pid fund_val_element 5 20 5 20

get_latest_fund_weight_by_iid fund_weight 20 200 20 200

get_all_geographic_by_cd geographic 20 200 20 200

get_all_geographic_by_id geographic 100 500 100 500

get_sh_geographic_by_cid geographic 10 200 10 200

get_all_grid_by_id grid 20 100 20 100

get_all_grid_by_msid grid 20 100 20 100

get_sh_grid_by_cd grid 20 100 20 100

get_all_income_event_by_iid_dt income_event 50 2000 20 1000

sel_all_income_event_by_id_dt income_event 50 300 50 300

get_all_instr_chrono_by_id_dim instr_chrono 100 2000 100 2000

sel_all_instr_chrono_by_dt_nat instr_chrono 200 2000 100 1000

sel_all_instr_compo_by_id_dt instr_compo 50 300 50 300

sel_all_instr_compo_by_pid_dt instr_compo 10 50 0 0

sel_all_instr_price_by_iid_dt instr_price 50 5000 100 10000

get_exd_instrument_by_cd instrument 100 500 100 400

get_exd_instrument_by_id instrument 200 2000 200 2000

get_exd_instrument_by_rcurr instrument 40 80 40 80

get_exd_instrument_opt_exo instrument 10 200 10 200

get_exd_instrument_rcurr_dflt instrument 40 80 40 80

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 86


Procedure Entity Global Max Local Max
Blocs Global Blocs Local
Blocs Blocs
get_sh_instrument_by_cd_cid instrument 200 2000 100 1000

get_sh_instrument_by_cid instrument 200 2000 100 1000

sel_all_interest_cond_by_dt interest_cond 100 1000 100 1000

sel_all_interest_cond_by_id_dt interest_cond 100 1000 100 1000

sel_all_iss_redm_event_by_iddt iss_redm_event 50 300 50 300

get_all_list_by_id list 50 200 50 200

get_id_list_by_clid_oid list 100 2000 100 2000

get_sh_list_by_cd_did list 50 200 50 200

get_sh_list_by_id list 50 200 50 200

sel_sh_list_by_did_nat list 10 100 10 100

get_all_list_compo_by_id list_compo 0 0 100 300

get_id_list_by_oid_dt list_compo 100 1000 100 300

get_id_list_hist_by_lid list_compo 100 1000 100 300

get_all_manager_by_cd manager 50 100 50 100

get_all_manager_by_id manager 50 100 50 100

get_sh_manager_by_cd_cid manager 10 200 10 200

get_sh_manager_by_cid manager 10 200 10 200

get_all_map_by_id map 10 100 10 100

get_all_market_segment_by_id market_segment 100 500 100 500

get_sh_market_segment_by_id market_segment 100 500 100 500

get_sh_market_segment_by_lid market_segment 100 200 100 200

sel_all_market_segment_by_gid market_segment 0 0 100 200

sel_sh_market_segment_by_gid market_segment 0 0 100 200

sel_sh_market_segment_by_gid_2 market_segment 0 0 100 200

sel_sh_market_segment_by_mksid market_segment 0 0 100 200

get_all_market_structure_by_id market_structure 50 200 50 200

sel_all_mkt_struct_by_ref_grid market_structure 10 100 10 100

sel_all_mkt_str_sub_by_ref_g market_structure_subset 50 200 50 200

get_last_notepad_by_did_oid_dt notepad 50 100 10 20

get_all_operation_by_id operation 0 0 500 2000

sel_sh_pay_instruction_by_pid pay_instruction 50 300 50 300

sel_all_perf_analysis_param perf_analysis_param 2 2 2 2

get_all_port_pos_set_by_id port_pos_set 100 400 100 400

sel_all_port_pos_set_by_pid port_pos_set 50 200 50 200

get_all_port_synthetic_by_dim port_synthetic 0 0 100 500

get_all_portfolio_by_cd_cid portfolio 100 2000 50 1000

get_all_portfolio_by_id portfolio 50 200 20 1500

get_sh_portfolio_by_cd_cid portfolio 50 200 50 200

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 87


Procedure Entity Global Max Local Max
Blocs Global Blocs Local
Blocs Blocs
get_sh_portfolio_by_cid portfolio 500 1000 500 1000

get_all_psp_pos_data_by_id psp_position_data 50 200 50 200

get_all_rating_by_id rating 100 200 100 200

get_last_rating_attrib_by_did rating_attrib 200 10000 200 10000

get_all_report_by_id report 10 100 10 100

get_sh_report_by_id report 10 200 10 200

sel_sh_scrn_prof_compo_by_spid screen_prof_compo 100 300 100 300

sel_all_filter_def_by_ent script_definition 2 10 2 10

sel_all_scpt_def_by_ent_flg script_definition 100 300 100 300

sel_all_script_def_by_id script_definition 10 100 10 100

sel_all_script_def_by_objnat script_definition 100 2000 0 0

sel_sh_srch_crit_compo_by_scid search_criteria_compo 100 2000 0 0

get_sh_search_profile_by_id search_profile 20 200 20 200

get_all_srch_prof_compo_by_spfe search_profile_compo 100 2000 0 0

get_all_sector_by_id sector 100 200 100 200

get_last_sector_attrib_by_did sector_attrib 200 5000 200 5000

get_all_strategy_by_id strategy 100 500 100 500

get_sh_strategy_by_cd strategy 20 200 20 200

get_all_strategy_elmt_by_id strategy_element 50 1000 50 500

sel_all_strategy_elmt_by_hid strategy_element 0 0 10 100

get_sh_strat_hist_by_sid_dt strategy_history 5 10 5 10

sel_all_strat_hist_by_sid_dt strategy_history 20 100 20 100

sel_all_subscription_by_mod subscription 50 100 50 100

sel_sh_subs_codif_compo_by_sid subscription_codif_compo 100 1000 100 1000

get_all_synonym_by_id synonym 200 10000 200 10000

get_all_term_event_by_id_dt term_event 10 100 10 100

get_all_third_party_by_id third_party 100 500 100 500

get_sh_third_party_by_cd_cid third_party 20 100 20 100

get_sh_third_party_by_cid third_party 10 200 10 200

get_all_type_by_cd_cid type 20 200 20 200

get_all_type_by_cid type 20 200 20 200

get_sh_type_by_cd_cid type 20 200 20 200

get_sh_type_by_cid type 50 200 50 200

sel_sh_type_by_did_cid type 100 300 100 300

sel_sh_type_by_did_oper_nat type 100 300 100 300

sel_sh_type_by_did_tid_cid type 50 200 50 200

get_all_val_rule_by_id val_rule 10 100 50 200

get_sh_val_rule_by_cd val_rule 10 100 50 200

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 88


Procedure Entity Global Max Local Max
Blocs Global Blocs Local
Blocs Blocs
sel_all_val_rule_elem_by_hid val_rule_element 10 100 20 200

get_all_val_rule_hist_by_id_dt val_rule_history 10 100 50 200

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 89


10 UNIX security
The following table shows the actions UNIX users can perform on either the UNIX system
with Adaptive Server Enterprise (ASE) or UNIX systems with Triple'A Plus Core.

UNIX User Legal actions Can log in as Possible unwanted actions


UNIX system with ASE

Root UNIX administration UNIX Sybase user Allows access to all the ASE files
UNIX user definition and devices

Sybase user ASE installation ASE login with Allows access to all the ASE files
(owner of Sybase ASE files ownership SSO role and devices
files) Can stop the ASE server
Can start the ASE server with
new password for SSO login

Other user UNIX command execution

UNIX system with Triple'A Plus Core

Root UNIX administration UNIX Triple'A Plus Allows access to all the Triple'A
UNIX user definition Core Super User Plus Core files

Triple'A Plus Core Triple'A Plus Core file Allows access to all the Triple'A
Super User ownership Plus Core files
Triple'A Plus Core program
execution
Triple'A Plus Core security
management

Triple'A Plus Core Triple'A Plus Core program


user execution

Other users UNIX command execution

10.1 Sybase ASE auditing


Adaptive Server Enterprise (ASE) provides a number of standard auditing facilities that
provide a summary of user activity. These facilities are fully documented in the ASE
documentation [SYBASE-CASUX]. A brief description follows:
 All auditing data and tables are held in a separate database called sybsecurity. This
database must be installed using the Sybase sybinit installation procedure (either
when you create the ASE server or later).
 The sybsecurity database contains two special tables: sysauditoptions (containing
the global auditing choices) and sysaudits (containing the audit trail itself).
 A number of ASE system stored procedures are supplied to enable, modify and disable
the auditing process.
 The following activities can be audited:
 System logins and logouts
 ASE boots
 RPC connections (for example, to execute the Fusion process or a Triple'A Plus
Core report)
 Use of privileged ASE system commands
 Errors (fatal, non-fatal or both)
 Use of ASE and Triple'A Plus Core stored procedures

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 90


 Accesses to the ASE server and Triple'A Plus Core tables
 The following data for an audited activity can be recorded:
 Event type (login, logout, etc.)
 Success or failure of activity
 Server process id
 Audit date & time
 Sequence number (if activity causes several audit records)
 Server login name of user
 Database name
 Object accessed (the table, view, procedure, trigger, etc.)
 Transaction id
 Description (textual information concerning event type)
 Note that only the execution of a stored procedure, along with the parameters passed
to it (for example, to insert or delete a record), is audited and not the actual
modification to the table itself.
 However, these facilities do not record the actual changes to Triple'A Plus Core data,
executed by the system users.

10.2 Sybase ASE Auditing Technical Configuration


The Adaptive Server Enterprise (ASE) Auditing configuration is described in [SYBASE-CASUX]
in chapter Configuring for Auditing.
The ASE standard auditing facilities are fully documented in [SYBASE-ASSEC] in chapter
Auditing.

10.3 ASE security


Adaptive Server Enterprise (ASE) connections are subject to certain privileges. These
connections require appropriate login IDs and passwords. To access the ASE server, you
must use a program like isql, Data Workbench, Triple'A Plus Core or other programs like
Microsoft Access.
A new user of ASE must first have a login ID defined at the ASE level and then a user or alias
defined in each database the user needs to access.
Knowledge of ASE security issues is recommended. See [SYBASE-ASSEC].
The following table shows security used for ASE actions:

ASE login Add Change Add db user Back up Enable ASE


login password and db alias and restore Auditing
db
Login with SSO* role Yes any login No no Yes

Login with SA** role No own In any db yes No

Login with Operator role No own No yes No

Login with dbo*** alias No own in own db no No

Other login No own No no No

*SSO: System Security Officer

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 91


**SA: System Administrator
***dbo: database owner
In Triple'A Plus Core databases, all the objects belong to the dbo user. The following table
shows security for Triple'A Plus Core specific objects:

Databases
ASE login

Triggers
Security
tables1

Hidden
Tables

rows2
views

procs
Login with SA* role3 All All All All All All All

Login with SSO** role4 All None None None None None None

Login with Operator role None None None None None None None

T’A dbo*** login All All All All All All All

T’A security admin. All None All select exec exec All

T’A Super User All None None select exec exec None

T’A user All None None select exec exec None

Other login None None None None None None None

*SSO: System Security Officer


**SA: System Administrator
***dbo: database owner
Notes:
 The security tables are appl_user, user_data_prof and data_secu_prof.
 Rows can be hidden (using a data security profile) for address, list, portfolio, strategy,
strategy_link and third_party.
 A connection as SA assumes the identity of the DBO when SA enters a database.
 As a login with SSO role may change any password, he may access ASE with the
privilege of any other Adaptive Server login.
 Hidden rows are protected on a user security profile basis.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 92


11 Multiple document interface
The standard Triple'A Plus Core GUI requires end users to open multiple windows, which can
complicate interaction with the program. Aficionados of the standard GUI appreciate the fact
Triple'A Plus Core is a large database application and its screens save the users from having
to send complicated SQL commands to the database, as well as displaying the information
requested.
And, of course, the Triple'A Plus Core GUI was designed to run as easily on a UNIX system as
a Windows NT system. The design of the standard GUI is such that:
 Each window has its own icon in the Windows task bar
 There are no overall window management tools
 The menus do not have standard Windows behaviour:
 Non-standard ALT key behaviour – can be enabled but not disabled.
 The system parameter ND_NATIVEMENU must be set to FALSE.
 The keyboard shortcuts CTRL+F4 and ALT+F4 do not work.
This GUI is highly customisable, allowing System Administrators and consultants enormous
scope to design in-house variations on the basic theme.
From Release 3.51.1, Triple'A Plus Core includes a further GUI choice, giving end users even
more say over the look and feel of the application. The new GUI is based on the popular
Microsoft Windows Multiple Document Interface model. This is the GUI model used in
Microsoft Office and other common Windows applications. An Multiple Document Interface
(MDI) has the following elements:
 A special window called the main window. The main window is a container for all the
other windows except modal dialog boxes (that have a particular behaviour requiring
user validation before the program continues).
 A status bar that displays a brief description of the menu options and other messages
 A toolbar that allows users to execute commands by clicking icons instead of using the
menus
 The application has only one icon in the Windows desktop task bar
 A Window menu that manages the windows opened in the application.

11.1 Main MDI window


The following screenshot shows the main window of Triple'A Plus Core that contains the
elements described above:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 93


Main Multiple Document Interface (MDI) window:
 Toolbar
 MDI container
 Status bar
Notes:
 The MDI functionality described in this chapter can be disabled altogether. Client sites
can continue to use the standard Triple'A Plus Core GUI as in previous releases. To use
the new MDI, you must set the AAAMDI system parameter to TRUE. This system
parameter is incompatible with the ND_NATIVE_MENU system parameter. The MDI GUI
only runs if the registry entry is valid, otherwise an error message is displayed.
 The MDI GUI was developed using Elements Environment (EE) 2.1.1. The current GUI
was developed using EE 2.1, which does not contain the MDI Container graphical
object.
 To use the MDI Container graphical object, delete the ND_NATIVEMENU variable from
the registry or change its value from FALSE to TRUE. Otherwise, an error message is
displayed when the application is started.

11.2 MDI Container


The Multiple Document Interface (MDI) Container is the main application window that
contains all the other windows in the application, except modal windows, message windows,
for example, that block the application until they are closed.
The MDI complies with the standard Windows MDI model:
 It lets you minimise, maximise, and restore windows inside the MDI Container
 Only one menu bar is visible. In a non-MDI application, each window has its own menu
bar which is displayed below the title bar
 Only one entry in the Windows Desktop taskbar, irrespective of the number of Triple'A
Plus Core screens opened.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 94


The above screenshot shows the MDI Container with a Domain screen and the Operation List
screen linked to it. Notice that in MDI the windows are better managed:
 Indentation of child window in relation to the parent window
 Indentation of windows without parent windows. In the non-MDI version, if you open
two Select Currency windows they are superimposed exactly so you cannot see the first
one opened. In MDI both are visible.

11.2.1.1 Task bar


There can be three entries in the Windows task bar:
 Triple'A Plus Core application
 One for the tooltips or the About and Login windows
 Online Help

11.2.1.2 Menu bar


In an Multiple Document Interface (MDI) application, only one menu bar is visible at a time.
Therefore, all the usual non-MDI menu options are included in the same MDI menu. If the
menu options are not authorised, they are disabled (greyed).
 Irrespective of the child windows open, the menu bar contains the main Triple'A Plus
Core options:
 Analysis
 Productivity
 Operation
 Administration
 Accounting
 Funds
Since a number of different menus are now included in the main menu and options are
enabled or disabled to suit the active window, there may be an unavoidable impression of
options flashing on and off

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 95


The new menu now includes a Window option to manage the windows opened by the
application.

11.2.1.3 MDI menu bar


The Multiple Document Interface (MDI) menu bar contains the following options (enabled or
disabled):

File Save, Close, Print, etc.

Edit Edit Format, View, etc. depending on active window

View Format, Browse, Extend, Collapse and submenus, depending on the active
window

Tools Tools and Options

Analysis Same throughout program execution

Productivity Same throughout program execution

Operation Same throughout program execution

Administration Same throughout program execution

Accounting Same throughout program execution

Funds Same throughout program execution

Actions Other actions, depending on the active window

Window Overall management of the opened windows. You can choose the window
you want to make the active window.

Help Online help in HTML format, including access to the user manuals

11.3 Menu changes


The following changes apply to both the MDI and the standard GUI:
 Main window
 Close command changed to Exit
 Options menu is now the Tools menu
 Domain window
 Domain menu is now the File menu
 Options menu is now the Tools menu
 Financial function windows
 Document menu now the File menu
 Edit Format menu moved to the Edit menu
 Format menu moved to the View menu
 View menu is now the Navigate submenu in the View menu
 Edit Domain command moved to the Edit menu
 Selection window
 Options menu now a submenu of the Tools menu
 Find command included in the Tools menu
 Administration window and UDS
 Reset action moved to the Edit menu
 Options menu now a submenu of the Tools menu

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 96


 Folder window
 Folder menu is now the View menu

11.3.1.1 Other behaviours


 Main menu options are enabled or disabled, depending on the active window. Disabled
menu options remain in the menu bar to avoid a blinking effect, but are greyed out.
 With the ND_NATIVEMENU variable deleted, the menu bar behaves in the Windows
standard fashion.
 Standard reaction to keyboard actions:
 ALT: enables and disables menus
 CTRL+F4: closes windows
 ALT+F4: closes the application
 If the ND_NATIVEMENU is disabled in the standard GUI, the Insert command of the
Order Entry window adds three new lines and not simply one. This problem has been
corrected in the MDI GUI.

11.3.1.2 Window menu


The Window menu has been added to the main menu bar to help users manage the multiple
windows that users can display in Triple'A Plus Core. You can go to Window > Cascade to
cascade the screens or Window > Arrange Icons to re-arrange their icons.
When windows have been opened, the Window menu also lists all open windows. New
window titles are added to the list as you open them. To a make a window active, click its
name in the window list. The method used here is that of Microsoft Word, for example. The
list shows the n last opened windows sorted in alphabetical order. The System Administrator
can define the value of n in the AAAWINMENUSIZE registry variable.
Some Triple'A Plus Core windows cannot be completely re-sized. This is the case for
administration windows, user-defined screens, financial function windows and domain
windows. This is why there is currently no Tile option in the Window menu.
If the number of windows exceeds the value n, you can click the More windows… option in
the Window menu. This opens the Window select screen, where you can double-click the
desired window to make it active.
If you do not have the necessary rights, a warning message is displayed to inform you that
you are not allowed to use the function you are trying to use.

11.3.1.3 Toolbar
The ICON_BAR_CONTENT system parameter defines the toolbar contents for each user. This
applies to both the standard and MDI GUIs. In the MDI, however, the number of icons that
can be displayed in the toolbar is not limited to ten.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 97


12 GUI configuration

12.1 Changing the GUI colours

12.1.1 Overview
Apart from the standard interface practice of letting users choose the colours they want, the
possibility of changing colours is very useful in large systems. Subnetworks that depend on
different servers can be colour-coded, for example. The visual cue is a powerful, immediate
and very simple way of indicating the server you are connected to or the subnetwork the
machine belongs to.
Triple'A Plus Core lets you change the colours used on your system for identification
purposes or simply apply your colour preferences.
To change the colours, you must perform the following operations:
 run regedit
 open the HKEY_LOCAL_MACHINE folder
 open the SOFTWARE folder
 open the Wow6432Node (only for 64-bit Windows 7)
 open the Odyssey folder
 open the Advantage or TripleA folder
 open the version folder
 open the Resource folder
 for each graphical item, the colour is displayed in hexadecimal code

12.1.2 Editing the registry


Proceed as follows:
1. Start the program regedit.exe to access the Windows registry and go to Start > Run
from the Windows Task Bar. The Regedit.exe normally resides in the C:\WinNT
directory if you need to browse for it.
Note: If you are not confident in working with your Windows registry, PLEASE do not do
this! Ask your network Administrator or a member of the IT staff to do this for you.
Making a mistake while editing your registry can render your computer unusable! We
recommend that you make a backup copy of your registry before making changes to it.
2. Go to the following registry key:
HKEY_LOCAL_MACHINE
SOFTWARE
Wow6432Node (only for 64-bit Windows 7)
Odyssey
TripleA
CurrentVersion or IS
Resource

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 98


3. In the ListView (the right pane), right-click the name of the value you want to change in
the Name column, and choose Modify from the context menu:
The Edit String dialog box is displayed.
4. In the Value Data field, enter the value of the colour you want in hexadecimal, preceded
by the hash sign (#), or as a string. For example:
Aquamarine OR #43B7BA
Where the Red, Green and Blue hexadecimal colour values for Aquamarine are 43, B7
and BA respectively. See the Appendix for a list of decimal colour values and converting
them to hexadecimal.
5. Click Ok.
6. Repeat for all the screen elements you want to change.
7. Close the Registry editor, then restart Triple'A Plus Core.

12.1.2.1 Distributing the registry file


Once you have finished editing the Registry and have tested the colours in Triple'A Plus Core,
you can copy the settings in the Resource branch of the Registry to a file with the extension
.reg (called exporting).
To do that, go to Registry > Export Registry File from the main Registry Editor menu. The
Registry's export option lets you choose if you want to copy the whole Registry or just the
selected branch. Make sure the Resource branch folder is open in the left pane (the
TreeView) and choose the Selected Branch option in the Export Registry File dialog box.
You can then e-mail this file to all the users on the network who you want to use the same
colours. The users need only double-click the file to copy the settings automatically to the
Registry on their machines.

12.1.3 Tool bar colours


The following system parameters can be defined to change the colour of the main tool bar in
the GUI:
 AAAAdvantage.tbar.background: Defines the background colour of the tool bar.
 AAAAdvantage.tbar.foreground: Defines the foreground colour of the tool bar.
Default values:
 AAAAdvantage.tbar.background= #E2E3E1
 AAAAdvantage.tbar.foreground=#000000

12.2 URL datatype


The URL datatype for Uniform Resource Locations is used to display Web pages in a browser
that is integrated in the Triple'A Plus Core Graphical User Interface (GUI).
 It allows the user to browse to a specific page
 New URLs cannot be added
 The browser is not a separate application. It is integrated into the GUI. If the user quits
the GUI, the browser is closed.
The URL is a character datatype. The length of an URL must not exceed 255 characters. You
can define user-defined fields with this datatype.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 99


URL fields are displayed with an icon. The aim of such a field is not to display a text but the
Web page linked to the text. For example, in the following screenshot, the user-defined field
URL has been added to the financial instrument table.

12.2.1 Possible actions on URL fields


There are two possible actions you can perform on URL fields: open and edit. For example,
the URL field of the Temenos financial instrument stock is www.oams.com.

You can access the actions by right-clicking the field and choosing the option you want from
the context menu that is displayed.
The two actions available on URL fields are:
 Open URL
Allows the user to open a Web browser at the right page.
 View or Edit URL (the option text depends on the user's access rights)
Allows the user to edit the text of the URL in a specific screen.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 100
12.2.2 Edit/view URL menu option
If you choose the Edit/View option from the context menu, the Edit URL screen or the View
URL screen is displayed (depending on your access rights).

12.2.3 Open URL action


If you choose the Open option from the context menu, an Internet browser page is opened.
You can also open a URL in the Multiple Document Interface version of the GUI, as shown
below:

12.3 Configuring the Login and About screens


The Login screen and the About screen (under the Help menu) is configurable to hide
unwanted technical information such as User, SQL Server, Main Database, and Financial
Server names, which are not relevant to the client.
To configure the display of technical information in Login and About screens, define the
system parameter DISPLAY_DB_INFO:
 0: Never display database information (default)
 1: Always display database information
 2: Display information only for superuser

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 101
13 Miscellaneous

13.1 No suppression of typed text during search


When searching a foreign key, the text that you typed in the search field is not suppressed
when no data is found. You can modify the existing input text to refine the search.

13.2 Saving of GUI use context


The GUI use context is now saved each time a user leaves the GUI. The context is read when
a user runs the GUI. It is saved in table appl_user in a TAG formatted text.
The GUI context contents many information concerning the window size, the different
options selected (menu Tools/Options/…) and the last selection criteria for each entities.

13.2.1 Saved information

13.2.1.1 Main window


Tag: [MAIN]

Syntax Description
origin=45,171 Abscissa and ordinate of the main window

extension=1157,786 Width and Height of the main window

maximize_f=0 1 if window is maximized


0 else

copy_with_totals_f=1 Value of option menu …/Copy To Clipboard/


With Totals or Without Totals

copy_formated_datas_f=0 Value of option menu …/Copy To Clipboard/


Real data or Formatted Data

print_with_code_f=1 Value of option menu …/Print/


Print with Code or Print with SqlName

after_save_mode=1 Value of option menu …/Save/


Create & Keep or Create & Copy or Create & Copy.

13.2.1.2 Financial Function window


Tag for function valorization: [FCT:valo].

Syntax Description
origin=9,30 Abscissa and ordinate of the window

extension=1257,757 Width and Height of the window

maximize_f=0 1 if window is maximized


0 else

view_domain_f=1 1 if domain is visible (menu View/Hide Domain)


0 else

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 102
Syntax Description
view_toolbar_f=1 1 if toolbar is visible (menu View/Hide Toolbar)
0 else

view_adminbut_f=1 1 if the administration buttons (View, create, etc) are visible (menu
View/Hide Admin buttons). 0 else

13.2.1.3 Entities
Tag for entity currency: [ENT: currency].

Syntax Signification
use_screen_f=1 In edition screen value of option menu
Tools/Options/Use Screen/
Use Defined Screen or Use Default Screen
Only for super-user

full_search_f=1 Value of option menu …/Full Search/


Complete List & Limited list.

select_mode=6 Type of selection:


0: Standard, 1: List, 2: Quick Search
5: Pattern Select 6: Simple Search

select_nature_e=2 Selected nature

select_function=acc_hist Selected function (for format selection screen)

select_string=DEF Pattern select string

select_string_index=1 Index of the pattern select attribute.


1: code or 2: name (in general).

attributes=user_code=aaa - All the defined criteria in simple search selection mode.


nature_e=1-

select_quick_search_def=(user_code Quick search request


LIKE "aa")

list=code=123 Business key of the selected list

13.3 Menu changes


The menu Use Screen can be accessed by going to Tools > Options > Use Screen.
It is now available in the standard domain screen and in standard order list domain screen.

13.4 Hiding administration buttons


In addition to the possibility of hiding the domain part and the toolbar part of a financial
function screen, you can also hide the administration buttons (e.g., view, create, etc.),
especially in a function such as Order List.
To do so, select from the menu View > Hide Admin Buttons. The label of the menu changes
from Hide Admin Buttons to View Admin Buttons (and vice versa) after the action has been
selected.
The image below shows an example where the Hide Admin Buttons action was selected, and
the View menu currently has the View Admin Buttons action:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 103
Order List with only data

13.5 Menu item: Test System Script


The following menus exist if the system variable AAATESTSCRIPT exists:
 The Tools > Test > Test System Script menu option allows the user to test all the system
scripts (default value, filter and input control).
 The Tools > Test > Test User Script menu option allows the user to test all the user
scripts (default value, filter and input control).

13.6 Automatic refresh of Display Log screen


The following system parameter can be defined to obtain an automatic refresh of the display
log screen:
 AAAREFRESHLOGTEMPO=60: Defines the delay in seconds between two refreshes.

13.7 GUI memory space


The GUI can use up to 3GB of memory space. The exact amount of memory is dependent on
a number of things such as which Windows version is used, how Windows loads dynamic
libraries into memory, and which libraries are loaded. Unfortunately, libraries are loaded in
the same place as a typical 2GB configuration. This memory fragmentation implies that there
is more memory space for financial results displayed on several windows rather than for one
big financial result.
To exceed the 2GB memory limit, Microsoft has implemented a "3GB switch". Internal tests
performed by Temenos on 64-bit platforms have shown that this 3GB switch is not required.
Unfortunately, Microsoft is not clear about when you need to use this switch. If the GUI is
affected by the 2GB memory limit, activate the 3GB switch on Windows. Information about
this switch can be found in http://support.microsoft.com/kb/291988.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 104
Furthermore, when this setting is enabled, some driver-related bugs might appear during
usage, which would likely require an update to the driver that should fix most bug-related
problems.
Regarding the memory available to the GUI before a memory allocation failure occurs, the
limit is around 3.4GB for the 64-bit version of Windows 7 with default configuration.
There is no way to know across all Windows versions and without privileged access, how
much memory is available. The theoretical limit is stored in the environment variable
AAAMEMMAXALLOC and the default value is 1800000 (1.8GB), which can be defined to
3400000 (3.4GB) for 64-bit platforms. The value is used only for computation of memory-
related information purposes and does not interact with the memory allocation (for more
information, see section GUI low memory warning).

13.8 GUI low memory warning


Memory warning messages are shown for notification purposes or for cancelling the
processing when memory is full or nearly full.
The environment variable AAAMEMPERCENTTHRESHOLD1 has a default value of 80 and
AAAMEMPERCENTTHRESHOLD2 has a default value of 95:
 When the memory used is near or reaches the first threshold of 80%
(AAAMEMPERCENTTHRESHOLD1), a warning box is displayed and gives you the choice
to cancel or to continue the processing.
 When the memory used is near or reaches the second threshold of 95%
(AAAMEMPERCENTTHRESHOLD2), a warning box is displayed again and gives you the
choice to cancel or to continue the processing. At this point, instability issues or a crash
might occur.
You can monitor the memory consumption by viewing the Commit Size column in Windows
Task Manager. Refer to the Windows support pages to enable the Commit Size column
(column is not visible by default).
The memory is computed with the value of AAAMEMMAXALLOC and the value that is visible
in the Windows Task Manager. If the GUI can allocate 3GB of memory and the
AAAMEMMAXALLOC has the default value of 1.8GB, then the memory threshold will be
reached too early and the memory figures will be a little far from reality but nothing more.
There is no process with regards to memory fragmentation and allocation. For example, even
if there are many black squares on a chess board, there are no two consecutives black
squares, so an allocation of two consecutives black squares will fail despite the fact that
many single black squares exist.
When a memory threshold is raised, a message is written into the log file.

13.9 AAAPAGESIZE environment variable


The AAAPAGESIZE environment variable is used to specify the SQL width output size in
Triple'A Plus Core admin/export scripts. The default value is set to 10000. This variable can
be found in the $AAAHOME/aaaprofile configuration file.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 105
14 Localising Triple’A Plus Core
Triple’A Plus Core lets you localise the graphical user interface (GUI) so you can use the
application in other languages. To do that, you must translate the character string contents
of the relevant text tables in the database, notably in the meta-dictionary.
The data model was designed to support a localisation policy. The user interface uses the
multilingual features inherent in the data model. The text you see in the user interface
screens is stored in database tables and is retrieved at connection time:
 Field and group box labels
 Menu options
 Screen titles
 Application messages
 Function names
 Button text
 Etc.
To localise the user interface, you must extract the text from the various tables into an
ASCII text file, translate it and return the translated text (character strings) to the
appropriate tables in the database.
The following sections describe:
 The contexts in which localised text can be used.
 Implementation from the database point of view.
 Facilities for administrating localised text.

14.1 Available languages


The languages available in Triple'A Plus Core are: Catalan, Chinese (Simplified and
Traditional), Dutch, English, Flemish, French, German, Hebrew, Italian, Japanese,
Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, and Turkish.
It is not possible to delete languages from this list or to add new languages. In case you
require a new language to be added to this list, contact the Customer Support Service.
The default language in Triple'A Plus Core is English.
French and German translation packages are included in the distribution package. Other
localisations like Russian or Swedish are not provided, but it is possible to localise every
aspect of the GUI.

14.2 GUI Textual Items


Triple'A Plus Core uses two types of GUI textual items from different tables:

Type of text Example of use Definition Database entity


level
User interface text Menu options, error User Profile appl_mess_txt dict_label
messages, labels, etc.

Data display text All format screen text, Domain screen denom
particularly the financial
format text

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 106
For a graphical view of the relevant tables and the relationship between them, use the
Silverrun application, delivered with Triple'A Plus Core. Look, in particular, at the
metadictionary and the appl_message and appl_msg_txt tables.
You will need some understanding of the application and the main structure of the data
model to follow this chapter.

14.3 Localising the GUI


Localisation in Triple'A Plus Core is possible for the categories defined below. Note that
localisation must be undertaken in two areas for the software to be fully translated:
 Metadictionary and application message labels are used at user interface Language
level: for example, menu options, etc.
 Denomination labels are used at data display level: for example, listview column
headers and other format elements.

14.3.1 User Interface Language


This is the language used by the interface throughout the application, defined at connection
time. It includes the menus, functions, entities, attributes, criteria, permitted values, button
text, labels and messages. All in all, 8000 labels can be translated.

14.3.2 Data Display Language


The data display language is used in the Financial Function format screens. In addition to the
user interface text described above, the Financial Function screens can also be localised, with
an important difference: they use the language defined in the Domain screens and not the
User's Language defined in the user's profile. This means that when you ask for a financial
valuation or similar domain-based query, you must specify the data display language in the
domain screen.
To display the data in your chosen language:
1. Go to Productivity > Check Strategy.
The Domain – Check Strategy screen is displayed.
2. Select the display language from the Language field's drop-down list and click OK or
Apply to save the setting.
Note that the language you select only applies to individual financial function calls. You can
ignore the Default check boxes in this context.
Text in the Financial Function screens comes from the language terms (denominations)
defined in the Format and Format Element entities, because the Financial Function screens
are created from formats.
Note that you can also use the existing features of Triple'A Plus Core to localise the software.
You can use the LABEL and DENOMINATION script functions to define format elements.

14.4 Database labels


The text labels used in the Triple'A Plus Core user interface can come from different database
tables. The following sections indicate the source and use of the labels.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 107
14.4.1 Metadictionary tables
A lot of metadictionary terms are defined in the dict_label entity. The dict_label entity
(dictionary label) contains multilingual labels related to instances of entities in the
metadictionary. Every instance in the metadictionary can be stored in the dict_label entity.
If an instance for the defined language is not stored in dict_label, Triple'A Plus Core uses
the attribute name of the corresponding entity as the default.
The dict_label text is used for the following Triple'A Plus Core metadictionary entities:
 Entities
 Attributes
 Criteria
 Languages
 Permitted Values

14.4.2 Message tables


The message tables referenced by the application are appl_message and appl_msg_text.
appl_message holds a unique identifier for a message in the application, while
appl_msg_text contains the actual character string of the message (or menu option, etc.).
As for dict_label, if a message in the defined language is not found in appl_msg_text, the
value of its denom attribute is used.
In addition to the existing message natures, Triple'A Plus Core now includes a new nature
called Multilingual Label (with the value 5). The Multilingual Label nature lets you assign
button, combo box, menu, panel and screen title bar text.

14.4.3 Denomination table


Triple'A Plus Core uses the denomination table to localise format and format elements for
data presentation.

14.5 Importing and exporting text


Triple'A Plus Core includes a utility for extracting (export) and inserting (import) the label
and message texts. That way, you can easily change from one language to another.
To import and export textual data to and from an ASCII file, use the utility located in
$AAAHOME/ddl/bin.
This utility consists of two scripts called down_label and up_label. The down_label script
allows you to export text. After text has been translated, you must import it by using the
up_label script.
Usage:
down_label [user] [password] [dict_language.code] [output file] [charset]
up_label [user] [password] [input file]

The following table provides details about how to use the parameters:

Parameter Description
user Triple'A Plus Core database owner as defined in the aaa_install.cfg file (search for
APPL_OWNER).

password Password of the Triple'A Plus Core database owner.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 108
Parameter Description
language_code Triple'A Plus Core language code as defined in the dict_language table. The procedure
for checking which languages are currently installed is explained below in the Finding
all installed languages section.

output file Name (path and file name) of the output of the down_label script.

charset Optional parameter. The default value is Iso_1.

input file Name (path and file name) of the file that you want to import into Triple'A Plus Core.

For example, you could call your output (and input) file aaatrans_fr.csv (indicating the
language code in the file name is helpful). The .csv extension is necessary if you are going to
edit the file in Microsoft Excel.
Storing all the multilingual application labels and messages (from dict_label and
appl_message_text) in the ASCII text file simplifies maintenance. The ASCII file is also used
to upload the labels to the database.
When a new version of Triple'A Plus Core is shipped, you must update this translation file in
accordance with any changes made to the software. The tool that extracts the text to
translate clearly indicates the entries that are not translated by inserting the character string
"!!unknown!!".
To extract and translate these messages, etc., do the following:
1. Check which languages are currently installed (described below).
2. On the UNIX host, change directory to $AAAHOME/ddl/bin.
3. Export the text to a file using the down_label script (described below).
4. Open the file and change the language code to the target language.
5. Translate the character strings in the last column. Do not translate the section headers.
6. Save the file and import the file contents to the database using the up_label script
(described below).

14.5.1 Finding all installed languages


To enter the correct language codes, you must first check which languages are currently
installed. There are two alternative ways to do this. Perform one of the following steps:
 In the GUI, go to Administration > Security > Language.
or
 Perform a database request to get the list of installed languages. Type the following
command in an isql / SQL Advantage environment:
use aaamaindb
go
select code, name from dict_language order by code
go

The result will be similar to the following:

code name
ca Catalan

de German

en English

es Spanish

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 109
code name
fr French

he Hebrew

it Italian

jp Japanese

nb Flemish

nl Dutch

no Norwegian

pt Portuguese

ro Romanian

ru Russian

sv Swedish

th Thai

tr Turkish

tw Chinese (Traditional)

zh Chinese (Simplified)

14.5.2 Import/export file syntax


In the ASCII file, the labels are extracted to their contexts. The contexts are indicated with
tags. The tags are similar to the section headers enclosed in square brackets in Windows
.ini files. Each line must match the described context.
The tags identify the contexts and describe the lines that follow. A global context applies to
the whole file (for instance, the reference language must be specified only once in the file). A
local context, however, remains valid until another local context is defined.
To define a global context, use braces ({ }). To define local contexts, use square brackets
([ ]).
To insert comments, use the hash character (#) as the very first character of each new line
of the comment.

14.5.3 File structure


The available tags are shown below. The field separator used in the text file is the semicolon
character. Note that in most of the examples, only short extracts are used.
# This is a comment
{LANGUAGE='dict_language.code'}
Example:
{LANGUAGE='en'};
#Note: Change the language code to that of the target language. For #example, you
would use {LANGUAGE='de'} if you were translating to #German
# Extracting dict_language labels
##################################

[LANGUAGE]
Example:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 110
#;
[LANGUAGE];
# dict_language.sqlname_c;"Label"
German;"German"
Us_english;"English"
Spanish;"Spanish"
French;"French"
Italian;"Italian"
Dutch;"Dutch"
Portuguese;"Portuguese"

[FUNCTION]
Example:
##################################
# Extracting dict_function labels
##################################
[FUNCTION];
# dict_function.proc_name;"Label"
Acc_admin;"Accounting Administration"
acc_close;"Acc. Period Closing"
acc_hist;"Accounting History"
acc_plan_valo;"Accounting Plan Valuation"
etc.;

[ENTITY]
Example:
##################################
# Extracting dict_entity labels
##################################
[ENTITY];
# dict_entity.sqlname_c;"Label"
acc_period;"Accounting Period"
acc_period_param;"Accounting Period Parameter"
acc_plan;"Accounting Plan"
acc_plan_element;"Accounting Plan Element"
address;"Address"
adjust_operation;"Adjustment Operation"
admin_manager;"Portfolio Manager"
etc.;

[ATTRIBUTE]
Example:
##################################;
# Extracting dict_attribute labels;
##################################;
[ATTRIBUTE];;

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 111
# dict_entity.sqlname_c;attribute.sqlname_c;"Label"
acc_period;acc_period_param;"Parameters"
acc_period;acc_plan_element;"Element"
acc_period;acc_plan_id;"Account Plan"
acc_period;begin_d;"Begin Date"
acc_period;closing_d;"Closing Date"
acc_period;code;"Code"
etc.;;

[CRITERIA]
Example:
##################################;
# Extracting dict_criteria labels;
##################################;
[CRITERIA];;
# dict_entity.sqlname_c;dict_criteria.prog_n;"Label"
acc_period;1;"Code"
acc_period;5;"Accounting Plan"
acc_period;6;"Begin Date"
acc_period;7;"Final Closing"
acc_period_param;3;"Validity Date"
acc_period_param;4;"Nature"
etc.;;

[PERMITTED VALUE]
Example:
###############################;;
# Extracting dict_perm_value labels;;
##############################;;
[PERMITTED VALUE];;;
#dict_entity.sqlname_c;dict_attribute.sqlname_c;dict_perm_value.perm_val_nat_e;"Label
"
acc_period;final_closing_f;0;"!!unknown!!"
acc_period;final_closing_f;1;"!!unknown!!"
acc_period_param;nature_e;1;"!!unknown!!"
acc_period_param;nature_e;2;"!!unknown!!"
etc.;;;

[MESSAGE]
Example:
##################################;
# Extracting appl_msg_text ;
##################################;
[MESSAGE];;
# appl_message.code;appl_message.nature_e;label
ACCRUED_INTEREST;3;"Accrued Interest"

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 112
ACQUISITION_COST;3;"Acquisition Cost"
ADJUST_PORT_VALUE;3;"Adjusted Portfolio Value"
BTN_...;5;"..."
BTN_Add;5;"Add"
BTN_Adjustment;5;"Adjustment"
BTN_AllLinks;5;"All Links"
etc.;;

Consecutive delimiters are treated as one. Text placed between quotes is not considered as a
separator (last column).

14.6 Allowing user access to the screens


Once you have translated the GUI text and returned it to the database, you must allow users
access to the screens that use the translated text.
1. Go to Administration > Security > User, and select the user you want in the Select User
screen
2. Click Modify.
3. Select the language you want from the Language field drop-down list.
4. As the user language is only valid for subsequent connections, you must close and
restart Triple'A Plus Core.
Note that the data display language set in the Domain screen is only valid for individual
financial function calls.

14.7 Multilanguage operation labels

14.7.1 Creating a new operation status


This section explains how to create a new operation status in Triple'A Plus Core.

14.7.1.1 Defining new states in the permitted values file


The source file containing all permitted values defined by the customer is:
$AAAHOME/ddl/src/dict_perm_value_dat.usr.sql
Edit this file and add lines corresponding to your new status. The lines take the following
form:
exec ins_upd_dict_perm_value_usr "operation","status_e", new_status,
new_status_default_name, new_status_rank

Example:
exec ins_upd_dict_perm_value_usr "operation","status_e",20,"My new status",20

Notes:
 The 0 status is mandatory and cannot be deleted.
 Similar lines already exist in this file for the statuses 3,5,6,7,8,9. These lines are used
when you first initialise Triple'A Plus Core.
 The value of the rank of the new status must be the same as the value of the new
status.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 113
 The permitted values for new statuses are from 1 to 255.

14.7.1.2 Defining new status labels in the permitted values file


Two SQL template files are delivered during installation:

File Language
$AAAHOME/ddl/src/dict_label_dat.en.usr.sql English labels

$AAAHOME/ddl/src/dict_label_dat.fr.usr.sql French labels

These files must contain the labels for the permitted values defined by the customer. Similar
files for other languages might exist.
Edit the file(s) for your language(s) and add lines corresponding to your new status.
These lines take the following form:
exec ins_upd_dict_label_permval_usr <language>, "operation", "status_e", <new status
value>, <Status label>

Example:
exec ins_upd_dict_label_permval_usr "en", "operation", "status_e", 20, "My new
status"

in the file $AAAHOME/ddl/src/dict_label_dat.en.usr.sql


or:
exec ins_upd_dict_label_permval_usr "fr", "operation", "status_e", 20, "Mon nouveau
statut"

in the file $AAAHOME/ddl/src/dict_label_dat.fr.usr.sql


Notes:
Similar lines already exist in this file for states 3, 5, 6, 7, 8 and 9. These lines are used when
you first initialise Triple'A Plus Core.
Insert labels in the appropriate label file (English labels in the English labels file, etc.)
Use double quotes around your labels.

14.7.1.3 Inserting permitted values and labels in tables (metadictionary)


You can use the script called install_ddl.sh (in the directory $AAAHOME/ddl/bin) to insert
the values defined in the files located in the $AAAHOME/ddl/src directory in the Sybase
tables.
Notes:
 When you run this script, no connections to the Triple'A Plus Core databases are
allowed. Stop all the GUI clients and all Open Servers before you run the script.
 The Triple'A Plus Core owner must run the script
1. Insert the new permitted values. The command is:
$AAAHOME/ddl/bin/install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> dat dict_perm_value
<environment> default_charset

Where

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg (eighth
field in the lines beginning with B)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 114
Example:
$AAAHOME/ddl/bin/install_ddl.sh aaa aaaaaa sybadm dat dict_perm_value prod
default_charset

2. Insert the new labels. The command is:


$AAAHOME/ddl/bin/install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> dat dict_label
<environment> default_charset

Where

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg (eighth
field in the lines beginning with B)

Example:
$AAAHOME/ddl/bin/install_ddl.sh aaa aaaaaa sybadm dat dict_label prod default_charset

3. Restart Triple'A Plus Core.


4. Restart the Triple'A Plus Core GUI Clients and Open Servers.

14.7.1.4 Adapting the function profiles


The function security profiles define the minimum and maximum operation statuses
accessible to the user.
1. If you add a new minimum or maximum status, you must adapt these profiles to be
able to access the new status interactively.
2. Restart Triple'A Plus Core.
3. Restart the Triple'A Plus Core GUI Clients and Open Servers to take the new function
profiles into account.

14.7.2 Updating operation status labels


This section explains how to update operation status labels in Triple'A Plus Core.

14.7.2.1 Required skills


Currently, there is no GUI interface functionality for updating the labels. This means that if
you want to update labels in several languages, you must log on to the UNIX system. You
must have a minimum knowledge of a UNIX text editor such as vi.

14.7.2.2 Updating the default names of permitted values


Some processes do not use the labels yet. Instead, they use the default names of the
permitted values. This is the case with the operations status. This means that the
denomination that appears on different screens for the same status can be different.
For example, the name of the status that appears in an operation list and the name that
appears when you create operations with the same status value can be different (like Pre-
Accounted or Confirmed).
To avoid this problem, you must first update the default names of the permitted values.
The source file containing the default names of the permitted values defined by the user is
$AAAHOME/ddl/src/dict_perm_value_dat.usr.sql for default names.
Edit the file and add lines corresponding to your status. The lines take the following form:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 115
exec ins_upd_dict_perm_usr "operation", "status_e", <status value>, <Status default
name>, rank

Example:
exec ins_upd_dict_perm_value_ usr "operation", "status_e", 8, "My status 8", 8

in the file $AAAHOME/ddl/src/dict_perm_value_dat.usr.sql


Note: The rank must be the same as the status.

14.7.2.3 Defining new status labels in the permitted values file


Two SQL template files are delivered during installation:

File Language
$AAAHOME/ddl/src/dict_label_dat.en.usr.sql English labels

$AAAHOME/ddl/src/dict_label_dat.fr.usr.sql French labels

These files must contain the labels for the permitted values defined by the customer. Similar
files for other languages might exist.
Edit the file corresponding to your language and update the lines corresponding to your new
status label.
These lines take the following form:
exec ins_upd_dict_label_permval_usr <language>, "operation", "status_e", <new status
value>, <Status label>

Example:
exec ins_upd_dict_label_permval_usr "en", "operation", "status_e", 8, "My status 8"

in the file $AAAHOME/ddl/src/dict_label_dat.en.usr.sql


or
exec ins_upd_dict_label_permval_usr "fr", "operation", "status_e", 8, "Mon statut 8"

in the file $AAAHOME/ddl/src/dict_label_dat.fr.usr.sql


Notes:
 Insert labels in the appropriate label file (English labels in the English labels file, etc.)
 Use double quotes around your label
 In this example, the screen is different for French users. Some screens show "My status
8" and others "Mon statut 8". To avoid this problem, use the same denomination for all
the languages.

14.7.2.4 Inserting default names and labels in Sybase tables (metadictionary)


Use the install_ddl.sh script (in the directory $AAAHOME/ddl/bin) to insert the values
defined in the files located in the $AAAHOME/ddl/src directory in the Sybase tables.
Notes:
 When you run this script, no connections to the Triple'A Plus Core databases are
allowed. Stop all the GUI Clients and all Open Servers before you run the script.
 The Triple'A Plus Core owner must run the script.

14.7.2.5 Inserting new default names


To insert new default names, enter the following command at the UNIX command line
prompt:
$AAAHOME/ddl/bin/install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> dat dict_perm_value
<environment>

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 116
Where

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg (eighth
field in the lines beginning with B)

Example:
$AAAHOME/ddl/bin/install_ddl.sh aaa aaaaaa sybadm dat dict_perm_value prod

14.7.2.6 Inserting new labels


1. To insert new labels, enter the following command at the UNIX command line prompt:
$AAAHOME/ddl/bin/install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> dat dict_label
<environment>

Where

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg (eighth
field in the lines beginning with B)

Example:
$AAAHOME/ddl/bin/install_ddl.sh aaa aaaaaa sybadm dat dict_label prod

2. Restart Triple'A Plus Core.


3. Restart Triple'A Plus Core's GUI Clients and Open Servers.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 117
15 Environment variables
For Triple'A Plus Core to run correctly, you must pre-set the environment variables.
 On the UNIX machine, the environment variables are set either in the aaa command
file or the aaaprofile file.
 On Windows NT, the environment variables are stored in the Registry.

Variable name Content Default value


AAABIN Directory containing the executables files $AAAHOME/bin

AAADEFREPORTNAT The registry variable allows the user to


define the default report nature selected in
the selection screen.

AAAFUNDS Activate the Funds option in the main


menu bar

AAAHOME Triple'A Plus Core home directory where /usr/aaa


the aaa command and the aaaprofile file
are located

AAALOGINDB Login database

AAAMSG Directory containing the log files of $AAAHOME/msg


messages generated by Triple'A Plus Core

AAAOIT Directory containing the Open Interface $AAAHOME/oit


resources

AAAPRNLP Print command for line printer lp –onb

AAAPRNPCL Print command for PCL printer lp -onb –oraw

AAAPRNPS Print command for PostScript printer lp –onb –postscript

AAAQSEARCHMODE Not yet implemented. Lets you choose the LIST


window displayed when a list of foreign
key occurrences is expected. Possible
values are LIST or QSEARCH.

AAATHREADSTACKSIZE Used to increase the size of the stack used 262144


by server threads

AAATRACEDOMAIN Used for debugging. Adds a domain trace 0


to the server.log file when set to 1.

DSQUERY Name of the ASE server in the Sybase


interfaces file.

GNUHOME Ghostview (PostScript viewer) home


directory

LANG UNIX level language (not a Triple'A Plus C


Core language)

LC_ALL UNIX level localisation C

ND_CHARNATIVE Neuron Data character set CT_ISO_LATIN1

ND_PATH Neuron Data Open Interface resources file

SYBASE Directory where the Sybase interfaces file


is located

XENVIRONMENT Full path filename of the X11R4 resource


file

The PATH variable will be set as:


PATH=$AAAHOME:$SYBASE/bin:$PATH

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 118
$AAAHOME for the aaa script and $SYBASE/bin for isql.

15.1 AAATRACEDOMAIN
Before you start the financial server, set the environment variable AAATRACEDOMAIN to 1 on
the command line. This adds the dynamic structure of the domain to the file server.log. If
AAATRACEDOMAIN is set to 0, the domain structure is not added to server.log.
You can change the value of AAATRACEDOMAIN while the server is running using
SqlAdvantage. To do this:
Connect to the server and run the following commands:
setenv "MYVARIABLE","myvalue"
setenv "AAATRACEDOMAIN","1"
If you are connected to a different server, you must use the following syntax:
exec MYSERVER...setenv "MYVARIABLE","myvalue"
exec AAASERV1168... setenv "AAATRACEDOMAIN","1"
An example of the information added to server.log is shown below.
Domain’s dynamic structure was added to server.log
2003/03/28 11:42:59:AAASERV1168 :mca : 5(cli) : Start Valuation on
portfolio list [10] with all instruments
FIELD[ 0] "id " (IdType ) = NULL
FIELD[ 1] "currency_id " (IdType ) = 26
FIELD[ 2] "dim_port_dict_id " (DictType ) = 400
FIELD[ 3] "dim_instr_dict_id " (DictType ) = NULL
FIELD[ 4] "dim_strat_dict_id " (DictType ) = NULL
FIELD[ 5] "user_id " (IdType ) = 45632781
FIELD[ 6] "language_dict_id " (DictType ) = 1
FIELD[ 7] "function_dict_id " (DictType ) = 2
FIELD[ 8] "scenario_id " (IdType ) = NULL
FIELD[ 9] "quote_val_rule_id " (IdType ) = NULL
...
FIELD[180] "ud_rep_check_strat_f " (FlagType ) = 1
FIELD[181] "ud_rep_color_f " (FlagType ) = 1
FIELD[182] "ud_refresh_dom_e " (EnumType ) = 0
FIELD[183] "ud_rep_anonymous_f " (FlagType ) = 0
FIELD[184] "ud_rep_toc_f " (FlagType ) = 1
FIELD[185] "ud_rep_letter_f " (FlagType ) = 1
FIELD[186] "ud_rep_journal_f " (FlagType ) = 1
2003/03/28 11:43:15:AAASERV1168 :mca : 5(cli) : Send Data (set :0 col:132
row:34)
2003/03/28 11:43:27:AAASERV1168 :mca : 5(cli) : Exit Valuation on portfolio
list [10] with all instruments

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 119
15.2 AAAAdvantage.xxx.yyy variables
Variables of the form AAAAdvantage.xxx.yyy are taken into account when you define them
as application parameters.

15.3 AAADEFREPORTNAT registry variable


The registry variable AAADEFREPORTNAT allows the user to define the default report nature
selected in the selection screen.

15.4 Variables to configure bulk copy usage


Some treatments insert data into the database, which can be done using either the standard
method or bulk copy mode. To configure bulk copy usage, the following set of environment
variables is available:
 AAAREPBCP
 AAABCPMOD
 AAAPERFSTORAGEBCP

AAAREPBCP
To define the insertion mode to use for inserting data into the reporting table, use
AAAREPBCP.

Value Description
Undefined Bulk copy is used

1 Bulk copy is used

All other values Bulk copy is not used

AAABCPMOD
To define the insertion mode to use for inserting data into the order and productivity tables
(e.g., ext_operation, ext_strategy_element, case_management, etc.), use AAABCPMOD.

Value Description
Undefined Bulk copy is used

1 Bulk copy is used

All other values Bulk copy is not used

AAAPERFSTORAGEBCP
To define the insertion mode to use for inserting data into the performance data tables (e.g.,
ext_ret_analysis, standard_perf, perf_attrib), use AAAPERFSTORAGEBCP.

Value Description
Undefined Behaviour depends on AAABCPMOD value. If:
 Undefined: Bulk copy is not used
 1: Bulk copy is used
 All other values: Bulk copy is not used

1 Bulk copy is used

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 120
Value Description
All other values Bulk copy is not used

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 121
16 Directories and files
Triple'A Plus Core files are located in a subtree in parent $AAAHOME. The main files are
located as follows:

File Description
$AAAHOME/aaa Main Triple'A Plus Core program file. It must be combined with
parameters such as GUI, SRV, EXPFMT, IMP, etc.

$AAAHOME/aaaprofile Defines the environment variables.

$AAAHOME/install/install.cfg Contains all installation parameters.

$AAAMSG/log Contains the errors issued by the GUI Clients.

$AAAMSG/server.log Contains the errors issued by the servers and the business
functions and fusions log.

$AAABIN/ contains the binaries of the software mainly run by the aaa script:

aaa_srv Runs a Triple'A Plus Core server.

aaa_imp Runs an import.

$AAAHOME/ddl/bin/ contains various utilities such as:

bcp_table Extracts data from Triple'A Plus Core tables in bcp format.

Checkdb.sh Checks the logical and physical consistency of the Triple'A Plus
Core tables by running Sybase utilities (dbcc checktable, dbcc
checkcatalog, dbcc checkalloc). The check is performed on the
Triple'A Plus Core tables and the Adaptive Server Enterprise
(ASE) system tables).

drop_ud_field.sh Drops a user-defined field.

install_ddl.sh Installs Triple'A Plus Core tables, procedures, indexes,


triggers, and views.

modif_ud_field.sh Adds a user-defined field.

server_stat Generates a report containing the ASE server configuration


parameters, devices, used space disk, etc.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 122
17 Running Triple'A Plus Core
The following section describes how to start the main Triple'A Plus software via the command
"aaa".
You can only use the aaa command on UNIX/Linux systems (or via Cygwin on Windows
platforms).
1. Log into your *nix system.
2. Go to the Triple'A Plus Core home directory.
cd $AAAHOME

3. Run the shell script aaa, which allows you to start, for example, a financial server or the
interface program. It sets the environment and runs the appropriate executable.
If you run the script without arguments, the following usage details are displayed:
usage: aaa [-copy] SRV -S<server_name> -U<username> -P<password>
aaa [-copy] AUDIT arguments
aaa [-copy] ENV
aaa [-copy] EXPACC arguments
aaa [-copy] EXPFMT arguments
aaa [-copy] EXPMSG arguments
aaa [-copy] EXPOBJ arguments
aaa [-copy] EXPORT arguments
aaa [-copy] EXPRULE arguments (CAREFUL : CLASSIF & LIST first !)
aaa [-copy] EXPSCR arguments
aaa [-copy] EXP_CONSTRAINT_TEMPLATE arguments
aaa [-copy] EXP_DATA_PROF arguments
aaa [-copy] EXP_FORMAT_PROF arguments
aaa [-copy] EXP_FUNC_SECU_PROF arguments
aaa [-copy] EXP_SCREEN_PROF arguments
aaa [-copy] EXP_SEARCH_CRITERIA arguments
aaa [-copy] EXP_SEARCH_PROF arguments
aaa [-copy] EXP_REPORT_PROF arguments
aaa [-copy] GUI [-U<username> -P<password>]
aaa [-copy] HOSTDIFF arguments
aaa [-copy] IMP arguments
aaa [-copy] LCI arguments
aaa [-copy] LICENSE -U<username> -P<password>
aaa [-copy] LRADMCMD arguments
aaa [-copy] LRPROPS arguments
aaa [-copy] LRSERV arguments
aaa [-copy] LRSYNC arguments
aaa [-copy] MERCATOR arguments
aaa [-copy] REPTBL arguments
aaa [-copy] ROLIT arguments
aaa [-copy] SUBSCRIPTION arguments
aaa [-copy] sh arguments

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 123
Where:
sh permits running a command (it can be “sh” or “isql”, for example ) with all Triple'A
environment sets.

<server_name> is the Triple'A Plus Core server's name


<username> is the Triple'A Plus Core user's name
<password> is the Triple'A Plus Core user's password

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 124
18 Triple'A Plus Core tools
File Name Usage Description
aaa_audit.sh None This shell script sets up a subscription
audit table.

aaa_expfmt aaa EXPFMT database username This shell script executes a program,
password format_code% which extracts any format, with its
default_charset [out_dir] format_elements and
 Main Triple'A Plus Core script_definitions. The results are
database placed into files that can be used by
the interface to load them into another
 Username environment. This shell script must
 Password only be started by the aaa shell script.
 Code of the format (with
possible wild card)
 Default_charset
 Output directory

aaa_expobj There are two usages for this This shell script executes a program
script: that extracts data from specific
 aaa_expobj [object] entities.
[database] [username]
[password] [object_code%]
(entity) (out_dir)
or
 $AAAHOME/aaa EXPOBJ
 -e entity
 -o object
 -l logical_attributes
 -h history date
 -c codification
 -d output directory
 -f output file name
 -w work directory
 -x flag
 -i insert only
 -U user
 -P user_password
 -M main_database
 -z other

aaa_export aaa EXPORT table_name database This shell script allows the export of
username password functions, application parameters,
pattern%|option types, modelling constraints,
[charset|default_charset] [out_dir] comments, and script definitions.

aaa_exprule aaa EXPRULE database username This shell executes a program that
password valuation_rule [out_dir] extracts all data from valuation rules.
The results are placed into a file that
can be used by the interface to load
them into another environment. This
shell script must be started by the
shell script aaa.
Important: The export/import of
CLASSIFICATIONS and LISTS must be
executed before this one.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 125
File Name Usage Description
aaa_expscr aaa EXPSCR username password This shell script generates an import
database screen entity file based on all entities linked to a
[charset|default_charset] [out_dir] specific screen.
 “screen” is the screen or group of
screens that you want to build as
an import file. You can use the %
character.
 “entity” is the name of the table
to which the screen is attached
(e.g. address).

aaa_imp - Not a text file. Main native file import


program.

aaa_imp.cur - Not a text file.

aaa_license -

aaa_lp_ps2pcl -

aaa_psf - Not a text file.

aaa_reptbl aaa REPTBL [dbo username] [dbo This shell script manages the report
password] [source db] [target db] tables inherited from the format table.
[{build, check, purge}] [all, format It has three main options:
code|format_profile]  "build": drops the report table
[charset|default_charset] and builds it from the format
 "check": displays the table
contents grouped by r_dataset_id
 "purge": truncates the table
contents
For each of these options, you must
declare the scope:
 "all" for all tables in the dedicated
report database
 Format code or format profile for
specific report tables

aaa_rs_admin_command aaa_rs_admin_command This shell script runs AAA_RS Java


U <User> -P <Password> -H commands.
<Actuate server url> -V <Actuate
server volume> –C <Command
Text> -B <
Logback_LiveReports.xml file"

aaa_rs_properties - This shell script executes the UI to set


the LR properties.

aaa_rs_serv - This shell script launches aaa_rs java


daemon.

aaa_rs_synchro - This shell script executes the UI for


the LR synchronisation.

aaa_srv  -Uusername This executable starts a financial


 -Ppassword server.
 -Sservername
 -Lserverlogname
 -Ologname
 -W(display warning message)
 -Etracefile

aaa_subd - This is an executable.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 126
File Name Usage Description
aaa_subd.sh - This shell script runs the
Subscription daemon.

stop_all_gui - This command is executed via sql


advantage or isql w/ "exec
stop_all_gui". It can take an
optional date parameter (if none, the
current date is used).

Triple’A Plus Core includes a number of useful UNIX tools for organising and managing the
database. To run the tools, you enter the command aaa at the UNIX command line followed
by the name of the tool and the relevant parameters. The general syntax is as follows:
aaa TOOLNAME -Uusr -Ppwd [ -Ssrv ] [ -Ddb ]
Where:

usr Triple'A Plus Core user name


pwd Triple'A Plus Core user password
srv Database server name (if you do not specify this parameter, two alternative
defaults are used: the site default name is normally contained in format.param but
if it is not found there, the value ADVANTAGE is used).
Db Database name (if you do not specify this parameter, two alternative defaults are
used: the site default name is normally contained in format.param but if it is not
found there, the value aaamaindb is used).

And aaa also permits running a command (it can be “sh” or “isql”, for example ) with all
Triple'A environment sets (aaa sh).
Example:
./aaa sh sh
./aaa sh isql -Usa -P …

The main tools are shown in the image below (by entering the commands cd $AAAHOME and
./aaa on the UNIX command line):

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 127
18.1 aaa HOSTDIFF
Note: Since Triple'A Plus Core Release 4.30.3, HOSTDIFF replaced HOSTCOMP.
The host comparison script (aaa_hostdiff) provides a comparison report between:
 positions extracted from Triple'A Plus Core at a given date
 positions from another system – generally a back office
This script allows you to compare the portfolio positions checking:
 the held quantity per instrument
 the position currency
 the deposit of the position
This service is generally integrated in the batch process - after the End Of Day job - but it
can also be run on demand. All natures of instrument (e.g., stock, fixed income, cash
account, future, forward, deposit) can be reported by the Host Comparison process.
Note that the instrument code and portfolio code are truncated to 20 characters.
If requested, the script can update two user-defined fields: ud_hc_date_d and
ud_hc_diff_e. These fields must be created in Triple'A Plus Core. You can find the complete
way of doing it in $AAAHOME/std_admin/init/ud_fields.sh (including the instructions
dealing with the permitted values, which must added to the dict_perm_value_dat.usr.sql
file). When setting the option ‘-k’ - update kind – the script performs the following updates:
 ud_hc_date_d is the position date used in the comparison

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 128
 ud_hc_diff_e has the following values:
 0 if not checked
 1 if in line with host
 2 if difference exists
The report contains a specific part displaying inexistent objects (portfolios or instruments).
That means:
 When working with the dimension 'all' (portfolio and/or instrument), inexistent
portfolios or instruments extracted from host file are displayed in this specific section of
the report or in the table.
 When working with the dimension 'list' (portfolio and/or instrument), inexistent
portfolios or instruments extracted from host file are not displayed in the report or in
the table as they cannot belong to the lists.
 If the Hostfile extracted from back-office does not fit the hostdiff requirements, a pre-
handling is made if the script hostdiff_hostfile_rework.sh exists and is executable. The
Given param. are original_host_file, reworked_host_file, portfolio list, and instrument
list.
 If you have long codes for instrument or portfolio, you must use both the option -e and
a different format of the host file. In this case, the portfolio code and instrument code
can be stored up to 60 characters. If not specified, the portfolio and instrument code is
stored in 20 characters strings. For more information, see the description about “host
positions file is in fixed format” in the table below.
The following tables explain the usage of hostdiff.sh:

Switch Argument Comment


-U [user] optional (definition in aaaprofile)

-P [password] optional (definition in aaaprofile)

-h host_positions_file mandatory
host_positions_file is in fixed format

-r comparison_results_file mandatory

-d positions_date mandatory
positions_date is in format DD/MM/YYYY

-m [mode] optional, default is 1.


Mode is the comparison key:
 1= portfolio,instrument
 2= portfolio,instrument,position currency
 3= portfolio,instrument,position deposit
 4= portfolio,instrument,position currency, position deposit
Example: For mode=2, quantities of positions for same position
currency but different deposits are summed.

-l [portfolio list code] optional

-i [instrument list code] optional (instrument list code)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 129
Switch Argument Comment
-s [positions status to optional - default is 50
retrieve] If there are more than one position per line and more than five
fields per line:
portfolio_code on positions 1-20
instrument_code on positions 21-40
quantity on positions 41-61
pos currency on positions 62-81
pos deposit on positions 82-101

-k [update] optional (update kind – default no update)

-t [table] optional (table name)

-c Not applicable Allows for the following instrument types to be compared by open
operation, and not by position:
 Options
 Futures
 Outright Forward
 FX Swap
Example: Two open option contracts with quantities 5 and 20 will
not be compared by their cumulative quantity 25, but by each
individual open operation.

-w [work_directory] optional (default work directory: /var/tmp)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 130
Notes Description
host positions  1 position by line
file is in fixed  5 fields by line
format
(first 3 are mandatory, other depends on the mode)

If flag -e is set, the codes are stored on 60 characters:


 1-60: portfolio code
 61-120: instrument code
 161-181: quantity (e.g., ‘100.000000’)
 182-201: position currency
 202-221: position deposit

If neither flag -e nor flag -q is set, no specific alignment in the zone is required:
 1-20: portfolio code
 21-40: instrument code
 41-61: quantity (e.g. ‘100.000000’)
 62-81: position currency
 82-101: position deposit

If flag -q is set, it indicates another file format (old SQR report):


 1-20: portfolio code
 21-40: instrument code
 41-61: quantity
 62-81: position_cd (unused)
 82-101 : position currency
 102-121: position deposit
 122-123: position status (unused)
 124-125: instrument nature (unused)
 126-200: comment (unused)

comparison The page size is 132 characters.


result file

positions date The format is DD/MM/YYYY.

mode The comparison key.


 1 = portfolio, instrument
 2 = portfolio, instrument, position currency
 3 = portfolio, instrument, position deposit
 4 = portfolio, instrument, position currency, position deposit
For example, for mode=2, quantities of positions on same position currency but
different deposits are summed.
Note: If one of the criteria is summed, it is not displayed.
Don't confuse Icu - Instrument currency - and Pcu - Position currency. Pcu is the
currency of the non-zero position – Triple'A Plus Core or HOST. If both are not zero,
they are two different cases:
 Mode 2 or 4: If the currencies are different, 1 line per system position – 1 for
Triple'A Plus Core and 1 for the Host.
 Mode 1 or 3: This mode is summed by currency and there is no display.
This is the same logic for the PDeposit.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 131
Notes Description
portfolio list code Portfolios positions not included in the dimension ‘List / All portfolios’ are not
extracted from AAA, but ALL host file positions are taken into account.
In this case, the report displays:
 a non-zero position for the Host
 a zero position for Triple'A Plus Core.
Note: The script uses the composition of the lists. This implies that the lists must be
built and up-to-date.
Note: Positions of portfolios not included in the dimension list/all portfolios are not
displayed in the report.

instrument list The script uses the composition of the Triple'A Plus Core instrument lists. This
code implies that the lists must be built and up-to-date.
Note: Instrument positions that are not included in the dimension ‘List / All
instruments’ are not displayed.
Positions of portfolios not included in the dimension list/all instruments are not
displayed in the report.

update kind 0: no update (by default)


1: update directly in Sybase (update ud_portfolio)
2: update via import (aaa imp)
 If the setting is 1 or 2, the script updates the 2 user-defined fields
'ud_hc_date_d' and 'ud_hc_diff_e'.
 ud_hc_date_d is the position date used in the last comparison
 ud_hc_diff_e has the following values:
 0 if not checked
 1 if in line with host
 2 if difference exists
By Sybase query:
(+) Quick
(+) Rollback if update pb
(-) The GUI cache is not updated
(-) No event is created for the subscription
(-) Audit table is not updated
By AAA import:
(+) Disadvantages of Sybase doesn't exist
(-) Slower than Sybase update
(-) Possible side effect of default values from portfolio. Code field
(-) No rollback

table name This parameter allows saving:


 the comparison results into a first table
 the comparison parameters into a second table with suffix _param
 the unknown data from host file into a third table with suffix _unknown.
The three tables are located in the main database. These three tables are purged
before being loaded.
Example: aaa HOSTDIFF -h /usr/tmp/nbo_hc_file -r
/usr/tmp/nbo_hc_allPtfAllInstr.rep -d 29/12/2008 -t hostCompResult
Note: If you change the table name, the script creates new tables with this new
label so avoid polluting the database!

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 132
Notes Description
work directory This is a temporary directory, which is used when creating the temp files.
Example:
-rw-rw-r-- 1 aaa triple-a 558 Jan 5 13:50 hostdiff-0105_27206-hst-lis
-rw-rw-r-- 1 aaa triple-a 665074 Jan 5 13:50 hostdiff-0105_27206-aaa-lis
-rw-rw-r-- 1 aaa triple-a 665632 Jan 5 13:50 hostdiff-0105_27206-all-lis
-rw-rw-r-- 1 aaa triple-a 764 Jan 5 13:50 hostdiff-0105_27206-awk
-rw-rw-r-- 1 aaa triple-a 621512 Jan 5 13:50 hostdiff-0105_27206-dif-lis
-rw-rw-r-- 1 aaa triple-a 465 Jan 5 13:50 hostdiff-0105_27206-tmp
-rw-rw-r-- 1 aaa triple-a 0 Jan 5 13:50 hostdiff-0105_27206-tmp.diff_full
drwxrwxr-x 2 aaa triple-a 10 Jan 5 13:50 .
These files are deleted at the end of the process.
Example: aaa HOSTDIFF -w /usr/tmp/nbo -h /usr/tmp/nbo/nbo_hc_file -r
nbo_hc.rep -d 29/12/2008
Note: This is not the directory where the Host File is stored – just a temp folder.

Examples
hostdiff.sh -h my_pos_file -r the_result_file -d 29/02/2008
compare the positions of all the portfolios
on 29/02/2008
Host positions file is 'my_pos_file',
Comparison made on portfolio / instrument key
Results file is 'the_result_file'

hostdiff.sh -h my_pos_file -r the_result_file -d 29/02/2008 -t hd_results


same as above
but results are also stored in table hd_results
comparison parameters in table hd_results_param
unknown host data in hd_results_unknown

hostdiff.sh -h $AAAHOME/pfile -r rfile -d 29/02/2008 -l ADV_PF -m2


compare the positions of portfolio list ‘ADV_PF’
on 29/02/2008
Host positions file is '$AAAHOME/pfile',
Comparison made on portfolio,instrument key, pos currency

hostdiff.sh -h HC_poscd_2 -r HC_poscd_2.rep -d 18/02/2008 -m 2 -l HC_ptf_list -s 90


compares the positions of the portfolios list ‘HC_ptf_list’
on 18/02/2008
Host positions file is '$AAAHOME/HC_poscd_2',
Comparison made on portfolio, instrument and position currency
The results file is ‘HC_poscd_2.rep’
The status of position to retrieve is ‘90’

hostdiff.sh -h my_pos_file -r the_result_file -d 29/02/2008


compares the positions of all portfolios
on 29/02/2008
Host positions file is 'my_pos_file',
Comparison made on portfolio and instrument key
The results file is 'the_result_file'

For information about debug mode:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 133
ksh -x hostdiff.sh -h NBO_poscd_exact_20080218 -r NBO_poscd_exact_20080218_1.rep -d
18/02/2008 -m 4 -l NBO_HC_test

18.2 Tools for importing and exporting productivity entities


This section describes how to use the EXPOBJ and IMP tools for exporting and importing
entities linked to the Productivity module. The entities involved are those linked to strategies
and grids.
The next section describes the main function of the tool and the following section describes
the syntax of the export and import commands and the files generated by the export
operation. The latter section provides examples of the files generated when you export
objects. After that, a troubleshooting section with useful tips and warnings follows.

18.2.1 Overview
The tool in question (EXPOBJ or IMP) exports and imports strategies and grids. When you run
an export you must specify the entity you want to export. In this case, the entity can be grid
for grids or strat for strategies. Once you have specified the entity you must specify the code
of the records that you want to export. Note that the tool automatically checks if it has to
export a list or an object from the code. If a list of strategies (or list of grids) has the same
code as a strategy (or a grid), the tool will only export the list and its contents.
The tool also exports some of the related entities. You cannot export all the entities linked to
a strategy or a grid because they are linked to too many other entities for this to be
practical. In the case of strategies, linked entities means:
 Strategy history and strategy elements
 Grids with linked classifications, lists and market segments
 Strategy links
These linked entities are automatically exported. Other linked records such as portfolios,
currencies and instruments are not exported. If they are already in the database, the
process will find those linked entities by using their business keys. If they are not in the
database, the command will fail and you will receive an error message.
In the case of grids, related entities mean:
 Linked classifications
 Lists
 Market segments
Note that a strategy can be linked to another strategy. It can be linked by the parent-child
relationship or by a link with the nature strategy. In this case, you must import the
strategies in the right order:
1. Import the parent.
2. Import the child or children.

18.2.2 Usage
When you run aaa expobj without arguments, the following usage details are displayed:
AAAHOME is /oams/d_tap_dvp/aaa/current
Executing /oams/d_tap_dvp/aaa/current/bin/AIX/aaa_expobj
aaa_expobj: Invalid number of arguments

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 134
Usage: Parameters can be entered in two ways:
1) Using position for parameters

aaa_expobj [object] [database] [username] [password] [object_code%] (entity)


(out_dir)

where
object is
[list.sh | classif.sh | grid.sh | strat.sh | modelling_constraint.sh]
> object_code is mandatory
> entity, used in case of list, is by default 'instrument'
or [market_structure | market_structure_subset]
> object_code is mandatory
> no entity
or [rule]
> object_code is mandatory
> entity is optional, is the entity on which the rule is
based
or [defval | inpctrl | filter | update | function ]
> object_code is optional
values in { GUI | batch | both } depending on what we
want to export. If not specified : "both"
> no entity
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
out_dir specifies the destination folder. By default, all files will
be created under /oams/d_tap_dvp/aaa/current/tmp. You must define the "entity"
argument if you specify a destination folder

2) Using option strings for parameters

/oams/d_tap_dvp/aaa/current/aaa EXPOBJ
-e entity -o object -l logical_attributes -h history date -c
codification
-d output directory -f output file name -w work directory -x -i
-U user -P user_password -M main_database -z other

where
entity is the entity to be exported (mandatory)
See valid entities and logical attributes hereunder.
object is the object to be exported. A pattern with % may be used.
(optional)
no object defined will export all objects of the entity
logical attributes indicates the logical attributes to export
(optional)
ALL allows to export all the logical attributes

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 135
history_date is the history date for valuation rules or ft
convention (optional)
codification is the codification in the case of sector or rating
entity (optional)
output directory is the directory where the importation file is placed
(optional. default is current directory)
output file name is the output file name
(optional. default is {entity}.imp )
-x flag (optional )
if set, then the importation file is splitted in the
different logical attributes
Files are: One [output_file_name] for the main part
and several [logical att symbol]_[output_file_name], one
per logical attribute
you must use the -l flag when using the -x flag or the
script will exit.
-z other for entering specific parameters, depending of the entity
o for entity type, contains
'entity_of_type.attribute_of_type' (see example)
user password is the user password used to export the data
(mandatory)
main database is the main database of Triplea (mandatory)
-i : optional means insert only : if specified, generate CMD INSERT
command in output import file.
CMD INSUPD
otherwhise.

VALID ENTITIES:
===============

1) Valid entities having logical attributes (option '-l' allowed).


currency SYN,DEN,NOT,CHR,EXC,EFT
geographic SYN,DEN,NOT
instrument
SYN,DEN,NOT,INC,EXV,ICP,INT,PRI,CHR,ISS,TRP,TRC,IDP,CRP,PSP,GUA,TER,SCT,RAT
portfolio OPE,SYN,DEN,NOT,CHR,PAY,FUN,THR,PSP,RGL
third_party SYN,DEN,NOT,SCT,RAT,CHR,RGL
deposit SYN,NOT
manager SYN,DEN,NOT
type SYN,DEN

Logical attributes symbols:


o ALL: For all allowed logical attributes for the selected entity
or
o ADD: Address, CHR: Chrono, CRP:Corporate action (without corporate
action detail)
o DEN: Denomination, EFT: Exchange format, EXV: Exchange event, GUA:
Guarantee

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 136
o ICP: Instrument composition, IDP: Instrument deposit, INC: Income
event
o INT: Interest rate condition, ISS: Issue redemption events, NOT:
Notepad
o OPE: Operation (without communication)
o PRI: Instr price, PSP: Perf storage parameters, RAT: Rating
attribution
o RGL: Return grid link (no extraction of the grids)
o SCT: Sector Attribution, SYN: Synonym, TER: Term event, TRC: Trading
currency
o TRP: Trading place

2) Valid entities without logical attributes (option '-l' ignored).


map
subscription
rating Codification option '-c' allowed
sector Codification option '-c' allowed
data_dependency
data_secu_prof

3) Valid entities with sub-elements


appl_rule Called Rules in AAA.
val_rule Called Valuation rules in AAA. History date option '-
h' allowed
ft_convention History date option '-h' allowed
trading_constraint History date option '-h' allowed
case_management Exported with case_link and case_clarification
case_msg_template Exported with case_msg_template_def and associated
script_definition
data_profile Exported with its composition ( ie with table
data_prof_compo )

business_entity Exported with its composition ie :


bus_entity_address
bus_entity_instr_compo
bus_entity_ptf_compo
bus_entity_third_compo
bus_entity_user_compo
business_orga Ex:
aaa EXPOBJ -e currency -d /tmp -f mycurr -l ALL -o J%
to create an importation file /tmp/mycurr with all currencies
beginning by J
and with all their logical attributes
aaa EXPOBJ -e portfolio -d /var/tmp -f JPF.imp -l OPE,SYN -o JPF% -x
to create 2 importation files:
/var/tmp/JPF.imp with the portfolios beginning by JPF

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 137
/var/tmp/OPE_JPF.imp with the operations of portfolios beginning
by JPF
/var/tmp/SYN_JPF.imp with the synonyms of portfolios beginning by
JPF
aaa EXPOBJ -e val_rule -o BEL% -d tmp -h 29/10/2007
to create importation file val_rule.imp in the directory tmp (against
current directory)
with valuation_rule_history of 29/10/2007 only
aaa EXPOBJ -e case_msg_template -f case_msg_template.imp -d tmp -w tmp -U
<User> -P<Password> -M <main DB >
export all the case_msg_template of the database in the file
/oams/d_tap_dvp/aaa/current/tmp/case_msg_template.imp
aaa EXPOBJ -e type -o MFR -z instrument.ud_recomm_type_id
to create importation file type.imp with type 'MFR',
where MFR is a type for attribute ud_recomm_type_id on entity
instrument.
aaa EXPOBJ -e data_dependency -o % -d /tmp -U <User> -P<Password> -M <main
DB >
export all the data_dependency of the database in the file
/tmp/data_dependency.imp
aaa EXPOBJ -e data_secu_prof -o % -f data_secu_prof.imp -d /tmp -U <User>
-P<Password> -M <main DB >
aaa EXPOBJ -e data_profile -o PROD_% -f data_profile.imp -d /tmp -U <User>
-P<Password> -M <main DB >
aaa EXPOBJ -e business_entity -o BE_% -f business_entity.imp -d /tmp -U
<User> -P<Password> -M <main DB >

18.2.3 Generated files


The files generated by EXPOBJ depend on the entity that is exported. The files are saved in
the specified output directory or $AAAHOME/tmp by default. When you export grids or lists of
grids, the names of the generated files take the form GRID_"code of grid"."extension". When
you export strategies or lists of strategies, the names of the generated files take the form
STRAT_"code of strategy"."extension".
The code in the generated file name (e.g. code of grid) is the code specified on the export
command line. The file name extension can be one of the following:

Command File Description


.cmd The file contains the import script for importing or re-importing the extracted
entities.

Grid context

.instr_lst Contains the lists of instrument definitions

.instr_lst_cpo List of instrument compositions (only for enumerated)

.instr_lst_def List of instrument script definitions

.cla Contains information on the classifications that define the grids

.cla_cmp Contains the classification compositions of the classifications in the .cla file

.grd Contains data related to the grids

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 138
Strategy entity
Depending on the parent_market segment and the bench_entity_dict_id, the generated file
can take one of the following extensions:

No parent market A parent market segment


segment
No benchmark .nomkt_bench .mkt_bench

Benchmark instrument .nomkt_bench_ins .mkt_bench_ins

Benchmark portfolio .nomkt_bench_ptf .mkt_bench_ptf

Benchmark strategy .nomkt_bench_str .mkt_bench_str

Depending on the parent_market segment and the dim_grid_object_id, the generated file
can take the following extension:

No parent market A parent market segment


segment
Grid dimension = “grid” .nomkt_grid .mkt_grid

Grid dimension = “list” .nomkt_list .mkt_list

Strategy history entity

.str_hst Contains data from the strategy history entity

Strategy element entity

.str_elt or .str_elt1 Contains data from the strategy element entity

18.2.4 Imports
To import the strategies, grids, lists of strategies or lists of grids of grids, run the following
command from the $AAAHOME directory:
For 32-bits version:
aaa IMP -U<user> -P<password> -S<Sql server name> < /usr/tmp/<Command file>
or
For 64-bits version:
aaa IMP64 -U<user> -P<password> -S<Sql server name> < /usr/tmp/<Command file>

Where

<user> is the name of the database user,


<password> is the password linked to the user,
<Sql server is the name of the SQL server,
name>
<Command file> is the name of the file generated by the export corresponding to the data you want
to import.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 139
18.2.5 Troubleshooting tips
Hierarchical elements, that is, elements included in other elements in a parent-child
relationship, present specific problems and require the procedures described below for
successful imports and exports.
Let us assume that all the relevant data required to import a strategy or grid is already in
the database: instruments, portfolios, data profiles and currencies linked to the strategy or
grid.
You cannot import a child strategy or grid before you import the parent strategy or
grid. This is because the parent strategy_id is linked to the parent strategy. When you
import such strategies or grids, make sure you import the parent first and then run the tool
again to import the child strategies or grids (and repeat as often as necessary). Respect this
procedure for children of child strategies or grids. Not respecting this procedure generates
errors.
Secondly, when you import data, you are replacing the existing data in the database.
Therefore, any existing strategies or grids in the import environment will be lost. For
example, if you have a list with a given code in your import environment and you import a
grid that uses a list with the same code, the existing list is replaced even if it does not have
the same definition.

18.2.5.1 Example 1: Strategies with the parent-child relationship


Let us take the example of a parent strategy called My_Parent_Strat and a child strategy
called My_Child_Strat. If you import the child strategy before the parent strategy it will
cause an error.
If both of the strategies are in the same list and you want to export the list, there are two
possible cases. The first case is that you export the parent strategy first with the result that
the import works perfectly.
The second case is if you export the child strategy first, which will provoke an error. To
resolve the error, run the tool a second time since the parent strategy was imported the first
time.

18.2.5.2 Example 2: Grids with the parent-child relationship


To avoid errors when you import grids or list of grids, import the parent grid before the child
grids as in the case of strategies. In the case of a list of grids if you get an error at the first
import you can import the child grids by running the import a second time.

18.2.5.3 Example 3: Strategy based on a market segment


If a strategy has a parent market segment, the related grid is not exported automatically.
You must export and import the related grid before you export the strategy.

18.2.5.4 Example 4: Benchmark with the strategy nature


In this case, you must import the strategy used as the benchmark before the main strategy.

18.3 Initialisation and configuration files


The following initialisation files are used by Triple'A Plus Core:
 initaaa.cfg
 opensrv.lis
 aaaprofile
 aaa_install.cfg

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 140
 keep_files.cfg
 keep_files.usr.cfg

18.4 Tools menu


Below is a summary of the tools you can access via the new Tools menu:
Directory AAATOOLS = $AAAHOME/tools
TRIPLE'A PLUS CORE EXPORT-IMPORT MENU
# Valuation rules exportations
$AAAHOME/aaa EXPRULE $DB $AAAUN $AAAPW $VR

# Denominations of fmt and fmt_elements


$AAAHOME/aaa EXPDEN $DB $AAAUN $AAAPW $FC

# Extraction of formats, fmt_elements, scripts definitions etc ...


$AAAHOME/aaa EXPFMT $REL $DB $AAAUN $AAAPW $FC

# Extraction of fmt_elements notepads and script_definitions


# for technical documentation (internal use only)
$AAAHOME/aaa EXPDOC $REL $DB $AAAUN $AAAPW $FC

# Extraction of classifications, grids, lists, strategies


$AAAHOME/aaa EXPOBJ $OBJ $DB $AAAUN $AAAPW $FC

# Extraction of Screens
$AAAHOME/aaa EXPSCR $AAAUN $AAAPW $DB $SC $EN

TRIPLE'A PLUS CORE ADMINISTRATION MENU


# Show business_key, mandatory_key of a table
$AAAHOME/tools/sel_tbl.sh $AAAUN $AAAPW $MAINDB

$AAAHOME/aaa REPTBL $AAAUN $AAAPW $FDB $TDB $TBL $CHX

# Get the free space in the maindb segments


$AAATOOLS/free_space.sh $AAAUN $AAAPW

# Installation report
$AAATOOLS/installationreport.sh [ IR.dir ]

# Show list of connected users


$AAATOOLS/get_conn_users.sh $AAAUN $AAAPW

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 141
TRIPLE'A PLUS CORE SERVER MANAGEMENT MENU
# Running servers
internal SQL select (not a specific tool)

# Start SQL & Backup Servers


$AAATOOLS/run_srv.sh

# Check a Financial Server


$AAATOOLS/check_server.sh $AAAUN $AAAPW $DBN

# Start a Financial Server


$AAATOOLS/start_server.sh $AAAUN $AAAPW

# Stop a Financial Server


$AAATOOLS/stop_server.sh $AAAUN $AAAPW

# Check ALL Financial Servers


$AAATOOLS/check_all_servers.sh $AAAUN $AAAPW $DBN

# Start ALL Financial Servers


$AAATOOLS/start_all_servers.sh $AAAUN $AAAPW

# Stop ALL Financial Servers


$AAATOOLS/stop_all_servers.sh $AAAUN $AAAPW

# Kill a user GUI


$AAATOOLS/kill_user.sh $AAAUN $AAAPW $SAPWD

# Tail server log


$AAATOOLS/tail_serverlog.sh

# Check the Sybase servers


$AAATOOLS/check_sybserver.sh

# Tail Sybase data server log file


$AAATOOLS/tail_syblog.sh

# Get the users connections


$AAATOOLS/sp_who.sh $AAAUN $AAAPW

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 142
18.5 Trace tools
A number of trace tools are included in Triple'A Plus Core. For each trace tool, the description
indicates:
 Availability: Version(s) in which the functionality appeared, executables and platforms
informed.
 Multithread support (aaa_srv): Some trace information is global: the trace tool must be
used for a single function running on the server at a time (interlaced results give
irrelevant traces)
 Procedure to activate the trace. Variables have to be set before the executable is
started: Some variables can be dynamically modified on the server (see "setenv rpc")
 Output
 In all cases, as well as the specific file of each trace, you need the log, and for aaa_srv,
the server log.

18.5.1 Initialisation
For Windows NT, you can set the environment variables such as AAASQLTRACE,
AAAPERFMON, etc. in two ways.

18.5.1.1 Windows NT registry for the “starter” command


The settings are only valid for one specific Triple'A Plus Core version. The registry hierarchy
used by the software is:
HKEY_LOCAL_MACHINE\SOFTWARE\<company>\STARTER\<key word>
Simply add a line for your environment variable (e.g. AAASQLTRACE=3).

18.5.1.2 PC global configuration settings


To access the global settings for Triple'A Plus Core applications from the Windows Start
menu, go to Start > Settings > Control Panel > System > Environment > System variables.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 143
18.5.1.3 UNIX configuration settings
Set the environment variables before you run your Triple'A Plus Core applications.
Usage: export <variable>=<value>
Example: export AAASQLTRACE=3

18.5.1.4 “setenv” rpc


Availability: aaa_srv
RPC that lets you modify environment variables without having to restart the financial server
or change the execution environment.
Usage (in Isql or SQL Advantage): exec <T’A server_name>...setenv "<variable>",
"<value>" | NULL
At this date (05/04/2000), supported variables modifications are:
 AAASQLTRACE
 AAASQLTRACEPARAM
 AAASQLTRACETHREAD
 AAASQLTRACEFMT
 AAAMEM
 AAAPERFMON
 AAATRACEDOMAIN
 AAASCRIPTTRACE
 AAASCRIPTTRACEMASK
 AAASCRIPTTRACETHREAD
 AAATRACEFINFCT
Examples:
exec AAASERVNAME...setenv "AAASQLTRACE", "3"

Set AAASQLTRACE to 3.
exec AAASERVNAME...setenv "AAAPERFMON", NULL

Unset AAAPERFMON (trace is stopped)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 144
18.5.2 Traces

18.5.2.1 SQL traces

Simple SQL trace


The trace is system-wide.
Simply add “-E <filename>” to the command line when running gui, aaa_srv and aaa_imp.
The output file can be used in the Triple'A Plus Core simulator.
The second number is the time between two traces.
Procedure calls with parameters are then logged:
00001 1.742 SQL get_sh_appl_user_by_cd @code="sso"
00002 0.000 SQL get_all_server_connect_by_nm @server_name="AAASERV842"
00003 0.000 SQL unlock_event_sched_by_sid @server_id=10072
00004 0.000 SQL dump_meta_dict
00005 0.100 SQL dump_all_codif
00006 0.000 SQL get_all_currency
00007 36.523 SQL sel_sh_table_modif_stat
00008 0.000 SQL get_all_portfolio_by_id @id=1297641
00009 0.000 SQL get_exd_instrument_by_id @id=2866822
00010 0.070 SQL init_exd_position_by_domain
@dim_port_dict_id=800,@port_object_id=1297641,@dim_instr_dict_id=900,@instr_object_id
=2866822,@min_status_e=4,@max_status_e=4,@zero_qty_f=0,@begin_d="03/30/2000",@end_d="
03/30/2005",@function_dict_id=4,@fusion_date_rule_e=0,@pos_val_rule_e=0,@currency_id=
26,@port_pos_type_id=NULL,@cons_portfolio_id=NULL,@pps_load_e=0,@pps_type_f=1,@pps_co
ns_pf_f=1,@pps_currency_f=1,@event_gen_nat_e=0,@load_hierarchy_f=0,@load_pos_f=0,@acc
_period_id=NULL,@hist_list_f=0
00011 1.753 SQL sel_exd_position_by_domain
@dim_port_dict_id=800,@dim_instr_dict_id=900,@min_status_e=4,@max_status_e=4,@zero_qt
y_f=0,@non_enum_instr_f=0,@begin_d="03/28/2000",@end_d="03/30/2000",@function_dict_id
=4,@fusion_date_rule_e=0,@port_object_id=1297641,@instr_object_id=2866822,@pos_val_ru
le_e=0,@duration_f=0,@beta_f=0,@current_return_f=0,@rating_f=0,@risk_exp_f=0,@grid_id
=NULL,@ret_det_level_e=0,@subgrid_f=0,@event_gen_nat_e=0,@load_hierarchy_f=0,@load_po
s_f=0,@comp_data_e=0

Detailed SQL traces


The trace is system-wide.
Used to identify performance problems and trace DBA access.
Set the variable AAASQLTRACE to 3.
The output is generated in $AAAMSG/sql.<user_name>
AAASQLTRACEPARAM is used to add parameters (such as the –E option).
Set the variable $AAASQLTRACEPARAM to 1 (e.g. export AAASQLTRACEPARAM=1)
Set the variable $AAASQLTRACEPARAM to 2 to trace bulk copy inserts:
column#:XX record#:XXX name:xxx datatype#:XX : ... BulkCopy
:data:indicator:data_lenght#next row…
ct_command() SUCCEED Connect=0 CsCmd=1122234 Mode=RPC Thread=0
Request="unlock_event_sched_by_sid" ... 0.000000
ct_command() SUCCEED Connect=0 CsCmd=1122234 Mode=RPC Thread=0
Request="dump_meta_dict" ... 1.883000
ct_command() SUCCEED Connect=0 CsCmd=1122234 Mode=RPC Thread=0
Request="dump_all_codif" ... 0.160000

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 145
ct_command() SUCCEED Connect=0 CsCmd=1122234 Mode=RPC Thread=0
Request="get_all_currency" ... 0.040000

with AAASQLTRACEPARAM=1:
ct_command() SUCCEED Connect=1 CsCmd=2b256c8 Mode=LANG
Thread=3b00628 Request="create table #port_synth ( id id_t not null,
portfolio_id id_t not null, initial_d datetime_t null, final_d
datetime_t null ) " ... 0.031000
ct_command() SUCCEED Connect=1 CsCmd=2b256c8 Mode=RPC
Thread=3b00628 Request="init_exd_position_by_domain
@dim_port_dict_id=800,@port_object_id=394802924,@dim_instr_dict_id=NULL,@instr_object
_id=NULL,@min_status_e=4,@max_status_e=4,@zero_qty_f=0,@begin_d="12/31/2000
00:00:00",@end_d="02/28/2001
00:00:00",@function_dict_id=9,@fusion_date_rule_e=0,@pos_val_rule_e=0,@currency_id=27
102060,@port_pos_type_id=NULL,@cons_portfolio_id=NULL,@pps_load_e=0,@pps_type_f=1,@pp
s_cons_pf_f=1,@pps_currency_f=1,@event_gen_nat_e=0,@load_hierarchy_f=0,@load_pos_f=1,
@acc_period_id=NULL,@hist_list_f=1,@data_profile_id=NULL,@load_non_discret_f=0,@dim_e
ntity_dict_id=117" ... 0.031000
ct_command() SUCCEED Connect=1 CsCmd=2b256c8 Mode=RPC
Thread=3b00628 Request="sel_exd_position_by_domain
@dim_port_dict_id=800,@dim_instr_dict_id=NULL,@min_status_e=4,@max_status_e=4,@zero_q
ty_f=0,@non_enum_instr_f=0,@begin_d="12/31/2000 00:00:00",@end_d="02/28/2001
00:00:00",@function_dict_id=9,@fusion_date_rule_e=0,@port_object_id=394802924,@instr_
object_id=NULL,@pos_val_rule_e=0,@duration_f=0,@beta_f=0,@current_return_f=0,@rating_
f=0,@risk_exp_f=0,@grid_id=NULL,@ret_det_level_e=2,@subgrid_f=0,@event_gen_nat_e=0,@l
oad_hierarchy_f=0,@load_pos_f=1,@comp_data_e=9,@acc_plan_id=NULL,@pps_load_e=0" ...
1.141000
ct_command() SUCCEED Connect=1 CsCmd=2b256c8 Mode=LANG
Thread=3b00628 Request="truncate table #dom_port truncate table #dom_position
truncate table #dom_pos truncate table #dom_instr truncate table #vector_id drop
table #port_synth " ... 0.000000
ct_command() SUCCEED Connect=1 CsCmd=2b256c8 Mode=RPC
Thread=3b00628 Request="get_all_type_by_cid @id=28771652,@codif_id=NULL" ... 0.016000

with AAASQLTRACEPARAM=2:
BulkCopy blk_init() table:standard_perf_data column#:16 record#:2 ...
0.062000
BulkCopy blk_bind table:standard_perf_data column#:00 record#:0002 name:id
datatype#:08 : ... BulkCopy : 189286531:0:4#189286532:0:4# ... 0.000000
BulkCopy blk_bind table:standard_perf_data column#:01 record#:0002
name:perf_storage_param_id datatype#:08 : ... BulkCopy :
148500468:0:4#148500468:0:4# ... 0.000000
BulkCopy blk_bind table:standard_perf_data column#:02 record#:0002
name:initial_d datatype#:10 : ... BulkCopy : 00:00:00
:0:8#00:00:00 :0:8# ... 0.000000
BulkCopy blk_bind table:standard_perf_data column#:13 record#:0002
name:return_gross_n datatype#:10 : ... BulkCopy :
0.000000:0:8#0.000000:0:8# ... 0.000000
BulkCopy blk_bind table:standard_perf_data column#:14 record#:0002
name:std_deviation_n datatype#:10 : ... BulkCopy :
0.000000:0:0#0.000000:0:0# ... 0.000000
BulkCopy blk_bind table:standard_perf_data column#:15 record#:0002
name:nb_portfolio_n datatype#:10 : ... BulkCopy :
0.000000:0:0#0.000000:0:0# ... 0.000000
BulkCopy blk_rowxfer() table:standard_perf_data column#:16 record#:2 ...
0.000000
BulkCopy blk_done(ALL) table:standard_perf_data column#:16 record#:2 ...
0.032000

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 146
$AAAHOME/ddl/bin/sqltrace.sh <sql_filename> script can summarise calls:
------------------------------------------------------
File name : /usr/local/triple-a/v3/area/version/appl/msg/sql.z002313
------------------------------------------------------
8 x create ... 0.11 ( 0.0142)
1 x dump_all_codif ... 0.02 ( 0.0210)
1 x dump_meta_dict ... 3.05 ( 3.0469)
1 x get_all_appl_user_by_id ... 0.16 ( 0.1577)
7 x get_all_bal_pos_type_by_id ... 0.03 ( 0.0046)
1 x get_all_currency ... 0.17 ( 0.1660)
9 x get_all_currency_by_id ... 1.28 ( 0.1418)
1 x get_all_grid_by_id ... 0.00 ( 0.0034)
1 x get_all_list_by_id ... 0.01 ( 0.0055)
7 x init_exd_position_by_domain ... 1.01 ( 0.1438)
1 x sel_all_appl_param ... 0.13 ( 0.1251)
786 x sel_all_exch_rate_by_cid_dt ... 7.94 ( 0.0101)
2339 x sel_all_instr_price_by_iid_dt ... 20.95 ( 0.0090)
5 x sel_all_script_def_by_id ... 0.02 ( 0.0049)
1 x sel_exd_classif_compo_by_cfid ... 0.05 ( 0.0501)
7 x sel_exd_position_by_domain ... 2.17 ( 0.3095)
1 x sel_portfolio_id_by_lid ... 0.00 ( 0.0033)
1 x sel_sh_table_modif_stat ... 0.20 ( 0.2037)
1 x sel_sum_format_elem_by_fid_fid ... 0.22 ( 0.2178)
7 x truncate ... 0.02 ( 0.0031)
1 x unlock_event_sched_by_sid ... 0.01 ( 0.0052)
------------------------------------------------------
3227 ... 39.94

With $AAASQLTRACE set to 4, one gets more detailed Sybase sequence calls, especially
the date and time of the Sybase call:
*** 2000/03/13 14:05:53 U=sso H=test1 D=192.168.8.145:0.0 L=sso
ct_results() SUCCEED Connect=-1 CsCmd=4016a4e0 Type=CMD_DONE
*** 2000/03/13 14:05:53 U=sso H=test1 D=192.168.8.145:0.0 L=sso
ct_results() END_RESULTS Connect=-1 CsCmd=4016a4e0 Type=CMD_DONE
*** 2000/03/13 14:05:53 U=sso H=test1 D=192.168.8.145:0.0 L=sso
ct_command() SUCCEED Connect=0 CsCmd=4016a4e0 Mode=RPC
Request="get_sh_appl_user_by_cd"

18.5.2.2 Format traces


Availability: aaa_srv.
The trace is system-wide.
Set the variables $AAASQLTRACE to 3 and $AAASQLTRACEFMT to 1.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 147
Traces for format element evaluation are added to the output file
$AAAMSG/sql.<user_name>.
ct_command() SUCCEED Connect=1 CsCmd=40166f40 Mode=RPC
Thread=4040e710 Request="sel_sum_format_elem_by_fid_fid" ... 0.451725
ct_command() Column:1.002 Connect=1 CsCmd=40166f40 Mode=RPC
Thread=4040e710 Request="sel_all_script_def_by_id" ... 0.005382
ct_command() Column:1.002 Connect=1 CsCmd=40166f40 Mode=RPC
Thread=4040e710 Request="get_all_list_by_id" ... 0.005855
…etc
Script Time (6 rows) Column:1.005 ... 0.000 sec / DEF_VALO_CATEG.filter_f /
DEF_VALO_GRAPHCAT.display_f /
…etc

To use the $AAAHOME/ddl/bin/sqltracefmt.sh <sql_filename> [min time] script, you


must pass it the SQL output file and the optional minimum time (lower elapsed times are not
processed) as parameters.
The summary shows the total time, the related format elements and database calls, if any
(the C code execution time can be worked out by subtracting the SQL database call time
from the total).
Scripts are sorted by decreasing total Evaluation Time:
==========================================================
File : sql.z001055.old Unit Time is : 0.01 (Default)
==========================================================

Script Column:1.150 Evaluation Time : 0.034 sec

Format Format_Element
---------------------+------------------------------
DEF_VALO_RBONDS category
DEF_VALO_RCOMM category
DEF_VALO_RSTOCKS category
DEF_VALO_RCATEG category

Call SQL Request Total Unit


------+------------------------------+-------+-------
2 get_all_list_by_id 0.011 0.005
2 sel_all_script_def_by_id 0.009 0.005
------------------------------+-------
Total SQL Time 0.020

==========================================================
…etc

Script column: 1.150 shows the dataset and column number (starting from 1).
Note: Several format elements can refer to the same definition. Some definitions can only
require C code time (and no SQL call time):
==========================================================

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 148
Script Column:1.169 Evaluation Time: 0.017 sec

Format Format_Element
---------------------+------------------------------
DEF_VALO_RSTOCKS beta

Call SQL Request Total Unit


------+------------------------------+-------+-------
Total SQL Time 0.000

==========================================================

18.5.2.3 SQL traces with multi-thread


The trace is system-wide.
Set the variables $AAASQLTRACE to 3 and $AAASQLTRACETHREAD to 1.
Thread information is added to the output files $AAAMSG/sql.<user_name> and
$AAAMSG/server.log.
Use sqltrace.sh with a second parameter which specifies the thread number. Use the detail
parameter to display all the threads.

18.5.2.4 Memory traces


Availability: aaa_srv.
The trace supports multi-computation at the same time.
Set the $AAAMEM variable to 1.
A memory trace is added to the server.log file for most currently called processes (financial
analysis by ID, fusion on the dispatcher and fusion server side).
Format: " // Mem: TTTTTTTTTTT - FFFFFFFFFFF" is added to the end of the lines that begin
"Start..." (for example, Start Portfolio Storage on portfolio [DE5321690] with all instruments
// Mem: 46122288 - 17633600).
 TTTTTTTTTTT is the total amount of memory allocated for the server process with a
maximum of 11 digits.
 FFFFFFFFFFF is the free memory (it is also included in the total amount TTTTTTTTTTT).
Example in server.log:
"1999/04/21 14:02:09:AAASERVSSO :sso : 5(cli) : Exit Check Strategy on
portfolio [SEB] with all instruments // Mem: 10902208 - 2864496"

Around 11MB has been allocated for the AAASERVSSO server. Less than 8MB is currently in
use (out of the 11MB).
Note: The first figure is the maximum memory allocation made since the server was started
(if a large amount of memory has been used for a computation, UNIX cannot use it for
another process even if it has been freed). This amount NEVER decreases (until the server is
stopped). The difference between the amounts is roughly the memory used (minus the
internal memory management data). The free memory is not implemented under SunOS.

18.5.2.5 Financial computing traces


Availability: aaa_srv.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 149
The trace supports multi-computation at the same time (the server name is also shown in
the trace).
You must set both the $AAAPERFMON and AAATIMERMASK variables to 1.
The output is copied to in $AAAMSG/pmon.<user_name>.
Example of trace:
2000/04/04 10:23:25:AAASERV842 / Operation List - L:00000.361000 –
C:00000.000000 – F:00001.882000
2000/04/04 10:25:08:AAASERV842 / Strategy Reconciliation - L:00000.000000 –
C:00004.897000 – F:00000.721000
2000/04/04 10:25:34:AAASERV842 / Return Analysis - L:00000.521000 –
C:00001.903000 – F:00000.661000
2000/04/04 10:25:57:AAASERV842 / Valuation - L:00001.001000 –
C:00000.030000 – F:00011.807000

The beginning is formatted with a fixed length: 30 chars for the server name, 25 for the
function name. “L” indicated load time, “C” computing time and “F” format evaluation and
sending time. More detailed information may be added in the future (all separated by “-“).
No script has been currently developed. The result can be imported into Excel, for example,
to compute average, deviation, etc.

18.5.2.6 Traces for block mode errors


Availability: aaa_srv, aaa_imp, gui.
Improved trace for multi-access when trigger messages in the log file are not precise
enough.
Set the $AAAMACCTRACE variable to 1.
The output file $AAAMSG/macc.XXX is created (XXX is the login for the server). In the case of
an error (trigger), a dump of the record (and the date/hour, entity, action) is printed in this
file.
Example of trace:
----
DATE 2000/03/06 17:56:39 Object port_synthetic, Action Insert
FIELD[ 0] "id " (IdType ) = NULL
FIELD[ 1] "portfolio_id " (IdType ) = 3297951
FIELD[ 2] "port_pos_set_id " (IdType ) = NULL
FIELD[ 3] "currency_id " (IdType ) = 26
FIELD[ 4] "instr_id " (IdType ) = NULL
FIELD[ 5] "market_segment_id " (IdType ) = 17157
FIELD[ 6] "grid_id " (IdType ) = 15112
----

Block mode is used in the following functions: fusion, Strategy Reconciliation/ Allocate Order,
synthetic data building, copy operation, modify currency (aaa_srv), import (in block mode)
(aaa_imp) + same for OLI, Order entry, Simulation and Event Generation (Saving
Operations) (GUI), portfolio storage, benchmark storage, etc.

18.5.2.7 Memory cache statistics


Availability: aaa_srv.
RPC displays the statistics of the memory cache.
Usage (in Isql): exec <server_name>… opti_stat

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 150
18.5.2.8 Script engine trace
The trace is system-wide.
The following different variables are available to activate script traces:
 $AAASCRIPTTRACE
 $AAASCRIPTTRACEMASK
 $AAASCRIPTTRACETHREAD
In the output file $AAAMSG/scripttrace.<user_name>.
Set the variables $AAASCRIPTTRACE to different values. The available values are:
 $AAASCRIPTTRACE=1
 AAASCRIPTTRACE=2 or AAASCRIPTTRACE=20
 AAASCRIPTTRACE=3
 AAASCRIPTTRACE=15
 AAASCRIPTTRACE=21
 AAASCRIPTTRACE=25

$AAASCRIPTTRACE=1
This trace is very useful for identifying dependencies between default values and rules. It
displays a tree with all the evaluated attributes after modification of an attribute and the
complete script definition as stored in memory.
Example of trace when modifying the operation status:
START <SCPT_AnalyseEntityDefVal(Depend,DefVal)> [2011/11/25 11:47:38.679000]
(Thread:3bb59a0) *******
Evaluated attributes for entity : *buy_operation*

Tree of depending attributes after modification of attribute :


#buy_operation.status_e (forcedFlg 1)#
-> acc2_exch_rate
| -> acc3_exch_rate
| | -> trade_exch_rate
| | | -> op_net_amount_m
| | | | -> fi_net_amount_m
| | | | | -> sys_net_amount_m
| | | | -> pf_net_amount_m
| | | | | -> fi_net_amount_m
| | | | | -> sys_net_amount_m
| | | | -> sys_net_amount_m
| | | | -> acc_net_amount_m
| | -> op_net_amount_m
| | -> acc_net_amount_m
| -> trade_exch_rate
| -> cash_pf_exch_rate
| -> op_net_amount_m
| -> acc_net_amount_m

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 151
-> spot_quote_n
| -> acc2_exch_rate
| -> spot_price_n
| -> acc_net_amount_m
| -> acc2_net_amount_m
| | -> op_net_amount_m
| | -> acc_net_amount_m
-> suppl_amount_m
| -> op_gross_amount_m
| | -> op_net_amount_m
| | -> bp_1_amount_m
| | | -> op_net_amount_m
| | | -> bp_1_currency_id
| | | | -> op_net_amount_m
| | -> ud_pool_code
-> acc_net_amount_m
-> acc2_net_amount_m

The above is a tree with all attributes that are evaluated due to the modification of an
attribute. Indented to the right are the dependencies between the evaluated attribute and
other attributes.

******************************************************
* Chronological list of evaluated script definitions *
* (containing default values and rules) *
******************************************************

***Exec default value for attribute "suppl_amount_m"


Value before (suppl_amount_m): ""
Script definition :
BEGIN

IF ( instr_id.nature_e=19 AND instr_flow_id<>NULL AND


DATEDIFF(operation_d,INSTR_FLOW(instr_id,SEARCH_BEST_OPER(portfolio_id, instr_id, 1,
ACCT_STATUS(), ACCT_STATUS(), 3,365).operation_d,SEARCH_BEST_OPER(portfolio_id,
instr_id, 1, ACCT_STATUS(), ACCT_STATUS(), 3, 365).operation_d,NEXT, ,
1).optimal_d,DAY)>0
, SEARCH_BEST_OPER(portfolio_id, instr_id, 1, ACCT_STATUS(), ACCT_STATUS(), 3,
365).accr_amount_m
)

END
Value before (suppl_amount_m): ""

***Exec default value for attribute "op_gross_amount_m"


Value before (op_gross_amount_m): ""
Script definition :

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 152
BEGIN

{This script implies setting to zero gross amount for FRA Open and Swap Open
ref_nat_e}
IF (ref_nat_e IN(11, 17), 0,
RNDAMT((price_n*quantity_n*instr_id.contract_size_n)+ suppl_amount_m,op_currency_id))

END
Value after (op_gross_amount_m): " 0.00"

******* END <SCPT_AnalyseEntityDefVal> *******

The above are complete script definitions for all evaluated attributes as stored in the
memory of the client application. They can be a concatenation of the rule definition and the
default value definition.
To find dependencies between two attributes, such as status_e and bp_1_amount_m, search
for bp_1_amount_m in the output file. Then, follow the tree from right to left starting from
bp_1_amount_m. You will see all attributes that are dependent on bp_1_amount_m.

AAASCRIPTTRACE=2 or AAASCRIPTTRACE=20
Traces the internal script evaluation.
Example of trace:
*** Script analysis on record :
$OBJECT$,BuyOpEnt,$DYNST$,BuyOp

***
Script definition:
BEGIN

IF((USER().code = "tasclogin") AND (parent_oper_nat_e = 2), "tasc_ptf_book")


END

(level 008)---- value :

(level 006)---- value : code


----- value : "lje"

(level 006)---- value : "tasclogin"

(level 004)---- value : 0

(level 002)---- value : 0

(level 002)---- value :

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 153
*** The script return :

******* END <SCPT_AnalyseEntityDefVal> [2011/11/25 11:47:38.679000] (Thread:3bb59a0)


*******

AAASCRIPTTRACE=3
Prints the execution time for the evaluation of default values, input controls, filters, and any
scripts.
Request="(DV)GET_BEST_OBJECT" 0.140000
Request="(DV)buy_operation".expiration_d 0.140000
Request="(DV)GET_APPL_PARAM" 0.016000
Request="(DV)buy_operation".price_n 0.016000
Request="(DV)GET_BEST_OBJECT" 0.015000
Request="(DV)buy_operation".bp_1_type_id 0.015000
Request="(DV)buy_operation".lock_fi_currency_id 0.016000
Request="(DV)GET_BEST_OBJECT" 0.031000
Request="(DV)GET_BEST_OBJECT" 0.016000
Request="(FLT)buy_operation".order_nat_e 0.047000

The tool sqltrace.sh can be used to analyse this trace.


------------------------------------------------------
File name : scripttrace.aaa
------------------------------------------------------
1 x (DV)GET_APPL_PARAM ... 0.02 ( 0.0160)
4 x (DV)GET_BEST_OBJECT ... 0.20 ( 0.0505)
1 x (DV)buy_operation.bp_1_type_id ... 0.01 ( 0.0150)
1 x (DV)buy_operation.expiration_d ... 0.14 ( 0.1400)
1 x (DV)buy_operation.lock_fi_currency_id ... 0.02 ( 0.0160)
1 x (DV)buy_operation.price_n ... 0.02 ( 0.0160)
1 x (FLT)buy_operation.order_nat_e ... 0.05 ( 0.0470)
------------------------------------------------------
10 ... 0.45
------------------------------------------------------

AAASCRIPTTRACE=15
Similar to AAASCRIPTTRACE=1 and AAASCRIPTTRACE=3

AAASCRIPTTRACE=21
Similar to AAASCRIPTTRACE=2 with more details in the node.
Example of details:
(level 001)--> SCPT_EvalFctNode (IF)

(level 003)--> SCPT_EvalCmpNode (IN)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 154
(level 005)--> SCPT_EvalDataNode

(level 007)--> SCPT_EvalFctNode (USER)

(level 006)---- value : Record: "ApplUser"

(level 005)## return record :


$OBJECT$,ApplUser,$DYNST$,A_ApplUser
HierInfo, IdType , SysnameType , NameType ,
InfoType , DictType , IdType , IdType , IdType
, IdType , IdType , IdType , FlagType ,
NameType , FlagType , FlagType , FlagType ,
DatetimeType , FlagType , IntType , IdType ,
IdType , IdType , FlagType , IdType , IdType
, TextType , IdType , SysnameType , FlagType ,
FlagType , NameType , NameType , NameType ,
SysnameType , SysnameType , IdType , InfoType ,
InfoType , InfoType , InfoType , DatetimeType ,
deleted,"id","code","name","denom","language_dict_id","func_secu_prof_id","last_domai
n_id","format_profile_id","report_profile_id","screen_profile_id","printer_profile_id
","active_f","os_user_c","security_admin_f","superuser_f","audit_f","validity_d","gui
_user_f","max_running_gui_n","parent_user_id","data_profile_id","data_secu_prof_id","
wui_user_f","quick_search_prof_id","manager_id","gui_context_t","fund_data_prof_id","
user_password","update_right_f","delete_right_f","_LangThousSep","_LangDecimSep","_La
ngDateFmt","_SuperUserLogin","_SuperUserPasswd","ud_id","ext_denomination","ext_denom
ination_en","ext_denomination_fr","ext_denomination_de","ext_sql_calc_d",
0,34,"aaa","aaa","aaa",1,1,1000006166,7,4,21,NULL,1,"
",1,1,0,NULL,1,0,NULL,2,2,0,NULL,113,"
",NULL,NULL,1,1,",",".","DD/MM/YYYY",NULL,NULL,34,NULL,NULL,NULL,NULL,NULL,
(level 005)##

AAASCRIPTTRACE=25
Similar to a merge of AAASCRIPTTRACE=1, AAASCRIPTTRACE=21, and
AAASCRIPTTRACE=3.
If variable $AAASCRIPTTRACEMASK is set, then $AAASCRIPTTRACE is bypassed. The role of
this variable is the same as that of $AAASCRIPTTRACE but the value is a “bit”. Every bit
activates one type of trace. There are four types of traces: (NOTRACE), (DEPEND), (TIMER),
(EVAL) and (EVALIN):

$AAASCRIPTTRACEMASK Name Description $AAASCRIPTTRACE


0 (0000) (NOTRACE) 0

1 (0001) (DEPEND) 1

2 (0010) (TIMER) 3

4 (0100) (EVAL) 2

8 (1000) (EVALIN) Like 21 - 2

3 (0011) (DEPEND)|(TIMER) 15

15 (1111) (DEPEND)|(TIMER)|(EVAL)|(EVALIN) 25

If $AAASCRIPTTRACETHREAD is set to a non-null value, there is one trace script per financial
function launched. All trace scripts are stored in the same directory created for one financial
session server.
Example of directory created:
$MSGDIR/scripttrace_20111114140802

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 155
Files stored in this directory are named, for example:
 scripttrace_000001_3ba3da0_02.jpp
 scripttrace_000002_3ba3da0_02.jpp
 scripttrace_001001_3ba3da0_02.jpp

Format filename:
scripttrace_xxxyyy_pppppp_ff.logname
where:
 xxx: if several financial functions are launched in parallel, xxx is the count number
parallel.
 yyy: incremental number
 pppppp: process number

18.5.2.9 Financial function trace


Availability: aaa_srv.
Set the variable $AAATRACEFINFCT=3.
In the output file $AAAMSG/.FinFctTrace_<function_fame>_<time_number>.csv
For each financial function, all data in the hierarchy is printed in the output file.

18.5.2.10 Domain trace in server.log


Availability: aaa_srv.
Set the variable $AAATRACEDOMAIN=1.
For each financial function, the domain is printed in the server.log file.
Example of trace:
2003/03/28 11:42:59:AAASERV1168 :mca : 5(cli):Start Valuation on portfolio list
[10] with all instruments
FIELD[ 0] "id " (IdType ) = NULL
FIELD[ 1] "currency_id " (IdType ) = 26
FIELD[ 2] "dim_port_dict_id " (DictType ) = 400
FIELD[ 3] "dim_instr_dict_id " (DictType ) = NULL
FIELD[ 4] "dim_strat_dict_id " (DictType ) = NULL
FIELD[ 5] "user_id " (IdType ) = 45632781
FIELD[ 6] "language_dict_id " (DictType ) = 1
FIELD[ 7] "function_dict_id " (DictType ) = 2
FIELD[ 8] "scenario_id " (IdType ) = NULL
FIELD[ 9] "quote_val_rule_id " (IdType ) = NULL
FIELD[10] "exch_val_rule_id " (IdType ) = NULL
FIELD[11] "port_object_id " (IdType ) = 146332475
FIELD[12] "instr_object_id " (IdType ) = NULL
FIELD[28] "last_modif_d " (DatetimeType ) = NULL
.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 156
.
. FIELD[29] to FIELD[174]
.
.
FIELD[175] "ud_rep_overview_f " (FlagType ) = 1
FIELD[176] "ud_rep_det_valo_f " (FlagType ) = 1
FIELD[186] "ud_rep_journal_f " (FlagType ) = 1
2003/03/28 11:43:15:AAASERV1168 :mca : 5(cli) : Send Data (set :0 col:132
row:34)
2003/03/28 11:43:27:AAASERV1168 :mca : 5(cli) : Exit Valuation on portfolio
list [10] with all instruments

18.5.2.11 Fusion trace


To facilitate the diagnostic of fusion-related problems, the trace of the processing may be
enabled with the system parameter FUSION_TRACE. The value of this system parameter can
be the server name, several server name separated by the character semicolon (;), or just
the character asterisk (*). Resulting output trace file are written into the $AAAMSG
directory.
This feature may be disabled with a blank field.

Files generated
AAASERV9040_20131029154211_65.xml.gz is generated by the server name AAASERV9040
on 29 October 2013 at 15:42.11. It is a compressed xml file with sections containing
information such as statistics, which positions have been loaded, how they have been
treated, and which positions have been saved.
For Developers only, there is an Import section that allows for the creation of import files for
reproduction and debugging purposes. Only the operations involved are saved and any old
operations are replaced by an init operation (archive operation).

FUSION_TRACE_OPEN_POS and FUSION_TRACE_POSITION system parameters


 FUSION_TRACE_OPEN_POS is a system parameter that may be enabled with the value 1.
When this option is enabled, a section is added in the fusion trace to provide
information about the content of the table opened_position. This feature may be
disabled with the value 0.
 FUSION_TRACE_POSITION is a system parameter that may be enabled with some
operations codes separated by the character semicolon (;) or just the character asterisk
(*). Using the character asterisk however, significantly increases the size of the fusion
trace file. When this option is enabled and the fusion engine does not allow a fusion of
two traced operations, an explanation will be written into the fusion trace. The
explanation is unique and helps to locate the code involved. With this, the Developer
knows which fields of the two operations are involved. This feature may be disabled
with a blank field.

Remarks
The fusion process generally does most computations in mode New. When an incorrect result
is returned, it is possible to redo the computation by launching the fusion process in mode
All, which will load more data than mode New.
In most cases, if a random issue occurs, the simple solution is to enable the fusion trace and
to wait until the issue comes up again. Then, locate the fusion trace file(s) involved (based
on the portfolio code, for example) and provide these files to the helpdesk with the portfolio
code and operation codes. If, however, you decided to launch the fusion process in mode All
and the problem was fixed, also provide this fusion trace to the helpdesk.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 157
When the fusion trace is enabled, many files will be written into the directory $AAAMSG,
which might take up some disk space.

18.5.3 Core file generation


Availability: UNIX aaa_srv, aaa_imp.
Set the variable $AAACORE to 1.
Use the Triple'A Plus Core debug version application.
If there is a system crash, a core file is generated in the directory from which the executable
was run. This core file can be sent to Temenos for debugging purposes.
To analyse the core file, the Maintenance team needs to know the exact version number
(release, fix and hot fix).

18.6 Code and name user-defined length tool


Several changes in the markets, such as the extension of US option symbols code length to
21 characters or the extension of IBAN to 34 characters, require the enlargement of
codifications possibilities.
All the codes and names in Triple'A, and consequently synonyms, can be extended up to 60
characters. By default, only the instrument's code, name and synonym are extended to 60
characters (the display size is set to 40).
The meta-dictionary contains two columns relevant to this:
 max_db_len_n: describes the maximum storage length.
 default_display_len_n: describes the default display length.
The default_display_len_n column is used to display the field correctly in the GUI. If the code
size exceeds the display length, it is possible to scroll in the field.

18.6.1 Modifying code and name length


To check or modify the length of a field, use the gen_long_code.sh tool available in the
$AAAHOME/ddl/bin directory.
Usage: gen_long_code.sh aaa_owner aaa_owner_passwd default_charset
Where
 aaa_owner = Triple'A Plus Core Application Owner
 aaa_owner_passwd = Triple'A Plus Core Application Owner Password
 default_charset = Character set (default = default_charset)

18.6.1.1 Checking field length


To check field length, complete the following steps:
1. Run the gen_long_code.sh tool.
The Code size and administration screen is displayed.
2. Select option 1.
The list of all code and name attributes is displayed. You can scroll down the output by
pressing Enter or the space key.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 158
3. Select option 99 to exit.

18.6.1.2 Modifying field length


To modify field length, complete the following steps:
1. Run the gen_long_code.sh tool.
The Code size and administration screen is displayed.
2. Select option 2.
3. Use the options available on the screen to change the size and the display size of an
attributes. The range of max_db_len_n and default_display_len_n should be between 0
and 60.
4. Select option 99 to exit.
The results are immediately stored in database and in the
$AAAHOME/ddl/src/dict_attribute_dat.usr.sql file. This means that if you migrate
your environment or recompile the meta-dictionary, you do not lose your settings. If the
attribute size is changed, then the GUI needs to be restarted to see the changes.

18.6.2 Limitations
The code is usually a unique business key. As a result, it is not possible to decrease
max_db_len_n if a code with a longer length already exists.

18.7 Script definition search tool

18.7.1 scptgrep.sh
Triple’A Plus Core offers a scripts tool in the directory $AAAHOME/tools for script definition
search. As well, generated files can also be found in $AAAHOME/tools.

18.8 Exportation tools


For more information, see section Export tools.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 159
19 Operations and positions checks
Triple’A Plus Core offers scripts tools in the directory $AAAHOME/ddl/bin for analysing
whether there are problems related to operation, position, or balance position. Some
problems can be fixed automatically by the script. These script tools, however, perform
many SQL queries, which might affect the system load.
The script tools are:
 chk_fusion.sh
 chk_fusion_ol.sh

19.1 chk_fusion.sh
The chk_fusion.sh is the command line tool that execute all steps.
A typical launch of a check (user:aaa/pwd:aaaaaa) is:
cd $AAAHOME/ddl/bin
./chk_fusion.sh aaa aaaaaa check iso_1

Problems that appear might be fixed with the following command:


cd $AAAHOME/ddl/bin
./chk_fusion.sh aaa aaaaaa correct iso_1

19.2 chk_fusion_ol.sh
The chk_fusion_ol.sh is the same tool as chk_fusion.sh but is menu driven.
A typical launch of a check (user:aaa/pwd:aaaaaa) is:
cd $AAAHOME/ddl/bin
./chk_fusion_ol.sh aaa aaaaaa iso_1

Then, the following menu will appear:


--------------------------------------------------------
chk_fusion_ol.sh : type of check to perform on aaamaindb
--------------------------------------------------------
TREAT orphan positions and balance positions ......... 1
incoherences in fusion ......................... 2
invalid end date in balance positions .......... 3
operations w/o pos. or balance positions ....... 4
non-closed or wrong closed positions ........... 5

TREAT all the above options (1-5) .................... 6

operation with bad fusion_e into positions ..... A


positions wich close unexisting position ....... B

CHECK for double tables in AAAREPDB .................. 7

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 160
QUIT this panel without performing any action ........ 0
--------------------------------------------------------

Type in your choice ?

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 161
20 Export tools
This chapter describes the extract tools for exporting data from Triple'A Plus. These tools are
not migration tools but data export-import tools.
The export tools are run using the aaa services located in the $AAAHOME directory. When
these services are run, the corresponding scripts in $AAAHOME/bin/ are executed and they
run other shell scripts located by default in $AAAHOME/tools/export. These shell scripts
establish connections with the data server through ISQL. Data text files and a cmd file are
then created in a default folder or in a user-defined folder.
By using the generated import files, the extracted data can be imported into another
environment through service aaa imp.
Note: Most of the tools do not export user-defined fields.

20.1.1 Formats
The format entity and related entities are managed by the aaa expfmt service. It uses the
format.sh shell script. It can be used with a wildcard character.
This tool exports the following that are linked to format and format element:
 format
 format elements
 format denomination
 format element denomination
 format element scripts definitions
 format element notepads
 messages and message texts

20.1.1.1 Command line


When you run aaa expfmt without arguments, the following usage details are displayed:
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_expfmt
aaa_expfmt: Invalid number of arguments
Usage: aaa_expfmt database username password format_code% default_charset [out_dir]
where
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
format_code is the code of the format that you want to export. You can use
the % character to export all formats
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_mst_dev/aaa/current/tmp

20.1.1.2 Example
The following example shows how to export a format called PCK_PM_VL_BONDS:
>$AAAHOME/aaa expfmt d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa
PCK_PM_VL_BONDS default_charset
AAAHOME is /oams/d_mst_dev/aaa/current

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 162
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_expfmt d_mst_dev_aaamaindb
d_mst_devaaa d_mst_devaaad_mst_devaaa PCK_PM_VL_BONDS default_charset
DBO_OK
Beginning extraction of format(s) PCK_PM_VL_BONDS ...
export parent format PCK_PM_VL_PARENT...
10/10/14 15:18:26
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma START with
parameters -e format -w /oams/d_mst_dev/aaa/current/tmp -d
/oams/d_mst_dev/aaa/current/tmp -f row_format.21385.tmp -o PCK[_]PM[_]VL[_]PARENT -
Ud_mst_devaaa -Pd_mst_devaaad_mst_devaaa -M d_mst_dev_aaamaindb -s ~
Password:
10/10/14 15:18:26
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma END
10/10/14 15:18:31
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma START with
parameters -e format_element -w /oams/d_mst_dev/aaa/current/tmp -d
/oams/d_mst_dev/aaa/current/tmp -f script_def.21385.tmp -o PCK[_]PM[_]VL[_]PARENT -
Ud_mst_devaaa -Pd_mst_devaaad_mst_devaaa -M d_mst_dev_aaamaindb -s ~
Password:
10/10/14 15:18:31
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma END
10/10/14 15:18:43
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma START with
parameters -e format -w /oams/d_mst_dev/aaa/current/tmp -d
/oams/d_mst_dev/aaa/current/tmp -f row_format.21346.tmp -o PCK[_]PM[_]VL[_]BONDS -
Ud_mst_devaaa -Pd_mst_devaaad_mst_devaaa -M d_mst_dev_aaamaindb -s ~
Password:
10/10/14 15:18:43
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma END
10/10/14 15:18:48
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma START with
parameters -e format_element -w /oams/d_mst_dev/aaa/current/tmp -d
/oams/d_mst_dev/aaa/current/tmp -f script_def.21346.tmp -o PCK[_]PM[_]VL[_]BONDS -
Ud_mst_devaaa -Pd_mst_devaaad_mst_devaaa -M d_mst_dev_aaamaindb -s ~
Password:
10/10/14 15:18:49
/oams/d_mst_dev/aaa/current/tools/export/export_scrdef.sh laudoma END

The generated files are under the /oams/d_mst_dev/aaa/current/tmp/directory ; the cmd


file is /oams/d_mst_dev/aaa/current/tmp/PCK_PM_VL_BONDS_FORMAT.cmd

20.1.1.3 Generate file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
FORMAT_CODE.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.2 List, classification, and grid entities


The list, classification, and grid entities are managed by the aaa expobj service. This tool
uses shell scripts, and can be used with a wildcard.
Note that the first argument of the aaa expobj tool is called “object”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 163
20.1.2.1 List
For lists, list.sh object runs the list.sh shell script. The list.sh option exports lists
based on any entity depending on the last argument passed through the command (the
default is the instrument list).
With the list.sh option, in the case of a constrained list the tool exports the
 list
 denomination
 notepad
 script definition
With the list.sh option, in the case of an enumerated list the tool exports the
 list
 denomination
 notepad
 list composition
WARNING: aaa expobj cannot export lists that have the nature "search".

Example
The first example shows how to export an instrument list called T_AI_Bond using the list.sh
option:
>$AAAHOME/aaa expobj list.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa T_AI_Bond
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj list.sh d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa T_AI_Bond
DBO_OK

Beginning extraction of list(s) T_AI_Bond ...


08/02/12 17:45:16
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e instrument -w /tmp -d
/oams/d_tap_5sp/aaa/current/tmp -f script_def.536806.tmp -o T[_]AI[_]Bond -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
08/02/12 17:45:19
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_Bond_LIST.cmd

The second example shows how to export a strategy list called T_AI_STRAT_LIST with the
list.sh option:
>$AAAHOME/aaa expobj list.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_STRAT_LIST strategy
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj list.sh d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa T_AI_STRAT_LIST strategy
DBO_OK
Beginning extraction of list(s) T_AI_STRAT_LIST ...
08/02/12 17:50:29
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e strategy -w /tmp -d

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 164
/oams/d_tap_5sp/aaa/current/tmp -f script_def.1134844.tmp -o T[_]AI[_]STRAT[_]LIST -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
08/02/12 17:50:34
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_STRAT_LIST_LIST.cmd

Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<LIST_CODE>_LIST.cmd The cmd file containing all setting, command, and attribute lines specific to a
native import file. It is the main argument of the import command.

20.1.2.2 Classification
For classifications, the classif.sh object runs the classif.sh shell script. The classif.sh
option exports classifications based on all the entities, depending on the last argument
passed through the command (by default, instrument classifications).
The tool exports:
 classification
 denomination
 classification composition

Example
The first example shows how to export an instrument classification called T_AI_CATEGORIES
using the classif.sh option:
>$AAAHOME/aaa expobj classif.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_CATEGORIES
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj classif.sh
d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa T_AI_CATEGORIES
DBO_OK
Beginning extraction of classification(s) T_AI_CATEGORIES ...
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_CATEGORIES_CLASSIF.cmd

The second example shows how to export a currency classification called T_AI_CURRENCIES
using the classif.sh option:
>$AAAHOME/aaa expobj classif.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_CURRENCIES currency
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj classif.sh
d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa T_AI_CURRENCIES currency
DBO_OK
Beginning extraction of classification(s) T_AI_CURRENCIES ...
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_CURRENCIES_CLASSIF.cmd

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 165
Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<CLASSIF_CODE>_CLASSIF.cmd The cmd file containing all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.2.3 Grid
There are three different natures of grid: standard grid, market structure grid and market
structure subset grid. There is an object of the aaa expobj tool for each of these natures.

Standard grid
For the standard grid, the grid object runs the grid.sh shell script.
The tool exports the classifications, lists and all the previously linked entities attached to the
specified grid. The grid, grid denomination, market segments and market segment
denominations are also exported.
The parent market segments are exported with the grid.sh option.

Example
The following example shows how to export a standard grid called T_AI_GRID_CATEG with
the grid.sh option:
>$AAAHOME/aaa expobj grid.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_GRID_CATEG
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj grid.sh d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa T_AI_GRID_CATEG
DBO_OK
Beginning extraction of grid(s) T_AI_GRID_CATEG ...
20/02/12 14:27:46
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e instrument -w /tmp -d
/oams/d_tap_5sp/aaa/current/tmp -f script_def.1732836.tmp -o T[_]AI[_]Bond -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
20/02/12 14:27:47
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
20/02/12 14:27:48
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e instrument -w /tmp -d
/oams/d_tap_5sp/aaa/current/tmp -f script_def.1732838.tmp -o T[_]AI[_]Cash -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
20/02/12 14:27:48
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
20/02/12 14:27:49
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e instrument -w /tmp -d
/oams/d_tap_5sp/aaa/current/tmp -f script_def.1732856.tmp -o T[_]AI[_]Others -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
20/02/12 14:27:49
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 166
20/02/12 14:27:50
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n list -e instrument -w /tmp -d
/oams/d_tap_5sp/aaa/current/tmp -f script_def.954538.tmp -o T[_]AI[_]Stock -
Ud_tap_5spaaa -Pd_tap_5spaaa -Md_tap_5sp_aaamaindb -s ~
20/02/12 14:27:51
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_GRID_CATEG_GRID.cmd

Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<GRID_CODE>_GRID.cmd The cmd file containing all setting, command, and attribute lines specific to a
native import file. It is the main argument of the import command.

Market structure
For the market structure grid, the market_structure object runs the
market_structure.sh shell script.
The tool exports the grid, the grid denomination, the market structure, the market segments
and market segment denominations.
Warning: the standard grids linked to the specified market structure are not exported.

Example
The following example shows how to export a market structure grid called T_AI_MKTSTR1
with the market_structure option:
>$AAAHOME/aaa expobj market_structure d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_MKTSTR1
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj market_structure
d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa T_AI_MKTSTR1
DBO_OK
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_MKTSTR1_MSTRUCT.cmd

Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<MKTSTR_CODE>_MSTRUCT.cmd The cmd file containing all setting, command, and attribute lines specific
to a native import file. It is the main argument of the import command.

Market structure subset


For the market structure subset grid, the market_structure_subset object runs the
market_structure_subset.sh shell script.
The tool exports the grid, the grid denomination and the market structure subset.
Warning: the market structure grids linked to the specified market structure subset are not
exported.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 167
Example
The following example shows how to export a market structure subset called T_AI_MSS_A1
with the market_structure_subset option:
>$AAAHOME/aaa expobj market_structure_subset d_tap_5sp_aaamaindb d_tap_5spaaa
d_tap_5spaaa T_AI_MSS_A1
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj market_structure_subset
d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa T_AI_MSS_A1
DBO_OK
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_MSS_A1_MSTRSUB.cmd

Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<MSS_CODE>_MSTRSUB.cmd The cmd file containing all setting, command, and attribute lines specific to
a native import file. It is the main argument of the import command.

20.1.3 Strategy and related entities


The strategy and related entities are managed by the aaa expobj service. This tool uses
shell scripts, depending on the first argument passed in the command line. The wildcard
character can be used. The behaviour of the tool in this case is the following: one
command file (extension .cmd) is generated for all the strategies that match the pattern
specified as an argument with the wildcard. There are several include files, at least as many
as the number of strategies exported. The correct order of the strategies as regards their
parent strategies in the cmd file is not guaranteed.
N.B. the first argument of the aaa expobj tool is called object.
The following strategy natures are exported: Asset Allocation, Model Portfolio, Constraint
Set, Recommendation List, Investment Profile, Benchmark, Risk Strategy, Index, and
Surveyed Securities List. The tool exports strategy, strategy denomination, strategy
notepad, strategy history, strategy history denomination, strategy element, strategy
composition (for Benchmark and Investment Profile), strategy element script definitions and
strategy element constraint parameter (for Constraint Set).
Warning: Neither the parent strategy nor the grids attached to the specified strategy are
exported.

20.1.3.1 Example
The following example shows how to export a strategy called T_AI_Asset1_Aggr with the
strat.sh option:
>$AAAHOME/aaa expobj strat.sh d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
T_AI_Asset1_Aggr
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj strat.sh d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa T_AI_Asset1_Aggr
DBO_OK
Beginning extraction of T_AI_Asset1_Aggr asset allocation or model portfolio ...
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_Asset1_Aggr_STRAT.cmd

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 168
20.1.3.2 Generated files
The generated files are saved in the specified output directory or $AAAHOME/tmp by default.
The generated files are:

File Description
<STRAT_CODE>_STRAT.cmd The cmd file containing all setting, command, and attribute lines
specific to a native import file. It is the main argument of the
import command.
<STRAT_CODE>_STRAT.str Contains all the data of the strategies.
<STRAT_CODE>_STRAT.str_hst Contains all the data of the strategy history.
<STRAT_CODE>_STRAT.elem Contains all the data of the strategy elements.
<STRAT_CODE>_STRAT.elem_strat The files containing all details of the strategy composition.
<STRAT_CODE>_STRAT.elem_port

20.1.4 Script rules


The script rules are managed by the aaa expobj service. This tool uses rule.sh shell script
with the rule object and can be used with a wildcard.
The first argument of the aaa expobj tool is called object.
This tool exports appl_rule and script definition objects linked to the rule.

20.1.4.1 Example
The following example shows how to export a script rule called DEF_BUYRULE based on the
buy_operation entity:
>$AAAHOME/aaa expobj rule d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa DEF_BUYRULE
buy_operation
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj rule d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa DEF_BUYRULE buy_operation
DBO_OK
Beginning extraction of rule(s) DEF_BUYRULE ...
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/DEF_BUYRULE_RULE.cmd

20.1.4.2 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<RULE_CODE>_RULE.cmd The cmd file containing all setting, command, and attribute lines specific to a
native import file. It is the main argument of the import command.

20.1.5 Screens and related entities


The screens and related entities are managed by the aaa expscr service. This tool uses the
screen.sh shell script and can be used with a wildcard.
This tool exports the screen, the screen panels, the screen denomination, the panel
denomination, the screen scripts definitions (input control, default value and filter) and the
panel default.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 169
20.1.5.1 Command line
When you run the aaa expscr script without arguments, the following usage details are
displayed:
aaa_expscr: Invalid number of arguments
Usage: aaa_expscr username password database screen entity
[charset|default_charset][out_dir]
where
username is the Triple'A user's name
password is the Triple'A user's password
database is the database name
screen is the screen or the group of screens that you want to build as an
importation file. You can use the % character as wildcard.
entity is the table on which the screen is attached (ex : address)
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_tap_5sp/aaa/current/tmp

20.1.5.2 Example
The following example shows how to export the screen called "T_AI_PM_ORDER_SELL" on
entity "sell_operation":
> $AAAHOME/aaa expscr d_tap_5spaaa d_tap_5spaaa d_tap_5sp_aaamaindb
T_AI_PM_ORDER_SELL sell_operation default_charset
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expscr d_tap_5spaaa d_tap_5spaaa
d_tap_5sp_aaamaindb T_AI_PM_ORDER_SELL sell_operation default_charset
DBO_OK
Screen exportation program
Beginning extraction of screen(s) T_AI_PM_ORDER_SELL ...
18/01/12 17:48:54
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n dict_screen -e sell_operation -w
/oams/d_tap_5sp/aaa/current/tmp -d /oams/d_tap_5sp/aaa/current/tmp -f script_def.dat
-o T[_]AI[_]PM[_]ORDER[_]SELL -Ud_tap_5spaaa -Pd_tap_5spaaa -M d_tap_5sp_aaamaindb -s
~ -q |
18/01/12 17:48:55
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END
18/01/12 17:48:56
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
START with parameters -n dict_panel -e sell_operation -w
/oams/d_tap_5sp/aaa/current/tmp -d /oams/d_tap_5sp/aaa/current/tmp -f
script_def_panel.dat -o T[_]AI[_]PM[_]ORDER[_]SELL -Ud_tap_5spaaa -Pd_tap_5spaaa -M
d_tap_5sp_aaamaindb -s ~ -q |
18/01/12 17:48:58
/oams/d_tap_5sp/aaa/current/tools/export/export_scrdef.sh laurs55g.oams.com
END

The generated files are under the /oams/d_tap_5sp/aaa/current/tmp directory ; the cmd
file is /oams/d_tap_5sp/aaa/current/tmp/T_AI_PM_ORDER_SELL_SCREEN.cmd

20.1.5.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 170
File Description
<SCREEN_CODE>_SCREEN.cmd The cmd file containing all setting, command, and attribute lines specific
to a native import file. It is the main argument of the import command.

20.1.6 Messages
The appl_message and appl_msg_text entities are managed by the aaa expmsg service.
This tool uses the messages.sh shell script.
This tool exports messages, including any translated message texts.

20.1.6.1 Command line


If you run the aaa expmsg script without arguments, the following usage details are
displayed:
aaa_expmsg: Invalid number of arguments
Usage: aaa_expmsg database username password [charset|default_charset][out_dir]
where
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_tap_5sp/aaa/current/tmp

20.1.6.2 Example
The following example shows how to export the user messages:
>$AAAHOME/aaa expmsg d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa default_charset
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expmsg d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa default_charset
DBO_OK

Messages exportation program

Data found

The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the


cmd file is /oams/d_tap_5sp/aaa/current/tmp/APPL_MESSAGE.cmd

20.1.6.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
APPL_MESSAGE.cmd The cmd file containing all setting, command, and attribute lines specific to a
native import file. It is the main argument of the import command.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 171
20.1.7 Valuation rules
The valuation rule and related entities are managed by the aaa exprule service. This tool
cannot be used with a wildcard.
Warning: The lists and classifications on which the valuation rule is build are not exported
with this tool.
This tool exports the valuation rule, the valuation rule notepads, the valuation rule
denominations, the valuation rule history, the valuation rule history elements, the valuation
rule history element notepads and the valuation rule history element denominations.

20.1.7.1 Command line


If you run the aaa exprule command without arguments, the following usage details are
displayed:
aaa_exprule: Invalid number of arguments

Usage: aaa_exprule database username password valuation_rule [out_dir]


where
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
valuation_rule is the code of a P&L valuation rule
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_tap_5sp/aaa/current/tmp

Remark :
- CLASSIFICATIONS and LISTS must be imported first!
- You can only export valuation rules of nature "P&L rule" (nature_e = 7).
For the other valuation rule natures, you must use the tool :
"aaa expobj" and provide a date (for valuation rule history) to make the tool
work.
Example : aaa expobj -e val_rule -o -d /usr/tmp -U -P -M -h <date>
where <date> is the date of valuation_rule_history ( dd/mm/yyyy )

20.1.7.2 Example
The following example shows how to export the TEST_RULE valuation rule:
>$AAAHOME/aaa exprule d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa TEST_RULE
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_exprule d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa TEST_RULE
DBO_OK
Beginning extraction of valuation rule for TEST_RULE
The valuation rules are generated in /oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vr.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vrh.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vre.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vrd.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vrn.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vred.dat
/oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_vren.dat

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 172
The command file is generated in /oams/d_tap_5sp/aaa/current/tmp/TEST_RULE_VR.cmd

20.1.7.3 Generated files


By default, all generated files are saved in the specified output directory or $AAAHOME/tmp.
The generated files and their extensions are:

File Description
<VAL_RULE_CODE>_VR.cmd Contains all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

<VAL_RULE_CODE>_vr.dat Contains all data of the valuation rules.

<VAL_RULE_CODE>_vrh.dat Contains all data of the valuation rules history.

<VAL_RULE_CODE>_vre.dat Contains all data of the valuation rules elements.

<VAL_RULE_CODE>_vrd.dat Contains all denominations of the valuation rules.

<VAL_RULE_CODE>_vrn.dat Contains all notepads of the valuation rules.

<VAL_RULE_CODE>_vred.dat Contains all denominations of the valuation rule history elements.

<VAL_RULE_CODE>_vren.dat Contains all notepads of the valuation rule history elements.

20.1.8 Map
The shell script map.sh exports the map entity. The following usage description is displayed
if you run $AAAHOME/tools/export/map.sh without arguments:
Usage: map.sh [output_dir] [database] [username] [password] [object | % for wildcard]
Where:
<output_dir> is the complete path of the directory where the generated files are created, e.g:
/usr/tmp
<database> is the Triple'A Plus Core main database
<username> is the Triple'A Plus Core user name
<password> is the Triple'A Plus Core user password
<object> is the code of the map

20.1.9 Subscription
The shell script subscription.sh exports the subscription, map and script_definition
entities. The following usage description is displayed if you run
$AAAHOME/tools/export/subscription.sh without arguments:
Usage: subscription.sh [output_dir] [database] [username] [password] [object | % for
wildcard]
Where:
<output_dir> is the complete path of the directory where the generated files are created, e.g:
/usr/tmp
<database> is the Triple'A Plus Core main database
<username> is the Triple'A Plus Core user name
<password> is the Triple'A Plus Core user password
<object> is the code of the subscription

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 173
20.1.10 Default value and input control

20.1.10.1 Example
The first example shows how to export the user default values:
>$AAAHOME/aaa expobj defval d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj defval d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa
DBO_OK
Beginning extraction of default values ...

The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the


cmd file is /oams/d_tap_5sp/aaa/current/tmp/defval.cmd

The second example shows how to export the user input controls:
>$AAAHOME/aaa expobj inpctrl d_tap_5sp_aaamaindb d_tap_5spaaa d_tap_5spaaa
AAAHOME is /oams/d_tap_5sp/aaa/current
Executing /oams/d_tap_5sp/aaa/current/bin/AIX/aaa_expobj inpctrl d_tap_5sp_aaamaindb
d_tap_5spaaa d_tap_5spaaa
DBO_OK
Beginning extraction of input control ...
The generated files are under the /oams/d_tap_5sp/aaa/current/tmp/ directory ; the
cmd file is /oams/d_tap_5sp/aaa/current/tmp/inpctrl.cmd

20.1.10.2 Generated files


The generated files are saved in the specified output directory or $AAAHOME/tmp by default.
The generated files are:

File Description
defval.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.
defval.dat Contains all the script definitions of the user default values.
inpctrl.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.
inpctrl.dat Contains all the script definitions of the user input control.

20.1.11 Trading constraints

20.1.11.1 Example
The following example shows how to export a trading constraint called T_AI_CMC_TC1:
>$AAAHOME aaa expobj -e trading_constraint -Uv_gen_51_1aaa -
Pv_gen_51_1aaav_gen_51_1aaa -o T_AI_CMC_TC1
AAAHOME is /oams/v_gen_51_1/aaa/current
Executing /oams/v_gen_51_1/aaa/current/bin/AIX/aaa_expobj -e trading_constraint -
Uv_gen_51_1aaa
NOTICE: no -x flag, continuing script.
03/04/12 15:52:24
/oams/v_gen_51_1/aaa/current/tools/export/export_trading_constraint.sh
laurs55j.oams.com START with parameters -Uv_gen_51_1aaa -

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 174
Pv_gen_51_1aaav_gen_51_1aaa -Mv_gen_51_1_aaamaindb -o T_AI_CMC_TC1 -d
/oams/v_gen_51_1/aaa/current -f trading_constraint.imp -w
/oams/v_gen_51_1/aaa/current/tmp
Number of templates: 0
03/04/12 15:52:27
/oams/v_gen_51_1/aaa/current/tools/export/export_scrdef.sh laurs55j.oams.com
START with parameters -U v_gen_51_1aaa -P v_gen_51_1aaav_gen_51_1aaa -M
v_gen_51_1_aaamaindb -n trdcst -o T_AI_CMC_TC1 -d /oams/v_gen_51_1/aaa/current/tmp -f
export_trading_constraint.27983984.trdcst_scrdef
03/04/12 15:52:27
/oams/v_gen_51_1/aaa/current/tools/export/export_scrdef.sh laurs55j.oams.com
END
03/04/12 15:52:27
/oams/v_gen_51_1/aaa/current/tools/export/export_denomination.sh
laurs55j.oams.com START with parameters -U v_gen_51_1aaa -P
v_gen_51_1aaav_gen_51_1aaa -M v_gen_51_1_aaamaindb -e trading_constraint -o
T_AI_CMC_TC1 -d /oams/v_gen_51_1/aaa/current/tmp -f
export_trading_constraint.27983984.denom
03/04/12 15:52:27
/oams/v_gen_51_1/aaa/current/tools/export/export_denomination.sh
laurs55j.oams.com INFO Importfile is
/oams/v_gen_51_1/aaa/current/tmp/export_trading_constraint.27983984.denom
03/04/12 15:52:27
/oams/v_gen_51_1/aaa/current/tools/export/export_denomination.sh
laurs55j.oams.com END (exit value:0)
03/04/12 15:52:29
/oams/v_gen_51_1/aaa/current/tools/export/export_trading_constraint.sh
laurs55j.oams.com END (exit value:0)

>>> Importation file is: /oams/v_gen_51_1/aaa/current/trading_constraint.imp

20.1.11.2 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
trading_constraint.imp The importation file containing all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.12 Modelling constraint


The modelling constraints are managed by the aaa export service. This tool uses the
modelling_constraint.sh shell script. Wildcards are allowed.
This tool exports the modelling_constraint, denomination, notepad, and model_const_elt
entities.

20.1.12.1 Command line


If you run the aaa export script without arguments, the following usage details are
displayed:
aaa_export.sh: Invalid number of arguments
Usage: aaa_export.sh table_name database username password pattern%|option
[charset|default_charset] [out_dir]
Where

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 175
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on
which you want to export all the corresponding appl_comment.
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_mst_dev/aaa/current/tmp

20.1.12.2 Example
The following example shows how to export all modelling constraints for portfolio called
"T_AI_AC_PTF1":
>$AAAHOME/aaa export model_constraint d_mst_dev_aaamaindb d_mst_devaaa
d_mst_devaaad_mst_devaaa T_AI_AC_PTF1 default_charset
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh model_constraint
d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa T_AI_AC_PTF1
default_charset
model_constraint d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa
T_AI_AC_PTF1 default_charset
Beginning extraction of modelling_constraint(s) for portfolio T_AI_AC_PTF1 ...
The generated files are under the /oams/d_mst_dev/aaa/current/tmp/directory ; the cmd
file is /oams/d_mst_dev/aaa/current/tmp/T_AI_AC_PTF1_MODELLING_CONSTRAINT.cmd

20.1.12.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
<CODE>_MODELLING_CONSTRAINT.cmd The cmd file containing all setting, command, and attribute lines
specific to a native import file. It is the main argument of the
import command.

20.1.13 Comments
The application comments are managed by the aaa export service. This tool uses the
appl_comment.sh shell script. Wildcards are not allowed.
The appl_comment table stores the multilingual comments and links them to any
entity/object in the database.

20.1.13.1 Command line


If you run the aaa export script without arguments, the following usage details are
displayed:
aaa_export.sh: Invalid number of arguments

Usage: aaa_export.sh table_name database username password pattern%|option


[charset|default_charset] [out_dir]

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 176
where
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"appl_comment", "script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on which you
want to export all corresponding appl_comment(currently appl_comment is implemented
only on "type" entity).
ex:aaa export appl_comment d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa type default_charset
For script definition, the pattern could be
system|md_system|system_function|all|function
ex:aaa export script_definition d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa system default_charset
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_tap_bdc/aaa/current/tmp

20.1.13.2 Example
The following example shows how to export all multilingual comments for type entity:
aaa export appl_comment d_tap_bdc_aaamaindb d_tap_bdcaaa d_tap_bdcaaad_tap_bdcaaa
type default_charset
AAAHOME is /oams/d_tap_bdc/aaa/current
Executing /oams/d_tap_bdc/aaa/current/bin/AIX/aaa_export.sh appl_comment
d_tap_bdc_aaamaindb d_tap_bdcaaa d_tap_bdcaaad_tap_bdcaaa type default_charset
appl_comment d_tap_bdc_aaamaindb d_tap_bdcaaa d_tap_bdcaaad_tap_bdcaaa type
default_charset

Checking that type is a valid entity ...

Beginning extraction of appl_comment on type ...

The generated file is under the /oams/d_tap_bdc/aaa/current/tmp/ directory


The import file is /oams/d_tap_bdc/aaa/current/tmp/appl_comment_type.imp

20.1.13.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
appl_comment_type.imp The importation file containing all entity_dict_id, language_dict_id, and
object_id of that particular entity on which appl_comment is implemented.

20.1.14 Script definition


The script definitions are managed by the aaa export service. This tool uses the
sys_script_def.sh or script_def.sh shell scripts.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 177
20.1.14.1 Command line
If you run the aaa export script without arguments, the following usage details are
displayed:
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh
aaa_export.sh: Invalid number of arguments

Usage: aaa_export.sh table_name database username password pattern%|option


[charset|default_charset] [out_dir]
where
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"appl_comment", "script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on which you
want to export all corresponding appl_comment(currently appl_comment is implemented
only on "type" entity).
ex:aaa export appl_comment d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa type default_charset
For script definition, the pattern could be
system|md_system|system_function|all|function
ex:aaa export script_definition d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa system default_charset
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_tap_bdc/aaa/current/tmp

20.1.14.2 Example
For script definition, the pattern could be system, md_system, system_function, all, or
function.
The following example shows how to export the function script definitions:
*** [email protected]:/oams/d_tap_bdc/aaa/current ***
#aaa export script_definition d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa function default_charset
AAAHOME is /oams/d_tap_bdc/aaa/current
Executing /oams/d_tap_bdc/aaa/current/bin/AIX/aaa_export.sh script_definition
d_tap_bdc_aaamaindb d_tap_bdcaaa d_tap_bdcaaad_tap_bdcaaa function default_charset
script_definition d_tap_bdc_aaamaindb d_tap_bdcaaa d_tap_bdcaaad_tap_bdcaaa function
default_charset
Beginning extraction of functions script definition ...
The generated files are under the /oams/d_tap_bdc/aaa/current/tmp/ directory; the cmd
file is /oams/d_tap_bdc/aaa/current/tmp/function.cmd.

20.1.14.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 178
File Description
function.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.15 Functions
The business functions are managed by the aaa export service. This tool uses the
dict_function.sh shell script. Wildcards are allowed.

20.1.15.1 Command line


If you run the aaa export script without arguments, the following usage details are
displayed:
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh
aaa_export.sh: Invalid number of arguments
Usage: aaa_export.sh table_name database username password pattern%|option
[charset|default_charset] [out_dir]
where
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on
which you want to export all the corresponding appl_comment.
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_mst_dev/aaa/current/tmp

20.1.15.2 Example
The following example shows how to export all functions where the name starts with "acc":
>$AAAHOME/aaa export dict_function d_mst_dev_aaamaindb d_mst_devaaa
d_mst_devaaad_mst_devaaa acc% default_charset
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh dict_function
d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa acc% default_charset
dict_function d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa acc%
default_charset
Beginning extraction of dict_function(s) acc% ...
The generated files are under the /oams/d_mst_dev/aaa/current/tmp/ directory ; the
cmd file is /oams/d_mst_dev/aaa/current/tmp/accALL.cmd.

20.1.15.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 179
File Description
accALL.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.16 Application parameters


The application parameters are managed by the aaa export service. This tool uses the
appl_param.sh shell script. Wildcards are allowed.

20.1.16.1 Command line


If you run the aaa export script without arguments, the following usage details are
displayed:
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh
aaa_export.sh: Invalid number of arguments
Usage: aaa_export.sh table_name database username password pattern%|option
[charset|default_charset] [out_dir]
where
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on
which you want to export all the corresponding appl_comment.
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/d_mst_dev/aaa/current/tmp

20.1.16.2 Example
The following example shows how to export all application parameters containing "PAR" in
the name:
>$AAAHOME/aaa export appl_param d_mst_dev_aaamaindb d_mst_devaaa
d_mst_devaaad_mst_devaaa %PAR% default_charset
AAAHOME is /oams/d_mst_dev/aaa/current
Executing /oams/d_mst_dev/aaa/current/bin/SunOS/aaa_export.sh appl_param
d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa %PAR% default_charset
appl_param d_mst_dev_aaamaindb d_mst_devaaa d_mst_devaaad_mst_devaaa %PAR%
default_charset

Beginning extraction of appl_param %PAR% ...

The generated files are under the /oams/d_mst_dev/aaa/current/tmp/ directory ; the


cmd file is /oams/d_mst_dev/aaa/current/tmp/ALLPAR%.cmd.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 180
20.1.16.3 Generated file
The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
ALLPAR%.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.17 Types
The types are managed by the aaa export service. This tool uses the type.sh shell script.
Wildcards are allowed.
This tool exports data from type and denomination.

20.1.17.1 Command line


If you run the aaa export script without arguments, the following usage details are
displayed:
AAAHOME is /oams/v_gen_71_n/aaa/current
Executing /oams/v_gen_71_n/aaa/current/bin/SunOS/aaa_export.sh
aaa_export.sh: Invalid number of arguments
Usage: aaa_export.sh table_name database username password pattern%|option
[charset|default_charset] [out_dir]
where
table_name can be "dict_function", "appl_param", "type", "model_constraint",
"appl_comment", "script_definition"
database is the database name
username is the Triple'A user's name
password is the Triple'A user's password
pattern. You can use the wildcard % character
For the particular case of appl_comment , the pattern is an entity on which you
want to export all the corresponding appl_comment(currently appl_comment is
implemented only on "type" entity).
ex: aaa export appl_comment d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa type default_charset
For script definition, the pattern could be
system|md_system|system_function|all|function
ex: aaa export script_definition d_tap_bdc_aaamaindb d_tap_bdcaaa
d_tap_bdcaaad_tap_bdcaaa system default_charset
charset is usually "default_charset"
out_dir specifies the destination folder. By default, all files will be
created under /oams/v_gen_71_n/aaa/current/tmp

20.1.17.2 Example
The following example shows how to export all types containing "AI" in the code:
>$AAAHOME/aaa export type v_gen_71_n_aaamaindb v_gen_71_naaa
v_gen_71_naaav_gen_71_naaa %AI% default_charset
AAAHOME is /oams/v_gen_71_n/aaa/current
Executing /oams/v_gen_71_n/aaa/current/bin/SunOS/aaa_export.sh type
v_gen_71_n_aaamaindb v_gen_71_naaa v_gen_71_naaav_gen_71_naaa %AI% default_charset

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 181
type v_gen_71_n_aaamaindb v_gen_71_naaa v_gen_71_naaav_gen_71_naaa %AI%
default_charset

Beginning extraction of type %AI% ...

The generated files are under the /oams/v_gen_71_n/aaa/current/tmp/ directory ; the


cmd file is /oams/v_gen_71_n/aaa/current/tmp/ALLAI%.cmd

20.1.17.3 Generated file


The generated file is saved in the specified output directory or $AAAHOME/tmp by default. The
generated file is:

File Description
ALLAI%.cmd The cmd file containing all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.18 Profiles

20.1.18.1 Data profiles


The shell script data_prof.sh exports the data_profile, the data_secu_prof and the
data_prof_compo entities. The following usage description is displayed if you run
$AAAHOME/tools/export/data_prof.sh without arguments:
Usage: data_prof.sh [output_dir] [database] [username] [password] [object | % for
wildcard]
Where:
<output_dir> is the complete path of the directory where the generated files are created, e.g
/usr/tmp
<database> is the Triple'A Plus Core main database
<username> is the Triple'A Plus Core user name
<password> is the Triple'A Plus Core user password
<object> is the code of the data profile

Command line
If you run the aaa EXP_DATA_PROF script without arguments, the following usage details are
displayed:
# aaa EXP_DATA_PROF
AAAHOME is /oams/d_tap_bdc2/aaa/current
Executing /oams/d_tap_bdc2/aaa/current/tools/export/data_prof.sh
data_prof.sh: Invalid number of arguments
Usage: data_prof.sh output_dir database username password <object | % for wildcard>
[charset|default_charset]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of the data profile

*** [email protected]:/oams/d_tap_bdc2/aaa/current ***

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 182
Example
The following example shows how to export all data profiles containing
"DEF_DATA_PROFILE" in the code:
*** [email protected]:/oams/d_tap_bdc2/aaa/current ***
# aaa EXP_DATA_PROF /usr/tmp d_tap_bdc2_aaamaindb d_tap_bdc2aaa
d_tap_bdc2aaad_tap_bdc2aaa DEF_DATA_PROFILE default_charset
AAAHOME is /oams/d_tap_bdc2/aaa/current
Executing /oams/d_tap_bdc2/aaa/current/tools/export/data_prof.sh /usr/tmp
d_tap_bdc2_aaamaindb d_tap_bdc2aaa d_tap_bdc2aaad_tap_bdc2aaa DEF_DATA_PROFILE
default_charset
Beginning extraction of data profile(s) DEF_DATA_PROFILE ...
The generated files are under the /usr/tmp/directory ; the cmd file is
/usr/tmp/DEF_DATA_PROFILE_PROF.cmd.
*** [email protected]:/oams/d_tap_bdc2/aaa/current ***
#
*** [email protected]:/oams/d_tap_bdc2/aaa/current ***

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
DEF_DATA_PROFILE_PROF.cmd The cmd file that contains all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.18.2 Function security profile


The function security profiles are managed by the aaa EXP_FUNC_SECU_PROF service.
This tool uses the func_secu_prof.sh shell script, which exports the function security
profiles and the function security profile compositions. Wildcards are allowed.

Command line
If you run the aaa EXP_FUNC_SECU_PROF script without arguments, the following usage
details are displayed:
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/func_secu_prof.sh
func_secu_prof.sh: Invalid number of arguments
Usage: func_secu_prof.sh output_dir database username password object |> % for
wildcard> [charset|default_charset]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of the function security profile

Example
The following example shows how to export all function security profiles containing
"PCK_PM_" in the code:
>$AAAHOME/aaa EXP_FUNC_SECU_PROF /usr/tmp v_gen_71_n2_aaamaindb v_gen_71_n2aaa
v_gen_71_n2aaav_gen_71_n2aaa PCK_PM_% default_charset
AAAHOME is /oams/v_gen_71_n2/aaa/current

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 183
Executing /oams/v_gen_71_n2/aaa/current/tools/export/func_secu_prof.sh /usr/tmp
v_gen_71_n2_aaamaindb v_gen_71_n2aaa v_gen_71_n2aaav_gen_71_n2aaa PCK_PM_%
default_charset
Beginning extraction of function security profile(s) PCK_PM_% ...
List of managed function security profiles:
PCK_PM_FUNC_SEC_PROF
The generated files are under the /usr/tmp/ directory ; the cmd file is
/usr/tmp/PCK_PM_ALL_FUNC_SECU_PROF.cmd.

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
PCK_PM_ALL_FUNC_SECU_PROF.cmd The cmd file that contains all setting, command, and attribute lines
specific to a native import file. It is the main argument of the
import command.

20.1.18.3 Format profile


The format profiles are managed by the aaa EXP_FORMAT_PROF service. This tool uses the
format_prof.sh shell script, which exports the format profiles and the format profile
compositions. Wildcards are allowed. If the scope parameter is set to "full", all format-
related entities are exported too.

Command line
If you run the aaa EXP_FORMAT_PROF script without arguments, the following usage details
are displayed:
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/format_prof.sh
format_prof.sh: Invalid number of arguments
Usage: format_prof.sh output_dir database username password object|< % for wildcard>
[full | not_full]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of format profile
- full is optional, not_full by default
and indicates that formats of the specified profile will be exported

Example
The following example shows how to export all format profiles containing "PCK_PM_" in the
code:
>$AAAHOME/aaa EXP_FORMAT_PROF /usr/tmp v_gen_71_n2_aaamaindb v_gen_71_n2aaa
v_gen_71_n2aaav_gen_71_n2aaa PCK_PM_% not_full default_charset
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/format_prof.sh /usr/tmp
v_gen_71_n2_aaamaindb v_gen_71_n2aaa v_gen_71_n2aaav_gen_71_n2aaa PCK_PM_% not_full
default_charset
Beginning extraction of format profile(s) PCK_PM_% ...
List of managed format profiles:
PCK_PM_FMT_PROF

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 184
The generated files are under the /usr/tmp/ directory ; the cmd file is
/usr/tmp/PCK_PM_ALL_FORMAT_PROF.cmd.

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
PCK_PM_ALL_FORMAT_PROF.cmd The cmd file that contains all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.18.4 Screen profile


The screen profiles are managed by the aaa EXP_SCREEN_PROF service. This tool uses the
screen_prof.sh shell script, which exports the screen profiles and the screen profile
compositions. Wildcards are allowed. If the scope parameter is set to "full", all screen-related
entities are exported too.

Command line
If you run the aaa EXP_SCREEN_PROF script without arguments, the following usage details
are displayed:
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/screen_prof.sh
screen_prof.sh: Invalid number of arguments
Usage: screen_prof.sh output_dir database username password object|< % for wildcard>
[full | not_full] [charset|default_charset]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of screen profile
- full is optional, not_full by default
and indicates that screens of the specified profile will be exported
- charset is optional but if you specify it,
full not_full must be specified

Example
The following example shows how to export all screen profiles containing "T_AI_" in the
code:
>$AAAHOME/aaa EXP_SCREEN_PROF /usr/tmp v_gen_81_1_aaamaindb v_gen_81_1aaa
v_gen_81_1aaav_gen_81_1aaa T_AI_% not_full default_charset
AAAHOME is /oams/v_gen_81_1/aaa/current
Executing /oams/v_gen_81_1/aaa/current/tools/export/screen_prof.sh /usr/tmp
v_gen_81_1_aaamaindb v_gen_81_1aaa v_gen_81_1aaav_gen_81_1aaa T_AI_% not_full
default_charset
Beginning extraction of screen profile(s) T_AI_% ...
List of managed screen profiles :
T_AI_SCR_COMPO_OMGT
The generated files are under the /usr/tmp/ directory ; the cmd file is
/usr/tmp/T_AI_ALL_SCREEN_PROF.cmd.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 185
Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
T_AI_ALL_SCREEN_PROF.cmd The cmd file that contains all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.18.5 Search criteria


The shell script search_criteria.sh exports the search_criteria, search_criteria_compo,
and script_definition entities. The following usage description is displayed if you run
$AAAHOME/tools/export/search_criteria.sh without arguments:
Usage: search_criteria.sh [output_dir] [database] [username] [password] [object | % for
wildcard]
Where:
<output_dir> is the complete path of the directory where the generated files are created, e.g:
/usr/tmp
<database> is the Triple'A Plus Core main database
<username> is the Triple'A Plus Core user name
<password> is the Triple'A Plus Core user password
<object> is the code of the search criteria

Command line
If you run the aaa EXP_SEARCH_CRITERIA script without arguments, the following usage
details are displayed:
# aaa EXP_SEARCH_CRITERIA
AAAHOME is /oams/d_tap_bdc2/aaa/current
Executing /oams/d_tap_bdc2/aaa/current/tools/export/search_criteria.sh
search_criteria.sh: Invalid number of arguments
Usage: search_criteria.sh output_dir database username password object|< % for
wildcard> [charset|default_charset]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of the search criteria
*** [email protected]:/oams/d_tap_bdc2/aaa/current ***

Example
The following example shows how to export all search criteria containing "PCK_DS" in the
code:
*** [email protected]:/oams/d_tap_bdc2/aaa/current ***
# ./aaa EXP_SEARCH_CRITERIA /usr/tmp d_tap_bdc2_aaamaindb d_tap_bdc2aaa
d_tap_bdc2aaad_tap_bdc2aaa PCK_DS% default_charset
AAAHOME is /oams/d_tap_bdc2/aaa/current
Executing /oams/d_tap_bdc2/aaa/current/tools/export/search_criteria.sh /usr/tmp
d_tap_bdc2_aaamaindb d_tap_bdc2aaa d_tap_bdc2aaad_tap_bdc2aaa PCK_DS% default_charset
Beginning extraction of search criteria(s) PCK_DS% ...
List of managed search criteria:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 186
PCK_DS_SC_CLIENT_ADM
PCK_DS_SC_DOM_ADMIN
PCK_DS_SC_DOM_REPORT
PCK_DS_SC_INSTR_ADMI
PCK_DS_SC_INSTR_PERF
PCK_DS_SC_INSTR_RKM
PCK_DS_SC_PTF_ADM
PCK_DS_SC_STRAT_ADMI
PCK_DS_SC_STRAT_PERF
02/05/14 12:09:52
/oams/d_tap_bdc2/aaa/current/tools/export/export_scrdef.sh laurs55b.oams.com
START with parameters -n search_defval -w /usr/tmp -d /usr/tmp -f
script_def1.6357110.tmp -o PCK[_]DS% -Ud_tap_bdc2aaa -Pd_tap_bdc2aaad_tap_bdc2aaa -M
d_tap_bdc2_aaamaindb -s ~
Password:
02/05/14 12:09:53
/oams/d_tap_bdc2/aaa/current/tools/export/export_scrdef.sh laurs55b.oams.com
END
02/05/14 12:09:53
/oams/d_tap_bdc2/aaa/current/tools/export/export_scrdef.sh laurs55b.oams.com
START with parameters -n search_filter -w /usr/tmp -d /usr/tmp -f
script_def2.6357110.tmp -o PCK[_]DS% -Ud_tap_bdc2aaa -Pd_tap_bdc2aaad_tap_bdc2aaa -M
d_tap_bdc2_aaamaindb -s ~
Password:
02/05/14 12:09:53
/oams/d_tap_bdc2/aaa/current/tools/export/export_scrdef.sh laurs55b.oams.com
END
The generated files are under the /usr/tmp/directory ; the cmd file is
/usr/tmp/PCK_DSALL_SC.cmd.

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
PCK_DSALL_SC.cmd The cmd file that contains all setting, command, and attribute lines specific to a
native import file. It is the main argument of the import command.

20.1.18.6 Search profile


The search profiles are managed by the aaa EXP_SEARCH_PROF service. This tool uses the
search_profile.sh shell script, which exports the search profiles and the search profile
compositions. Wildcards are allowed. If the scope parameter is set to "full", all search
criteria-related entities are exported too.

Command line
If you run the aaa EXP_SEARCH_PROF script without arguments, the following usage details
are displayed:
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/search_profile.sh
search_profile.sh: Invalid number of arguments
Usage: search_profile.sh [output_dir] [database] [username] [password] [object | %
for wildcard] {full | not_full} {charset|default_charset}

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 187
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of the search profile
- full is optional, not_full by default
and indicates that formats of the specified profile will be exported
- charset is optional but if you specify it,
full not_full must be specified

Example
The following example shows how to export all search profiles containing "T_AI_" in the
code:
>$AAAHOME/aaa EXP_SEARCH_PROF /usr/tmp v_gen_71_n2_aaamaindb v_gen_71_n2aaa
v_gen_71_n2aaav_gen_71_n2aaa T_AI_% not_full default_charset
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/search_profile.sh /usr/tmp
v_gen_71_n2_aaamaindb v_gen_71_n2aaa v_gen_71_n2aaav_gen_71_n 2aaa T_AI_% not_full
default_charset
Beginning extraction of search profile(s) T_AI_% ...
List of managed search profile:
T_AI_CMC_CI
The generated files are under the /usr/tmp/directory ; the cmd file is
/usr/tmp/T_AI_ALL_SEARCH_PROF.cmd.

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
T_AI_ALL_SEARCH_PROF.cmd The cmd file that contains all setting, command, and attribute lines
specific to a native import file. It is the main argument of the import
command.

20.1.18.7 Report profile


The report profiles are managed by the aaa EXP_REPORT_PROF service. This tool uses the
report_prof.sh shell script, which exports the report profiles and the report profile
compositions. Wildcards are allowed.

Command line
If you run the aaa EXP_REPORT_PROF script without arguments, the following usage details
are displayed:
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/report_prof.sh
report_prof.sh: Invalid number of arguments
Usage: report_prof.sh [output_dir] [database] [username] [password] [object | % for
wildcard]
where : - output_dir is the complete path of the directory where the
generated files are created,
e.g: /usr/tmp
- object is the code of the report profile

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 188
Example
The following example shows how to export all report profiles containing "PROF" in the code:
>$AAAHOME/aaa exp_report_prof /usr/tmp v_gen_71_n2_aaamaindb v_gen_71_n2aaa
v_gen_71_n2aaav_gen_71_n2aaa %PROF%
AAAHOME is /oams/v_gen_71_n2/aaa/current
Executing /oams/v_gen_71_n2/aaa/current/tools/export/report_prof.sh /usr/tmp
v_gen_71_n2_aaamaindb v_gen_71_n2aaa v_gen_71_n2aaav_gen_71_n2aaa %PROF%
Beginning extraction of report profile(s) %PROF% ...
List of managed report profiles:
DEF_REPORT_PROF
T_DUMMY_RPT_PROF_01
T_DUMMY_RPT_PROF_02
The generated files are under the /usr/tmp directory ; the cmd file is
/usr/tmp/ALLPROF%_PROF.cmd.

Generated file
The generated file is saved in the specified output directory. The generated file is:

File Description
ALLPROF%.cmd The cmd file that contains all setting, command, and attribute lines specific to a native
import file. It is the main argument of the import command.

20.1.19 Business_entity and related entities


The entity business_entity is managed by the aaa expobj service. This tool uses
export_data.sh and exports the business_entity and all sub_entities:
 bus_entity_address
 bus_entity_instr_compo
 bus_entity_ptf_compo
 bus_entity_third_compo
 bus_entity_user_compo
 business_orga

20.1.19.1 Example
The following example shows how to export a business_entity for which the code starts with
'TE':
>$AAAHOME/ aaa expobj -e business_entity -o TE% -f business_entity.imp -d /tmp -U
d_mst_baaaa -P d_mst_baaaa2104 -M d_mst_ba_aaamaindb

>>> Importation file is: /tmp/business_entity.imp

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 189
21 User-defined fields

21.1 Creating user-defined fields


To create new user-defined fields execute the modif_ud_field.sh procedure located in the
$AAAHOME/ddl/bin/ directory. Before you start creating user-defined fields, refer to section
Notes in this chapter.

21.1.1 Syntax
To create a new user-defined field, use the following syntax:
modif_ud_field.sh aaa_owner aaa_passwd sa_passwd environ_name table_name add
ud_field_name "gui_name" datatype_name physical|non_physical
"default_value"|no_default_value "parent_entity"|no_parent_entity
"parent_attrib"|no_parent_attrib null|not_null fk_table_name|no_fk_table_name
charset_name|default_charset search|no_search quick_search|no_quick_search
compile|no_compile|compile_only max_db_length default_display_length

Where:
<aaa_owner> is the Triple'A Plus Core Application owner (can be found in the
$AAAHOME/install/aaa_install.cfg file).
<owner_passwd> is the Triple'A Plus Core Application owner password.
<sa_passwd> is the Sybase System Administrator password.
<environ_name> is the environment name in the aaa_install.cfg file.
<table_name> is the table where the user-defined field will be added.
<add> is optional. Adds a user-defined field.
<ud_field_name> is the name of the UD field in the database. The name must begin with the
string ud_. Also, it must end with the recommended extension (see
datatype_name below) for script language shortcuts to apply, especially
with the _id and _dict_id extensions.
<“gui_name”> is the name of UD field for GUI (for 'add' only). Text label in English of the
user-defined field. The name must be enclosed in double quotes (" ") if it is
more than one word.
<datatype_name> is the datatype name of UD field (for 'add' only). The possible datatypes
are listed in the table below.
<physical> or indicates whether the UD field exists physically in the database (for 'add'
<non_physical> only) or not
<"default_value"> or is the default value for the field or not (for 'add' only). default_value
<no_default_value> must be a script expression. You must enclose it in double quotes (" ") if it
includes more than one word.
<"parent_entity"> or is the parent entity for the UD field (for 'add' only).
<no_parent_entity>

<"parent_attrib"> or is the parent attribute for the UD field (for 'add' only). Be careful to enter
<no_parent_attrib> parent_attrib and not parent_attribute, otherwise the
modif_ud_field.sh command will not work.
<null> or <not_null> indicates whether the field can have a null value (in other words, whether
it is mandatory (not_null) or not (null)). Note that for the enum_t and
flag_t datatypes, the user-defined field must be mandatory for all
attributes other than the logical fields (in other words, you must use the
not_null argument) (for 'add' only).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 190
<fk_table_name> or defines whether the user-defined field is a foreign key to another table or
<no_fk_table_name> not. Check the data model for the exact syntax of the table name (for 'add'
only).
<charset_name> is the name of charset (e.g., iso_1, default_charset = default charset of
platform).
<quick_search> or defines Quick Search or not (for 'add' only).
<no_quick_search>

<compile>, <no_compile> determines whether to compile or not the procedures and views (for 'add'
or <compile_only> only), or to compile only (for existing UD fields only). If you add several
user-defined fields to a table, you can use the compile option for the last
one and no_compile for the previous fields. This means that the
procedures linked to this table will only be recompiled once at the end.
max_db_length is the maximum length of the code_t or name_t field stored in the
database. If 0 is entered, the default of 20 is applied. This is used only for
code_t and name_t types; for other types, null is applied.
default_display_length is the default length of the code_t or name_t field displayed in the GUI. If 0
is entered, the default of 20 is applied. This is used only for code_t and
name_t types; for other types, null is applied.

ud_field_name
The possible tables for option table_name are:

acc_plan address adjust_operation bp_transf_operation balance_pos_type


book_adj_operation buy_operation calendar Currency deposit
domain execution ext_execution ext_operation ext_ret_analysis
ft_convention ft_rate ft_operation Instrument geographic
global_execution_fee income_operation init_operation invest_operation list
lock_operation manager operation perf_attrib portfolio
pf_transf_operation sector sell_operation share_iss_operation standard_perf
third_party trading_currency trading_place share_redm_operation type
transf_operation appl_user val_rule withdr_operation case_management
case_clarification

Datatypes
The possible datatypes are:

Datatype name Native ASE datatype Recommended extension


amount_t numeric(16,2) _m

code_t varchar(20) _c

date_t Datetime _d

datetime_t Datetime _d

enum_t Tinyint _e

exchange_t numeric(18,9) _rate

flag_t tinyint _f

id_t numeric(14,0) _id

info_t varchar(80) _c

int_t int _i

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 191
Datatype name Native ASE datatype Recommended extension
longamount_t numeric(21,7) _m

longname_t varchar(30) _c

name_t varchar(20) _c

note_t varchar(255) _c

number_t numeric(21,9) _n

percent_t numeric(9,5) _p

period_t smallint _si

phone_t varchar(21) _c

shortinfo_t varchar(40) _c

smallint_t smallint _si

sysname_t varchar(30) _c

tinyint_t tinyint _ti

(To check directly in the meta-dictionary table you can use the following SELECT statement:
select * from dict_entity where cust_auth_f = 1

in the main Triple'A Plus Core database. This is the check that is made in
modif_ud_field.sh command to allow the creation of user-defined fields.)
 When you add a user-defined field with a link to a foreign table, the datatype must be
id_t.
 The permitted values for flag_t datatypes, 0 for No and 1 for Yes, must be defined in
the file $AAAHOME/ddl/src/dict_perm_value_dat.usr.sql.
 The permitted values for the enum_t and flag_t datatypes must be defined in the file
$AAAHOME/ddl/src/dict_perm_value_dat.usr.sql.
 For all the datatypes, you must define attribute details and labels in the following files:
 $AAAHOME/ddl/src/dict_attribute_dat.usr.sql
 $AAAHOME/ddl/src/dict_label_dat.en_usr.sql
 $AAAHOME/ddl/src/dict_label_dat.fr_usr.sql
 etc.
 For datetime_t: You can create a long date field. Instead of the datetime_t type you
must enter the datetime_full parameter. For DATETIME: datetime_t => display only the
date in screen; datetime_full => display of the date and the hour.

fk_table_name
This is mandatory for all user-defined fields of datatype id_t. You can define the user-
defined field as a foreign key to one of the following tables:

acc_plan_element appl_user balance_pos_type calendar

classification constraint_template Currency deposit

derived_strategy dict_language Execution ext_execution

ft_convention geographic Grid instrument

light_order list Manager model_constraint

portfolio scenario Sector strategy

third_party type

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 192
Default_value
 The modif_ud_field.sh script only sets the existing records with the default value set
to the new user-defined field but not the Sybase default value that can be applied to
new records. With default values, the policy is to use Triple'A Plus Core default values
that you can edit from the GUI.
 When adding a default value for a new user-defined field that is a foreign key, you need
to provide the business key (the code in most cases) of the foreign entity as the
default value. For example, if you add a new field that is a foreign key on table
"dict_language", the default_value can be "en" (which is the code for English
language).
There is an exception however for the entity "type"; the script cannot handle default
values on user-defined fields that are foreign keys on "type". You must not specify a
default value when adding the user-defined field. Instead, manually run a Sybase SQL
command after the user-defined field has been created. For example, the following is an
SQL command that updates all values for a user-defined field:
update ud_instrument set ud_my_field = "my value" where ud_my_field is null

21.1.2 Notes
 All users must be logged out and all servers stopped before you execute the
modif_ud_field.sh command. That is, before a user-defined field is created, all
Triple'A Plus Core users must disconnect from the databases used by Triple'A Plus Core,
which means all Financial, Fusion, Dispatch, and Report Servers must be shut down, all
GUI processes must be stopped, and no other connection to the Triple'A Plus Core
databases (such as ISQL) is allowed. The Database Server, however, must be running.
 A maximum of 16 user-defined fields in the whole system can have a foreign key to the
same table. For example, you can create a maximum of 16 user-defined fields with the
type table as the foreign table.
 Regarding the maximum number of user-defined fields, there are several limitations
set by Sybase and by Triple'A Plus Core. For more information, see section User-defined
field restrictions.
 It is highly recommended that you make a database backup before adding a new
user-defined field so you can return to the previous version if you see that the user-
defined field does not fit your requirements. It is also mandatory to restore a database
backup when the modif_ud_field.sh command fails for any reason (e.g. kill of
process, power and network disruptions, script interruption).
 User-defined fields in the Domain are sent to the financial server. This is useful for
reports (Triple'A Plus Reporting) where the information can be used directly in the
report itself. It is also useful for standard Triple'A Plus Core functions since the
information can be retrieved using the DOMAIN() keyword.
 Error message after adding a new user-defined field:
Difference between received column number ( ) and Dyn. Struct columns ( )
for dyn struct xxxx
appears when a user-defined field is created in a table and the procedures linked to the
table have not been recompiled. One of the usual causes is that the environ_name
parameter in the modif_ud_field.sh command is incorrect.
 Solution 1: Restart the modif_ud_field.sh procedure using the correct
environ_name and the compile_only option.
 Solution 2: Recompile the procedures linked to this table using the install_ddl.sh
procedure located in $AAAHOME/ddl/bin/. install_ddl.sh takes the following
parameters:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 193
$AAAHOME/ddl/bin/install_ddl.sh aaa_owner aaa_passwd sa_passwd p table_name
environ_name

 Make sure to execute the procedure exec check_meta_dict on the main database
after the modif_ud_field.sh execution is over. You should have no messages and a
return status = 0. This will alert you when there are missing permitted values on an
enumeration typed user-defined field, or when there are missing labels, for example. In
case of such errors, the Design Studio meta-dictionary recompilation will fail.
 It is strongly recommended to end the field name with the correct extension (refer to
the tables in section Datatypes). These extensions are used by the Reporting
framework and by the Script Language. For example, an enumeration field should be
called "ud_enum_e" and not "ud_enum".

21.2 Dropping user-defined fields


The drop_ud_field.sh script performs a real physical drop of the specified ud_field. This
operation includes the migration of the table. So, if you intend to drop a ud_field from a big
table, you will need space on the devices where the main database is stored.
The drop_ud_field.sh script does the following:
 Performs all the necessary checks and the verification (does the ud_field exist?, does
the table exist?, access rights, etc.).
 Verifies the space left for the table migration (for the operation table, ext_operation is
also processed so more space is required).
 Renames the ud-table (to old ud-table).
 Creates the new structure of the table (minus the dropped field).
 Copies data from the backup ud-table to the new one (by blocks).
 Modifies the meta-dictionary (remove all occurrences of the dropped field).
 Rebuilds triggers linked to the meta-dictionary.
 Rebuilds views, procedures, and triggers on all tables by default. If, however, the script
is executed with the last parameter set to "no_compile", this step will not be executed
(see important note below).
If an error occurs, the script can restore the:
 ud-table (and all triggers and procedures linked to it).
 meta-dictionary (if changed).
Important: Once all user-defined fields that needed to be dropped are dropped, you must
recompile all stored procedures, views, and triggers on all entities. Note that the compilation
parameter set to "no_compile" allows you to drop several user-defined fields faster because
it will not recompile objects between each drop_ud_field.sh execution. Be sure to drop the
last user-defined field with the compilation parameter set to "compile" (see section Usage).

21.2.1 Prerequisites
You must ensure the following before you run drop_ud_field.sh:
 A full backup of the database (main).
 Audit turned off.
 No user logged in to the SQL server. Also stop the financial servers.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 194
 There is enough space in the main database (1.4 times the size of the table, 2.4 times if
the table is the operation table).
 Check the usage of the transaction log (must be empty, if possible, and large enough).

21.2.2 Usage
The drop_ud_field.sh script uses the following syntax:
drop_ud_field.sh aaa_owner aaa_passwd sa_passwd aaahome environ_name ud_field_name
table_name charset [compil_mode]

Where
<aaa_owner> is the Triple'A Plus Core Application Owner
<aaa_passwd> is the Triple'A Plus Core Application Owner Password
<sa_passwd> is the Sybase System Administrator Password
<aaahome> is the home directory of Triple'A Plus Core Application
<environ_name> is the environment name of Triple'A Plus Core in the aaa_install.cfg file
<ud_field_name> is the user-defined field to be deleted
<table_name> is the table to be deleted
<Charset> is the charset_name = name of charset e.g. iso_1, default_charset = default
charset of target platform
<compil_mode> is the compilation mode. This parameter is optional and by default, it is set to
"compile", which will recompile all views, procedures, and triggers. Use
"no_compile" to drop several user-defined fields faster, but be careful to drop the
last user-defined field using the "compile" option.

21.2.3 Log files


The drop_ud_field.sh script creates a log file in the directory: $AAAHOME/ddl/log. The log
file contains all the information printed on the screen plus the queries run during the
procedure and also the result of other scripts used such as install_ddl.sh and
modif_ud_field.sh.
Temporary tables:
For security reasons, temporary tables are not dropped (they are actually the original tables
backed up during the drop of the field). The temporary tables are named as follows:
bad_ud_+ table name + $$
where $$ is the PID of the drop_ud_field.sh process.
To remove a temporary table, connect to the database using isql, then go to the main
database and run the command:
"drop table <name of table to remove >"

21.3 User-defined field restrictions

21.3.1 Sybase dataserver limitations


There are several limitations set by Sybase:
 The maximum number of columns you can create in a table is 1024.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 195
 The maximum number of columns retrieved by a view is 1024. As an entity is, from the
standpoint of Triple'A Plus, the conjunction of two tables, for example, operation and
ud_operation, the 1024-field limitation applies to the view.
 Maximum length of one row will depend on Sybase page size. You can find this value
via SQL command:
select @@maxpagesize

The minimum value required is 4K for Release 13 and higher versions. The only way to
bypass this limit is to change the logical page size in the dataserver configuration. This
change is applied system wide and affects all databases and tables installed on the
dataserver. The possible page size values are 4Ko (4096 bytes), 8Ko (8192 bytes), or
16Ko (16384 bytes). The page size modification forces you to migrate all data on the
client site. For more information, refer to the Triple’A Plus Database nkMigration and
Cloning Technical Guide.

21.3.2 Triple'A Plus Core attribute identifier limitation


If clients have created and dropped a number of user-defined fields in the same table, this
could be an obstacle to creating more attributes. Triple'A Plus Core manages the attribute
identifier in its application catalogue. Identifiers in the dict_attribute table are composed as
follows:
 First 4 positions: entity identifier to which the attribute belongs (e.g., 0800 for
portfolio)
 Other positions:
 From 1 to 300: Triple'A Plus Core delivered attributes
 From 300 to 600: physical user-defined fields
 From 600 to 700: non-physical user-defined fields
 From 700: extensions
When a new physical user-defined field is created the counter is incremented in the 300-600
range. But if this field is dropped, the attribute identifier remains the same.
A new user-defined field identifier is assigned the maximum number + 1.
Example: Operation table (entity_dict_id = 1004)
select dict_id, sqlname_c
from dict_attribute
where entity_dict_id = 1004
and custom_f = 1
order by dict_id
dict_id sqlname_c
----------- ---------
1004301 ud_id
1004303 ud_comm_type_id
1004501 ud_t_instr_type_id
1004502 ud_trans_type_id

Say that all the UDFs between 303 and 501 have been dropped in the operation table. The
next UDF is assigned the number 1004503.
Check the maximum identification number on your environment by running the above query.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 196
22 User-defined entities (UDEs)
A Triple'A Plus Core user-defined entity (UDE) provides an extension of the Triple'A Plus Core
standard data model with a new entity. The objective is to have Triple'A Plus treat these
custom entities like standard ones. This includes:
 Administration in the GUI.
 Data importation through the Triple'A Plus Core interface processing.
 Data exportation through the procedure exec_sel_export_data_by_cd.
 Back-end services accessible from the WUI.
 Supporting default values and input controls.
 Accessible by the script keywords GET_OBJECT, AUTOCREATE, GET_GEST_OBJECT and
GET_OBJECT_ARRAY.

22.1 Creating user-defined entities (UDEs)


In the following sections, you will learn about:
 Modelling and creating UDE definitions
 Installing UDEs into Triple’A Plus Core database
 Rules when specifying user-defined entities (UDE)
 Activating security
 Known limitations

22.1.1 Modelling and creating UDE definitions


Design Studio is the official interface for modelling and creating the definition of the user-
defined entity (UDE). A complete definition of the entity must be contained in Design Studio,
which includes:
 Definition of the entity.
 Definition of the attributes with mandatory primary key and business key.
 All permitted values and flag attributes completely described.
 Label that describes the database structure (e.g., entity, attributes, and permitted
values).
At the end, these definitions can be exported into a Triple’A Plus Core import file that is
named pms-models-ude.imp.
For more information about modelling and the limitations of UDEs, refer to the Triple’A Plus
Design Studio User Guide in Design Studio.

22.1.2 Installing UDEs into Triple’A Plus Core database


The following steps describe how to install user-defined entities (UDEs) into the Triple’A Plus
Core database:
1. Locate the Triple’A Plus Core import file named pms-models-ude.imp (for information
about this file, see section Modelling and creating UDE definitions).
Note: It is recommended that you rename the file to have the key “usr” in the name.
This helps to ensure that the migration process does not erase this file.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 197
2. Move the file into the directory $AAAHOME/ddl/md/ds. The import file in this directory
must contain all of the UDEs. If an entity is missing, it will not be visible in the
application. It will, however, still be present in the database.
Note: It is recommended that you put all user files in the directory
$AAAHOME/ddl/md/ds only. All of these files should contain the pattern ".usr.".
3. The target segment of the physical table and the indexes are defined by Triple’A Plus
Core default values, but it is possible to create an import file to override these values.
For example, to modify the segment of the table udt_mytable:
REM ##############################################
REM This file contains exception regarding default values of
xd_entity.segment_dict_id and xd_entity.idx_segment_dict_id
REM The physical table and index will be placed on this segment of the corresponding
database
REM ##############################################

SET SEPARATOR ;
SET QUOTE NONE
SET DATAFORMAT DELIMITED
SET DATEFORMAT DD-MM-YYYY
SET AUTOMATIC xd_entity OFF
SET AUTOMATIC xd_attribute OFF

CMD INSUPD xd_entity


ATT sqlname_c segment_dict_id.code idx_segment_dict_id.code
DAT udt_mytable;MY_DATA_SEG1;MY_IDX_SEG1

4. Do the following:
a) Before you run the script, stop all GUI Clients and all Open Servers. No connections
to the Triple'A Plus Core databases are permitted.
b) Run the script $AAAHOME/ddl/bin/install_ddl.sh to update your database.
Ensure that the Triple'A Plus Core owner runs the script.
The command is:
install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> tb ds <environment> default_charset

Where:

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg
(eighth field in the lines beginning with B)

5. Restart the Triple'A Plus Core GUI Clients and Open Servers.
Note: The segments that we can define in the import file are described in the installation file
$AAAHOME/install/aaa_install.cfg.

22.1.3 Rules when specifying user-defined entities (UDE)


The following rules must be applied when specifying the user-defined entities (UDE):

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 198
 The entity sql name must start with "udt_" or "ude_".
 To use the script keyword GET_OBJECT, it is mandatory to have the primary key ("id" is
mandatory) on the first position and the business key ("code" is also mandatory) on the
second position of the entity.
 The following attributes are reserved for Triple'A Plus Core functionalities:
 id: Identity of the primary key attribute.
 code: If exists, must be the only attribute of the business key.
 denom: Contains the default denomination.
 denomination: Denomination by language.
 name: Contains the name.
 script_control: Input control management; logical attribute automatically
generated by the generator.
 data_secu_prof_id: Security behaviour.
 data_secu_prof2_id: Security behaviour.
 delete_right_f: Security behaviour.
 auth_delete_f: Security behaviour.
 update_right_f: Security behaviour.
 auth_update_f: Security behaviour.
 active_f: Deactivation of the record (not yet supported).
 codification_id: Synonym behaviour (not yet supported).
 synonym: Synonym behaviour (not yet supported).
 autocreated_f: Auto creates management (not yet supported).
 type_id: Type references (not yet supported).
 subtype_id: Sub-type references (not yet supported).
 notepad: Notepad management.

22.1.4 Activating security


To activate the Triple'A Plus Core security on a user-defined entity (UDE):
1. Create the following attributes in Design Studio:
 data_secu_prof_id (id_t; reference on entity data_secu_prof)
 update_right_f (flag_t)
 delete_right_f (flag_t)
2. Patch the directory $AAAHOME/ddl/md/ds with a file that contain the following import
section:

SET SEPARATOR ;
SET QUOTE NONE
SET DATAFORMAT DELIMITED
SET DATEFORMAT DD-MM-YYYY
SET AUTOMATIC xd_entity OFF
SET AUTOMATIC xd_attribute OFF

REM ##############################################
REM ##### Add security attributes
REM ##############################################

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 199
CMD INSUPD xd_entity
ATT sqlname_c security_level_e
DAT ude_test_table;1

REM ##############################################
REM ##### Add security attributes
REM ##############################################
CMD INSUPD xd_entity
ATT sqlname_c security_level_e
DAT <entity sqlname>;1

CMD INSUPD xd_attribute


ATT sqlname_c xd_entity_id.sqlname_c disp_rank_n name datatype_dict_id.sqlname_c
mandatory_f db_mandatory_f ref_xd_entity_id.sqlname_c ref_delete_rule_e default_c
DAT data_secu_prof_id;<entity sqlname>;97;Data Security
Profile;id_t;1;1;data_secu_prof;1;DEF_DATA_SECU_PROF;

CMD INSUPD xd_attribute


ATT sqlname_c xd_entity_id.sqlname_c disp_rank_n name datatype_dict_id.sqlname_c
calculated_e default_c parent_xd_attrib_id.sqlname_c
parent_xd_attrib_id.xd_entity_id.sqlname_c edit_e subtype_mask

DAT update_right_f;<entity sqlname>;98;Update


Right;flag_t;3;0;auth_update_f;data_prof_compo;0;0
DAT delete_right_f;<entity sqlname>;99;Delete
Right;flag_t;3;0;auth_delete_f;data_prof_compo;0;0

CMD INSUPD xd_label xd_attribute


ATT language_dict_id.code object_id.xd_entity_id.sqlname_c object_id.sqlname_c name
DAT en;<entity sqlname>;data_secu_prof_id;Data Security Profile
DAT fr;<entity sqlname>;data_secu_prof_id;Profil de sécurité des données
DAT de;<entity sqlname>;data_secu_prof_id;Datensicherheitsprofil
DAT en;<entity sqlname>;update_right_f;Update Right
DAT en;<entity sqlname>;delete_right_f;Delete Right
DAT fr;<entity sqlname>;update_right_f;Droit de mise à jour
DAT fr;<entity sqlname>;delete_right_f;Droit de suppression
DAT de;<entity sqlname>;update_right_f;Änderungs-Berechtigung
DAT de;<entity sqlname>;delete_right_f;Löschberechtigung

Note: The attribute disp_rank_n of the entity xd_attribute defines the order in the database
and in the meta-dictionary.

22.1.5 Known limitations


 The user-defined entity (UDE) cannot be part of a list composition.
 The UDE cannot be managed by a nature.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 200
 The foreign key defined by the couple entity_dict_id and object_id are not supported.
 The primary key must be the only attribute that has the sql name "id".
 It is not possible to create a user- defined logical attribute (represented by a button in
the GUI) pointing to a user-defined entity (UDE). It is, however, possible to create a
user-defined foreign key on a UDE.

22.2 Removing user-defined entities (UDEs)


When you remove a user-defined entity (UDE) from the directory $AAAHOME/ddl/md/ds
(removed in Design Studio before exportation), the entity will be deleted by the generator. It
is a logical delete (the data remains in the database) with a status set to "deleted"
(xd_status_e=4).
If, however, you want to physically drop the entity from the meta-dictionary and the
database, you need to put a special import file in the directory $AAAHOME/ddl/md/ds:

SET SEPARATOR ;
SET QUOTE NONE
SET DATAFORMAT DELIMITED
SET DATEFORMAT DD-MM-YYYY
SET AUTOMATIC xd_entity OFF
SET AUTOMATIC xd_attribute OFF

REM ##############################################
REM ##### MAIN ENTITY/ATTRIBUTES DROPPING
REM ##############################################

CMD INSUPD xd_entity


ATT sqlname_c xd_action_e
DAT <entity_sqlname>;4

Then, the following installation command will remove the table:


install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> tb ds <environment> default_charset

and the data will remain in the extended meta-model (xd_*) with a status set to "physically
deleted" (xd_status_e=5).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 201
23 Questionnaire
Questionnaire provides an extension of the Triple'A Plus Core standard data model with new
entities. The generation of these new entities are driven by the definition done in the entitie
questionnaire definition and related sub-entities.
The name of the generated questionnaire entities are the code of the definition prefixed by
"qu_". They are the container of the responses of a specific questionnaire and are associated
with the entity "questionnaire_histo" containing all responses of all questionnaires. For more
details about questionnaires, refer to the Triple’A Plus Core User Guide.

23.1 Creating questionnaires


The following installation command will create or update the questionnaire entities:
install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> tb qu <environment> default_charset

Only questionnaires with status below "Validated" (e.g., “In progress”; “To validate”) will be
generated.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 202
24 Stored procedures

24.1 Defining new enumerated values

24.1.1 Adding and / or modifying user permitted values


To add and / or modify user permitted values:
1. Execute the following query to retrieve the list of attributes by entity where you can add
user enumerated or permitted values:
select de.sqlname_c "Entity", da.sqlname_c "Attribute",
Range = case when da.perm_auth_f=1 then "100 to 255"
when da.perm_auth_f=2 then "1 to 255"
end
from dict_entity de, dict_attribute da
where de.dict_id = da.entity_dict_id
and da.custom_f = 0
and da.perm_auth_f > 0
and da.parent_attribute_dict_id is null
order by Range, de.sqlname_c, da.sqlname_c

The result will be similar to the following:

Entity Attribute Range


acc_period_param nature_e 100 to 255

appl_message nature_e 100 to 255

calendar_conv nature_e 100 to 255

case_management status_e 1 to 255

case_management nature_e 100 to 255

case_management sub_nat_e 100 to 255

case_management type_id 100 to 255

case_msg_template priority_n 100 to 255

corporate_action mandatory_e 1 to 255

corporate_action nexus_status_e 1 to 255

corporate_action processing_status_e 1 to 255

curr_chrono nature_e 100 to 255

document_index nature_e 100 to 255

ft_convention nature_e 1 to 255

ft_convention tax_status_e 1 to 255

instr_chrono nature_e 100 to 255

instrument complexity_f 1 to 255

list_chrono nature_e 100 to 255

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 203
Entity Attribute Range
manager wui_profile_e 1 to 255

manager wui_role_e 1 to 255

operation order_nat_e 1 to 255

operation order_price_nat_e 1 to 255

operation order_validity_nat_e 1 to 255

operation status_e 1 to 255

port_chrono nature_e 100 to 255

portfolio service_type_e 1 to 255

portfolio_third_compo ownership_rule_e 100 to 255

position sub_pos_nat2_e 1 to 255

position sub_pos_nat3_e 1 to 255

position sub_pos_nat_e 1 to 255

script_library nature_e 100 to 255

standing_instruction status_e 1 to 255

strategy_element obj_track_error_check_e 100 to 255

third_chrono nature_e 100 to 255

third_party best_exec_e 1 to 255

third_party cli_classif_e 1 to 255

third_party commod_deriv_know_e 1 to 255

third_party credit_deriv_know_e 1 to 255

third_party curr_deriv_know_e 1 to 255

third_party economic_stat_know_e 1 to 255

third_party education_level_e 1 to 255

third_party indice_deriv_know_e 1 to 255

third_party int_deriv_know_e 1 to 255

third_party market_venue_type_e 1 to 255

third_party mifid_last_modif_d 1 to 255

third_party mifid_last_user_id 1 to 255

third_party other_complex_know_e 1 to 255

third_party sec_deriv_know_e 1 to 255

third_party wui_profile_e 1 to 255

third_party wui_role_e 1 to 255

third_party best_exec_n 100 to 255

val_rule_coeff nature_e 1 to 255

2. To insert or modify one of these elements, use the source file


$AAAHOME/ddl/src/dict_perm_value_dat.usr.sql and perform the following steps:
a) Backup your database.
b) Edit file dict_perm_value_dat.usr.sql by adding or modifying the lines of the
relevant section of the script using the following syntax:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 204
exec ins_upd_dict_perm_value_usr "<entity>","<attribute>",enumerated
value,"name",rank
go

Example: (An example is also supplied inside the source file.)


exec ins_upd_dict_perm_value_usr "operation","status_e",5,"Sent to customer",5
go

c) Run the script $AAAHOME/ddl/bin/install_ddl.sh to update your database.


Notes:
 When you run this script, no connections to the Triple'A Plus Core databases are
allowed. Stop all GUI Clients and all Open Servers before you run the script.
 Triple'A Plus Core owner must run the script.
The command is:
install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> usr dict_perm_value <environment>
default_charset

Where:

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg
(eighth field in the lines beginning with B)

d) Restart the Triple'A Plus Core GUI Clients and Open Servers.

24.1.2 Deleting user permitted values


To delete user permitted values:
1. Backup your database.
2. Edit file $AAAHOME/ddl/src/dict_perm_value_dat.usr.sql by adding a line in the
relevant section of the script using the following syntax:
exec del_dict_perm_value_by_bk "<entity>","<attribute>",enumerated value
go

Example: (An example is also supplied inside the source file.)


exec del_dict_perm_value_by_bk "portfolio", "pos_logical_e", 0
go

The above script only drops one permitted value at a time. It is also possible to drop all
permitted values for a given attribute by using the following command:
exec del_dict_perm_value_by_attr "<entity>","<attribute>"
go

Example: (An example is also supplied inside the source file.)


exec del_dict_perm_value_by_attr "portfolio", "pos_logical_e"
go

3. Update your database by running the script $AAAHOME/ddl/bin/install_ddl.sh.


Notes:
 When you run this script, no connections to the Triple'A Plus Core databases are
allowed. Stop all GUI clients and all Open Servers before you run the script.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 205
 The Triple'A Plus Core owner must run the script.
The command is:
install_ddl.sh <aaa_owner> <aaa_pwd> <sa_pwd> usr dict_perm_value <environment>
default_charset

Where

<aaa_owner> Triple'A Plus Core Super User name


<aaa_pwd> Triple'A Plus Core Super User password
<sa_pwd> Sybase Super User password
<environment> Environment name defined in the file $AAAHOME/install/aaa_install.cfg
(eighth field in the lines beginning with B)

4. Restart the Triple'A Plus Core GUI Clients and Open Servers.

24.2 Localisation scripts


You can use scripts to localise the software, that is, enter translated labels in the database
so the program runs in, say, French or German. To add new labels, you can use either the
dict_label_dat.fr.usr.sql or dict_label_dat.en.usr.sql script.
Examples:
 ins_upd_dict_label_entity_usr "<code language>" , "<table coded name>" , "<new
label>" to define a label of an entity
 ins_upd_dict_label_attrib_usr "<code language>" , "<table coded name>" , "<attribute
coded name>" , "<new label>" to define a label of an attribute
 ins_upd_dict_label_permval_usr "<code language>" , "<table coded name>" ,
"<attribute coded name>" , perm_val_nat_e , "<new label>" to define a label of a
permitted value
 ins_upd_dict_label_crit_usr "<code language>" , "<table coded name>" , index criteria
, "<new label>"
The second step consists in running the script $AAAHOME/ddl/bin/install_ddl.sh where
the entity is dict_label.
 exec ins_upd_dict_label_entity_usr "fr" , "appl_param" , "Paramètres d’application"
 exec ins_upd_dict_label_attrib_usr "fr" , "currency" , "id" , "identifiant de la devise"
 exec ins_upd_dict_label_permval_usr "fr" , "instrument" , "nature_e" , 1 , "Actions"

24.3 Business sub-functions


Defining business sub-functions can be useful as it lets you run a business function on
simplified formats instead of on all of them. The definition is sub-divided into four steps as
described in the following sections.

24.3.1 Creating new sub-functions

Modifying script dict_function_dat.usr.sql


Note that you must stop the financial server and all the GUI clients while you
perform the next two steps.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 206
To create a new sub function, you must edit the file dict_function_dat.usr.sql located in
the $AAAHOME/ddl/src directory. As Triple'A Plus Core Administrator, add the following line
to the appropriate section of the file:
exec ins_upd_dict_function_usr id , "sub function name" , "sub function coded name" ,
"parent function name" , "related help file" , "icon name"

Where parent function name can be:


 valo
 op_hist
 journal
 perfo
 op_list
 return
 check_strat
 ord_list
 book_adj_funct
 acc_plan_valo
 disp_chrono
 upd_field
 composite_mgr
 upd_draft
 order_entry
 initiate_order
 order_grouping
 order_grouping_index
The initiate_order function also allows sub-functions to be created from the first level of sub-
functions.
Note that the icon specified as the last argument must be located in the $AAAOIT/icons
directory.
The last field in the ins_upd_dict_function_usr procedure is the rank_n parameter from
the dict_function table.
The rank_n parameter is used in certain procedures. When a sub-function is created, the
dict_id of the last function created is used to obtain the new dict_id. If there is no last
function or dict_id, an id is associated with the sub-function beginning at 100.
With ICON_BAR_CONTENT it is possible to reference a function using its proc_name.
For example: 2;6;8;11;29;30;32;fusion.
In this example, the "fusion" function can be referenced by its dict_id (20 in this case) or its
name ("fusion").
Whenever possible, it is best to use the dict_id. The size of an appl_param value field is
limited to 80 characters. It is recommended to only use the name for sub-functions.
Example:
exec ins_upd_dict_function_usr 105, "Summarised list", "sub_valo5", "valo", NULL,
NULL

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 207
Generating new sub-functions
After you have modified the dict_function_dat.usr.sql file as Administrator, you must
generate the new function. To do this, run the install_ddl.sh script located in the
$AAAHOME/ddl/bin directory.
The arguments are:
 database owner
 database owner’s password
 database Administrator’s password
 metadictionary table to modify
 environment name
 default charset
Example:
install_ddl.sh aaa aaaaaa sybase usr dict_function demo default_charset

Accessing newly created functions


Once the function has been created, it has to be added to the users' function security profile.
To do this:
1. In the GUI, go to Administration > Security > Profiles > Function Security Profile.
The Select Function Security Profile screen is displayed.
2. Select the relevant Function Security Profile, and click Modify.
3. The Modify Function Security Profile screen is displayed.
4. Click Composition. You can then add function access to the profile:

Create Function Security Profile Comp (GUI screen)

Defining new formats


The formats that will reference the sub-function must do so in their Function attribute. In
addition, as Administrator, you must add them to the format profile associated with the
users.

24.3.2 Deleting sub-functions


When you no longer need the sub-functions you have defined, you can delete them. To do
this, use the del_dict_function_usr function. You must be logged on as a SQL
Administrator. Start ISQL on the UNIX machine or SQL Advantage in Windows. Enter the
following command:
exec del_dict_function_usr proc_name

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 208
Where proc_name (enclosed in double quotes) references the sub-function you want to
delete.

24.4 User data


For a successful installation or migration, it is important that all "user" data must be written
and maintained in dedicated SQL files stored in folder $AAAHOME/ddl/src.
As explained in previous chapters, all "user" data (compared to "system" data) must be
stored in the following meta-dictionary files:
 appl_param_dat.usr.sql
 dict_attribute_dat.usr.sql
 dict_function_dat.usr.sql
 dict_label_dat.en.usr.sql
 dict_label_dat.fr.usr.sql
 dict_label_dat.usr.sql
 dict_language_dat.usr.sql
 dict_perm_value_dat.usr.sql
These files are executed during any installation or migration where all user data are
restored. Meta-dictionary modifications that are not stored in these files will be lost after a
migration or upgrade (for example, user permitted values).

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 209
25 Running functions from the GUI

25.1.1 Modifying reference currency


The Modify Currency function allows the Super User to change the currency of a portfolio or
an instrument. As Super User, you can update all the operations that reference the portfolio
or instrument whose currency is modified.
To perform this operation using the GUI:
1. From the main Triple'A Plus Core menu bar, go to Operation > Special Functions > Modify
Reference Currency option.
2. Enter the name of the object (e.g., instrument, portfolio or portfolio position set) whose
reference currency you want to modify. You can modify the reference currency, the
system currency, or both.
The old currency automatically appears in the Old Currency field.
3. Enter the new currency in the New Currency field.
4. Click OK or Apply to make the appropriate update.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 210
26 Running functions from batch script
You can use the stored procedures described below to call the financial server. The
procedures let you:
 Run fusions
 Build list contents
 Compute instrument chronological data
 Copy operations
 Modify the reference currency
 Execute financial functions

26.1 Running fusions


Name:
start_manual_fusion_by_cd ()
Arguments:

dim_port_sqlname_c sysname_t

port_object_code code_t

begin_d datetime_t

fusion_scope_f flag_t

synchronous_f flag_t

Example:
start_manual_fusion_by_cd NULL,NULL,NULL,0

runs a fusion on All Portfolios at the current date in the New mode in asynchronous mode.
This procedure executes the start_fusion RPC procedure to inform the financial server that a
fusion process must be started. It checks that the AAA_MIGRATION_FLAG system parameter is
not enabled.
The argument synchronous_f is optional and does not need to be set. The default value is 0
(asynchronous treatment). Synchronous treatment is only permitted for the list dimension.

26.2 Building list contents


Name:
build_list_compo ()
Arguments:

entity_sqlname_c sysname_t

list_cd code_t

all_list_f flag_t

force_f flag_t

del_f flag_t

hist_f flag_t

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 211
date_d datetime_t=null

srv_name sysname_t=null (optional)

Example:
build_list_compo "portfolio",NULL,1,0,0,0,NULL

executes the RPC procedure build_list_compo. The last argument, the server name, is
optional. If building new lists to include new codifications, you must restart the financial
server.

26.3 Computing instrument chronological data


Name:
compute_instr_chrono ()
Arguments:

entity_sqlname_c sysname_t,

object_code code_t,

nature_e enum_t,

calc_d datetime_t,

force_f flag_t,

delete_f flag_t,

srv_name sysname_t=null (optional)

Example:
compute_instr_chrono "instrument" 224181

executes the compute_instr_chrono RPC procedure. The last argument, the server name, is
optional.

26.4 Copying operations


Name:
copy_operation ()
Arguments:

from_portfolio_cd code_t,

to_portfolio_cd code_t,

from_date datetime_t=null,

pps_currency_cd code_t=null,

pps_type_cd code_t=null,

pps_cons_port_cd code_t=null,

srv_name sysname_t=null

Example:
copy_operation PTF_1234 PTF_1234_001.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 212
copies all operations from portfolio PTF_1234 to portfolio PTF_1234_001. The to_portfolio_cd
must already exist in the Triple'A Plus Core database.

26.5 Modifying the reference currency


Name:
currency_modif ()
Arguments:

entity_sqlname_c sysname_t,

object_code code_t,

port_modif_e enum_t,

old_currency_code code_t,

new_currency_code code_t,

pps_currency_code code_t,

pps_type_code code_t,

pps_cons_port_code code_t,

old_sys_currency_code code_t,

new_sys_currency_code code_t,

srv_name sysname_t=null

Example:
currency_modif "instrument","238164",0,"NLG","EUR",NULL,NULL,NULL,NULL,NULL

changes the reference currency of the instrument 238164 from NLG to EUR.

26.6 Executing financial functions


Name:
exec_fin_analysis_all_domain ()
Arguments:

currency_code code_t,

dim_port_sqlname_c sysname_t,

dim_instr_sqlname_c sysname_t,

dim_strat_sqlname_c sysname_t,

user_code code_t,

language_code code_t,

function_name sysname_t,

scenario_code code_t,

quote_val_rule_code code_t,

exch_val_rule_code code_t,

port_object_code code_t,

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 213
instr_object_code code_t,

strat_object_code code_t,

report_code code_t,

acc_period_id id_t,

function_result_code code_t,

grid_code code_t,

acc_plan_code code_t,

book_portfolio_code code_t,

cons_portfolio_code code_t,

port_pos_type_code code_t,

market_segment_id id_t,

cash_currency_code code_t,

buy_order_rule_code code_t,

sell_order_rule_code code_t,

fusion_date_rule_e enum_t,

fusion_rule_e enum_t,

min_status_e enum_t,

max_status_e enum_t,

fund_split_rule_e enum_t,

zero_qty_f flag_t,

risk_exp_f flag_t,

option_risk_rule_e enum_t,

underly_f flag_t,

port_cons_rule_e enum_t,

status_fus_f flag_t,

close_pos_f flag_t,

pos_logical_e enum_t,

from_date_comp_rule_c info_t,

till_date_comp_rule_c info_t,

strat_date_comp_rule_c info_t,

freq_date_comp_rule_c info_t,

freq1_n tinyint_t,

freq1_unit_e enum_t,

freq2_n tinyint_t,

freq2_unit_e enum_t,

def_curr_f flag_t,

def_lang_f flag_t,

default_f flag_t,

port_quote_retr_f flag_t,

def_fusion_date_rule_f flag_t,

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 214
debt_f flag_t,

load_pos_f flag_t,

fus_sub_nat_f flag_t,

strat_link_nat_e enum_t,

force_link_f flag_t,

checked_portfolio_f flag_t,

min_link_priority_n int_t,

max_link_priority_n int_t,

conv_factor_n number_t,

pos_val_rule_e enum_t,

event_oper_status_e enum_t,

event_gen_nat_e enum_t,

event_flow_nat_e enum_t,

event_flow_sub_nat_e enum_t,

event_flow_mask mask_t,

from_acc_number code_t,

till_acc_number code_t,

closing_nat_e enum_t,

strat_detail_nat_e enum_t,

comp_data_e enum_t,

disp_result_f flag_t,

ref_date_comp_rule_c info_t,

valo_seq_no_n tinyint_t,

list_hist_e enum_t,

event_pl_rule_e enum_t,

ret_det_level_e enum_t,

subgrid_f flag_t,

pps_load_e enum_t,

pps_type_f flag_t,

pps_cons_pf_f flag_t,

pps_currency_f flag_t,

load_hierarchy_f enum_t,

order_nat_e enum_t,

gen_global_order_e enum_t,

order_alloc_nat_e enum_t,

obj_weight_cont_p percent_t,

obj_weight_cont_marg_p percent_t,

qty_alloc_nat_e enum_t,

cash_alloc_nat_e enum_t,

cash_obj_weight_p percent_t,

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 215
check_strat_e enum_t,

order_status_e enum_t,

event_date_rule_e enum_t,

op_search_c note_t,

extop_search_c note_t,

hist_list_f flag_t,

min_order_amount_m amount_t,

min_order_amnt_curr code_t

mkt_sgt_rebalancing_f flag_t,

instr_list_definition_t note_t,

port_list_definition_t note_t,

load_global_order_e enum_t,

load_non_discret_f flag_t,

check_trading_f flag_t,

execution_details_f flag_t,

rounding_method_e enum_t,

dim_entity sysname_t,

bench1_entity sysname_t,

bench1_object code_t,

bench2_entity sysname_t,

bench2_object code_t,

bench3_entity sysname_t,

bench3_object code_t,

risk_free_instr code_t,

return_analysis_e enum_t,

perf_attrib_method_e enum_t,

perf_attrib_freq_e enum_t,

calc_from_d datetime_t,

calc_till_d datetime_t,

calc_strat_d datetime_t,

calc_freq_d datetime_t,

calc_ref_d datetime_t,

calc_from code_t,

calc_till code_t,

calc_strat code_t,

calc_freq code_t,

calc_ref code_t,

format code_t,

output_type_e enum_t,

report_server code_t,

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 216
func_result_status_e enum_t,

comp_level_e enum_t,

buy_port_classif code_t,

sell_port_classif code_t,

derivation_e enum_t,

dynamic_weight_f flag_t,

constr_nature_e enum_t,

ext_pos_list code_t,

data_profile_id id_t,

psp_position_data code_t,

pl_method_e enum_t,

auth_online_periods_n int_t,

unmatched_exec_search_c note_t,

purge_order_method_e enum_t,

file_name_c note_t,

cash_flow_mgt_e enum_t,

dummy_min_status_e enum_t,

dummy_max_status_e enum_t,

func_res_list_def_t note_t,

dim_func_result_dict_id dict_t

case_mgmt_search_c note_t,

generate_case_f flag_t

Example:
To run Check Strategy in batch mode, use the following command:
exec_fin_analysis_all_domain "CHF","portfolio",NULL,"strategy","MFR","en","Check
Strategy",NULL,NULL,NULL,"MFR_JOCK",NULL,"MFR_JOCK_alloc",NULL,NULL,NULL,NULL,NULL,0,
0,4,4,0,1,0,0,0,2,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,NULL,NULL,0,0,NULL,NULL,NULL,2,
1,"mfr_test",1,"24 May 1999",NULL,0,"24 May 1999","24 May 1999","24 May
1999","MFR_CHECK_STRAT_ELEM",0,NULL,0,0,0,1,1,1,0

Remark:
Previously used stored procedure exec_fin_analysis_by_domain is deprecated and should no
longer be used for batch processing. While this stored procedure is still part of the product
catalog, only the new one exec_fin_analysis_all_domain is supported.
Also, this procedure must only be used for batch reporting and not for on-line GUI or WUI
replacement. Also, when a financial function is run in batch mode, there is only minimal
checking of the arguments.

26.7 Archive batch process


The ARCHIVE_KEEP_ZERO_POS system parameter specifies if the zero positions (position and
balance positions with zero quantities and zero accrued interests) are kept or not when you
run the Archive function. When the flag ARCHIVE_KEEP_ZERO_POS is set to 1 the zero
positions are kept, otherwise when set to 0 they are deleted. Note the following points:

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 217
Only the positions/balance positions whose Accounting Status is equal to or greater than the
value of the ACCOUNTING_STATUS system parameter are archived. The others are untouched.
The balance positions with no corresponding opened position in the same portfolio or PPS
with the same instrument at the archiving date are deleted. This does not apply to the
balance positions linked to a portfolio or PPS if there are no associated instruments.
Archiving can also be used in batch mode with the archive_by_cd Remote Procedure Call
(RPC). The parameters are the following:
 arc_ent_cd: The name of the archived entity, i.e. "operation"
 ent_dict_cd: The containing entity i.e. "portfolio"
 dim_ent_cd: The dimension, i.e. "portfolio" or "list"
 object_cd: The object code, i.e. ‘MY_PTF’
 date_t: The date in Sybase format, i.e. "03/22/2000"
 nature_cd: The nature code, i.e. "Purge Only"
 all_flag_t: Flag specifying if the archive is created for all operations (1) or only those up
to a specific date (0)
 file_name_note_t: The file name where the archive is stored, i.e. "MY_PTF971231.arc"
The parameters that are not used must be assigned the value NULL.
The Remote Procedure Call (RPC) must be called from the Financial Server and not from the
SQL Server. For example, connect to the Financial Server and execute the following
command:
archive_by_cd "operation", "portfolio", "portfolio", "MY_PTF", "03/22/2000",
"Purge Only", 0, NULL
This command archives the MY_PTF portfolio with the Purge Only nature up to the specified
date.

26.7.1 Restoring archived data


You can restore the data from the previously created archive file. To do this, you can use the
standard Triple'A Plus Core import program. If more than one Archive has been created, you
must restore the data in sequential order, starting with the most recent archive file.

26.8 Purging
If you want to execute the Purge function by batch, use the stored procedure
exec_fin_analysis_all_domain. This procedure is available on the SYBASE server. It is
stored in the main database of Triple'A Plus Core. This procedure accepts any domain
attributes as parameters. None of the attributes is mandatory.
The following is an example of this stored procedure called from the UNIX command line:
$SYBASE/bin/isql -U$APPL_OWNER -P$APPL_OWNER_PASSWORD -S$DSQUERY <<END1
use $MAIN_DB
go
set dateformat dmy
go
exec_fin_analysis_all_domain
@function = 'purge_order',

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 218
@dim_port = 'portfolio',
@port_object = 'OCE1',
@currency = 'CHF',
@calc_from_d = NULL,
@calc_till_d = NULL,
@format = 'PCK_PM_POR_LS_INPUT',
@min_status_e = 0,
@max_status_e = 3,
@load_global_order_e = 2,
@purge_order_method_e=0,
@file_name_c="/users/product/oce/test"
go
END1

26.9 Performance Analysis scripts


For information about Performance Analysis (APA) scripts, refer to the Triple’A Plus Core
Performance Analysis Reference Guide.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 219
27 Performance and tuning recommendations

27.1 Network sizing


A high speed Local Area Network (LAN) is recommended. If you use telecommunication links
with low speeds (less than 1 Mbit/s), consult with your Triple'A Plus Core consultant.

27.2 Database server


Remember the following points when fine-tuning the system:
 Access to the Database Server is the main bottleneck. Configure the Database Server
carefully (see the next chapter).
 Take into account the recommendations in [SYBASE-ASPTG].
 Configure the Database Server to use as much RAM as possible.
 Install the tempdb database on a file system device.
 Use Solid State Devices for the tempdb database (not tested).
 Do not install more than one ASE server on the same computer.
 Avoid storing non-clustered indices on the same physical disk as the table data.
 Store the table data on multiple disks.
 Table indices: add indexes for columns that are frequently used for searches or
deletions. Add indices carefully. Beware that new indices decrease the write
performance in the indexed tables (insert, update, delete). Also beware that such
indices are not maintained by standard procedures included in the software. When you
add new indices, inform your Temenos account manager or consultant of the following:
description of the new index, performance increases and deterioration (which queries
and improvements are involved).
 Periodically update the statistics on all the database tables and execute the
sp_recompile procedure to rebuild the execution plan. The process does not seem to
be 100% accurate. See the next point.
 Trace the Database Server queries if a function takes too long to execute. Analyse the
execution plan of the database server for such queries. If necessary, use tuning
software like Cyrano to trace the Database Server performance.

27.3 Administration
This section presents some space and time-saving tips.

27.3.1 General
Method Description
Search Avoid performing searches on attributes that are not indexed, e.g. Denomination.
This type of search can take a long time if you are dealing with very large tables.
If necessary, add an index to accelerate the process.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 220
Method Description
Deletion Avoid performing deletes on tables that are potentially referenced by the foreign
keys of other tables, especially large tables like instrument_price,
instrument, operation, position and balance_pos. The worst
candidates for deletes are the type and third_party tables. Deletes performed
on these tables take a very long time and lock the tables.

27.3.2 Instrument
Instrument Description
Valuation rule Use the correct valuation rule for instruments without prices. Set the val_rule_e
attribute to either Price=1 or Price=0. This prevents the Financial Server from
searching the Database Server for non- existent prices.

Accrued interest Avoid the unnecessary computation of accrued interests for bonds and cash
accounts with no accrued interest. Set the accr_inter_f to 0.

Interest rate Store the interest rate condition and the income payment of simple bonds in the
condition and instrument itself instead of their specific tables.
income payment

Term event Store term events of standard derivatives directly in the instruments instead of
the term event table.

Generic instrument Use generic instruments for term deposits and currency forwards. This saves disk
space.

27.3.3 Instrument price and exchange rate


Instrument Description
Price and
Exchange Rate
Foreign keys Do not assign the optional foreign keys. Set them to NULL.

Null prices Do not store null prices.

Non-significant Do not store series of non-significant constant prices.


constant prices

Daily prices Set the application parameters ONE_PRICE_PER_DAY and


ONE_EXCHANGE_RATE_PER_DAY to 1. Do not store more than one price or exchange
rate per day.

27.3.4 List
List Description
Constrained lists Use constraint criteria on attributes that are indexed.

Validity period Set a positive validity period for Constrained lists. Otherwise the list is rebuilt
each time it is used.

Build list Execute build list composition in a batch process, overnight if possible.
composition

Classification Base your classifications on Constrained lists.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 221
27.3.5 Batch interface client
Batch Interface Description
Client
Block mode Use the block mode (-b nnn). The block mode is much faster.

Block size Optimise block size to suit the table. Unfortunately, no general recommendation
is possible because each site imports different attributes for the same table.

Parallel imports Avoid parallel imports to the same table. There is no gain.

Migration flag Set the AAA_MIGRATION_FLAG application parameter to 1 when you initially load
the database. It does not update the last modification table.

CMD INSUPD Avoid the INSUPD command because it automatically pre-checks the existence of
objects in the database.

Default values Provide a value for each field in the import file instead of relying on complex
definitions of the default value.

27.3.6 Fusion
Fusion Description
Fusion Do not execute a fusion manually when you import operations. Note that the
automatic fusion is never triggered by the import of operations.

Concurrent fusion Optimise the number of concurrent fusions. See the application parameter in the
chapter.

Fusion size Optimise the number of operations included in a single fusion process. See the
application parameter in the chapter. Use different sizes for the initial fusion
(when you initialise the database) and the day-to-day fusions.

New versus All Use the New fusion instead of the All fusion parameter.

27.3.7 Valuation
Valuation Description
Validity period Do not set too big a validity period for instrument prices, exchange rates,
instrument chronos and currency chronos. For instance, if exchange rates are
entered every day, a validity period of 5 days is enough. The validity period
parameter defines how many daily values are loaded. This makes it possible to
find the most recent value for a given date.

Accrued interest Store accrued interest in (and retrieve it from) the instrument_chrono table.
See the ACCR_INTEREST_CHRONO application parameter.

First call versus The results of some requests are stored in the memory used by the process. On
second call the second call the data is directly retrieved from this cache memory instead of
from the Database Server.

27.3.8 Return analysis


Return Analysis Description
Portfolio synthetic Use pre-stored portfolio synthetic data instead of re-computing performance
data data.

Criteria Carefully choose the computation criteria at the portfolio level (Frequency, Level
of Detail) in accordance with the type of portfolio. Remember that disk space is
required for this data.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 222
27.3.9 Script language
Script Language Description
Data usage Use data from the current hierarchy, e.g. extended_pos, pos_val.

Very large tables Avoid accessing huge tables that are not present in the hierarchy and/or are not
optimised, e.g. operation, instrument_price.

Reuse Re-use available results (referenced keywords).

Statistical keywords Use the INSTR_CHRONO keyword instead of direct computation which is resource
consuming.
Use the build instrument chrono batch process to pre-compute data.

27.3.10 Storing metadictionary locally


Storing frequently accessed database data locally is a good way of speeding up program
execution. Triple'A Plus Core lets you store a large part of the metadictionary in a file on the
local machine. This avoids the transfer of huge quantities of data over a slow network and
also reduces database load at logon.
When you start the Triple'A Plus Core client-side program, the graphical user interface (GUI)
opens or the import process starts. It checks the user's logon ID and loads the associated
language. The client program loads the metadictionary from a local copy, if there is one that
is valid. Note the following points:
 There is not just one metadictionary file. A metadictionary file is required for each of
the user languages.
 Only a very small part of the data that is user-dependent (Function Security Profile) is
loaded from the database
 If changes are made to the metadictionary, the local file is automatically updated

27.3.11 Procedure
The Triple'A Plus Core GUI client or the import process first checks if the feature is enabled
or not (see Enabling local load further on). The file name of the local copy of the
metadictionary is the language code plus the extension MD (for example, the English file is
called en.MD).
If the file exists and can be read (there is no update in progress), it is loaded into memory.
The file is tested to see if it is valid as follows:
 A checksum is performed to make sure that the file has not been modified
 The name of the main database is checked (to avoid using the wrong environment)
 No modifications have been made since the last update of the metadictionary (this
check queries table_modif_stat)
If the file is not valid, the metadictionary is loaded from the database as usual and the file is
updated. In this case a message is displayed to the user.
If the file is valid, the last step is to load the function security profile. The metadictionary is
then completely loaded.

27.3.12 Enabling local load


The default installation does not enable this feature. You must add the following line to the
setup.txt file (see the Triple’A Plus Web Installation Guide for more details):
AAAMDPATH=YES,C:\temp

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 223
Make sure you enter the full path to the local metadictionary file (C:\temp is used as an
example here).
The AAAMDPATH environment variable defines the necessary parameters. You must set this
value to a character string composed as follows: Yes or No, comma, full path to the
metadictionary files. The beginning of the string indicates if the metadictionary must be
loaded from the local file or not (Yes or No). If this variable is not defined, the feature is
disabled.
For example, to store the metadictionary files on a local disk and enable local load, set the
variable as follows:
Yes,C:\tmp
To disable local load, just replace Yes with No:
No,C:\tmp

Setting AAAMDPATH on Windows


To set the AAAMDPATH variable on the Windows NT client, do the following:
1. On the Windows desktop, go to Start > Settings > Control Panel.
The Control Panel window is displayed.
2. Click on the System icon.
The System Properties dialog box is displayed.
3. Select the Environment tab.
4. Enter the variable name and value in the appropriate fields at the bottom of the box.
5. Click Set and then OK to save your settings
6. Close the dialog box.

Note that you can also use the Triple'A Plus Core client starter program to enable local load,
assuming the variable is correctly set in the Windows NT Registry. You can check that the
variable is present in the registry and is correctly set at the following key (regedt32.exe is
the most convenient utility for this):
HKEY_LOCAL_MACHINE/SOFTWARE/Unicible/Starter

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 224
Edit the QA-20 Value:

Setting AAAMDPATH on UNIX


To set the AAAMDPATH variable on the UNIX client, open the aaaprofile file and set the
variable as follows:
AAAMDPATH=Yes,/usr/tmp
export AAAMDPATH

27.3.13 Recommendations
It is recommended that you analyse your system to determine where you should store the
files. Where you store the files depends on the site configuration. The general rule is that the
file must be shared by a maximum number of users (when an update is needed, only one
user generates the update but the other users can access it). The file must be loaded over a
fast network. Avoid transfers with a slow line.
Use a separate path for each environment (or different main database).
You should also use a different path if different processor families (Intel, Alpha) are used on
your system. The file is a kind of memory dump. Each processor family has its own method
of storing information in memory. An alpha processor computer cannot use a file created on
an Intel machine.
Triple'A Plus Core users must have authorisation to create files in the defined directory.
For help in finding configuration errors, check the local log files.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 225
28 TSL financial function domain key encoding
To allow for more efficient use of the caching mechanism, the domain's field usage is tracked
by the financial server. Each time a request is made by the Triple’A Service Layer (TSL), all
used fields are checked to determine whether the fields are already defined as part of the
key or not. This information, which is kept in table dict_function_attribute, is stored
separately for the financial computation and for each format.
The information can be accessed from menu option Administration > Security > Attribute used
by function, where you can find which of the domain's fields must be used to generate the
key encoding.
For example, the attribute key_encoding_e from table dict_function_attribute will have the
following values:
 Yes: The field must be used during key generation.
 No: The field must be ignored during key encoding generation.
 Undefined: The field has been identified as used by the financial server and action must
be taken to define whether it must be used during key encoding or not. (It is not
possible to import dict_function_attribute with this status).
For more information on how to set up and enable the caching mechanism on TSL, refer to
the section about TSL caches in the Triple’A Plus Web TSL Operating Guide.

28.1 Implementation recommendation


Some dict_function_attribute values are delivered with the product; located either in system
data for all standard dict_function or in the packaging if the packaging contains sub-
functions. If the values delivered with the product do not match your needs, you can change
their values. Take care as you will need to export these new values and apply the
importation file after all upgrades or installation.
During the implementation phase, when a “TSL-requested” used field is not present in the
dict_function_attribute table, a new record is inserted as “undefined” for key_encoding_e.
For every TSL-requested used attributes with value "undefined" for key_encoding_e, a
message is written into the server's log file. A regular review must be conducted during the
implementation to define whether the value of these fields must be part of the key encoding
or not. In other words, you must answer the question "If I changed the value of this field,
will it impact the result of my function?" If the answer is No, do not include it in the key
encoding generation. If the answer is yes, then include it.
When the implementation is finished, you must not have any records with value "undefined".
Then, you can export your function using standard tools. All dict_function_attribute linked to
your function will also be exported. At this point, you can import your function (with its
dict_function_attribute) into a validation or production environment.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 226
29 Administration scripts
For the installation of the administration scripts, refer to the Triple’A Plus Web Installation
Guide. The environment variable $AAA_ADMIN_DIR mentioned below describes where the
administration scripts are deployed (e.g., $AAAHOME/admin, $AAAHOME/client_admin, etc.).
By default, the standard scripts are deployed under $AAAHOME/std_admin, but if you use
them directly, these scripts can be overwritten with a next of fix or release. Therefore, it is
useful to copy the std_admin into your new administration script directory.

29.1 Introduction
You can use the scripts in the following ways:
 By using the Triple'A Plus Core menu ($AAA_ADMIN_DIR/scripts/admin_menu_aaa.sh
or $AAA_ADMIN_DIR/scripts/admin_menu_sybase.sh)
 By directly launching the scripts located under $AAA_ADMIN_DIR/scripts
Note that the scripts located under the menu directory are not meant to be launched directly
but only be used by the two menus.
Each script that does a modification will ask you for a confirmation before executing the
command.
These menus are identical on UNIX and Windows.

29.2 Triple'A Plus Core Admin menu


This menu is designed to help the Triple'A Plus Core Administrators. You can launch this
menu with your Triple'A Plus Core UNIX user:
$AAA_ADMIN_DIR/scripts/admin_menu_aaa.sh
It is recommended to create an alias (e.g., aaamenu) for this user because this menu can be
often used.

Triple'A Plus Core Admin menu

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 227
Item Description
Get the version of Triple'A Provides you with the versions of the:
Plus Core components  Triple'A Plus Core Open Server
 GUI (server side) if installed
 import tool (aaa_imp)
 operating system

Check a Financial Server Used to verify the status of an individual Triple'A Plus Core server. This
status can be:
 Activated: The server is running
 Not Activated: The server is stopped or not connected.
You must first choose a Triple'A Plus Core server in the list. This list
comes from the $AAA_ADMIN_DIR/scripts/opensrv.lis file.

Start a Financial Server Used to start an individual Triple'A Plus Core server. At the end of the
start the script checks the status and shows it like this:
 Activated: The server has been started successfully.
 Not Activated: The server has not started successfully.
You must first choose a Triple'A Plus Core server in the list. This list
comes from the $AAA_ADMIN_DIR/scripts/opensrv.lis file.

Stop a Financial Server Used to stop an individual Triple'A Plus Core server. At the end of the
start, the script checks the status and shows it like this:
 Activated: The server has been stopped successfully.
 Not Activated: The server has not stopped successfully.
You first have to choose a Triple'A Plus Core server in the list. This list
comes from the $AAA_ADMIN_DIR/scripts/opensrv.lis file.

Check all Financial Servers Similar to the check performed for an individual server, this function
does the check for all servers defined in
$AAA_ADMIN_DIR/scripts/opensrv.lis.

Start all Financial Servers Similar to the start for an individual server, this function does the start
for all servers defined in $AAA_ADMIN_DIR/scripts/opensrv.lis.

Stop all Financial Servers Similar to the stop for an individual server, this function does the stop
for all servers defined in $AAA_ADMIN_DIR/scripts/opensrv.lis.

Enable all GUI Used to re-enable all the GUI connections after the Administrator
disabled them.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 228
Item Description
Disable all GUI Used to disable all the GUI connections. The Administrator can use this
function to ensure that no user can connect when the Administrator
wants to execute some administrative tasks. The Administrator must
re-enable the GUI after completion of the administrative tasks.
This function is based on the date inserted in the table
table_modif_stat for the entitiy_dict_id=1.
All connected users will receive a popup window with a message
explaining that an administrative task requires them to be logged out
of the application.
The message, which is displayed into the pop-up window, can be
modified. The default message is defined in file
appl_message_dat.sql:
exec insupd_message_by_cd "Label_ForcedExit","us_english","Forced
exit",5,"Due to an administration decision, Triple'A will be
terminated."
go

If you want to modify this message, do not change it directly in this file
because this file might be overwritten with a new fix or release.
Instead, use the following procedure:
 Execute cd $AAAHOME/ddl/src.
 Execute cp -p appl_message_dat.sql
appl_message_dat.usr.sql.
 Edit the file appl_message_dat.usr.sql and delete the lines
“exec insupd_message_by_cd …” that you do not want to modify.
In this case keep the line:
exec insupd_message_by_cd "Label_ForcedExit","us_english","Forced
exit",5,"Due to an administration decision, Triple'A will be
terminated."

 Do not delete the checks and the drop/creation of the procedure


at the top of the file appl_message_dat.usr.sql.
 Change only the text (“Due to …”) and do not the code of the
message (“Label_ForcedExit”):
exec insupd_message_by_cd "Label_ForcedExit","us_english","Forced
exit",5,"
This is the new message that will be displayed.

 Launch the $AAAHOME/ddl/bin/install_ddl.sh with the


parameters: ./install_ddl.sh … dat appl_message …

61Kill all GUI Used to kill all the current connections in the Sybase database and to
ensure that no remaining connection exists in the system when the
Administrator wants to perform a maintenance task.

Kill a user GUI Used to kill all current connections from one user (please note that, if
several people use the same user login, all related GUIs will be killed).

Get the list of connected users Used to list all GUI connections.

Tail Server.log Does a “tail” on the file $AAAHOME/msg/server.log.


Press the [Return] key to re-launch the tail on the file or any other key
+ [Return] to go back to the menu.
Please note that if you are using the option -E$SERVERNAME.log in the
Triple'A Plus Core start script, this option will not work because it does
not tail all renamed log of all servers.

Tail Error log Does a “tail” on the file $AAAHOME/msg/log.


To go back to the menu, type return to re-launch the tail on the file or
any other key + return.

Sybase Menu Lets you switch directly to the other Sybase admin menu.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 229
29.3 Sybase Admin menu
This menu is designed to help the Sybase Administrators. You can launch this menu with
your Triple'A Plus Core UNIX user:
$AAA_ADMIN_DIR/scripts/admin_menu_sybase.sh
It is recommended to create an alias (e.g., sybmenu) for this user as this menu can be often
used.

Sybase Admin menu

29.3.1 Items on the Sybase menu

Check the Sybase servers


This function is used to know the status of the Sybase Data Server and of the Sybase Backup
Server.
The status of each of these servers can be:

Status Description
ACTIVATED Running

NOT ACTIVATED Stopped

The names of these servers are displayed.

Tail the Sybase server log file


This function will do a “tail” of the Sybase dataserver log file
$SYBASE/install/$DSQUERY.log.
You just have to type return to re-launch the tail on the file or any other key + return to go
back to the menu.

Tail the Sybase backup server log file


This function will do a “tail” of the Sybase backup server log file
$SYBASE/install/<BCKSERVER>.log.
You just have to type return to re-launch the tail on the file or any other key + return to go
back to the menu.
The value of the BCKSERVER is retrieved dynamically from the sysservers table.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 230
Get the user connections
This screen is like the “Get the connected users” screen in the Triple'A Plus Core
Administration menu. The level of details is higher and all the Sybase connections are listed.
The columns are:

Column Description
Spid Sybase Process number.

Status Sybase process status in the process list (running, waiting for command, locked,
suspended because of no space left on a device).

Program_name Name of the program connected to the Sybase server (aaa_gui* and some aaa_srv
are the Triple'A Plus Core GUI, some aaa_srv are for the Triple'A Plus Core servers and
ctisql is for a batch access to Sybase).

Cmd Command executed in Sybase.

Blocked 0 if OK, number of the Sybase process that block the user.

The display method is “more”. Pressing the [Space] key will display the next screen; “q” will
quit before the end of the list.

Get the free space in the databases segments


This function computes the free space in the Triple'A Plus Core databases for each segment.
 If there is less than 100MB free per segment, a WARNING is returned.
 If there is less than 20MB free per segment, an ERROR is returned.

Check the results of the last databases dump


This function checks the last databases dumps (manual dumps, morning dumps and evening
dumps) done for the master, Triple'A Plus Core main database, Triple'A Plus Core login
database and the Triple'A Plus Core report database.
The script checks the following last files:
 $SHLOGDIR/dump_db/dump_db_*
 $SHLOGDIR/dump_db_morning/dump_db_morning_*
 $SHLOGDIR/dump_db_evening/dump_db_evening_*
Note: The SHLOGDIR is often $AAA_ADMIN_DIR /scripts/log but can be configured
differently in the $AAA_ADMIN_DIR/scripts/initaaa.cfg.

Check the results of the last consistency check


This function executes the following commands on all databases except "model", "tempdb"
and "dbccdb":
1. Delete the dbcc history.
2. Launch a dbcc checkstorage.
3. Display a summary report.
If the dbccdb is not installed, this function will not work and will just inform you that the
database dbccdb does not exist.

Execute a manual databases dump


This function performs the following tasks:
 Dump the databases master $AAALOGINDB $AAAREPDB $OCSMAINDB under the
directory $DUMPDIR (these variables are defined in the file
$AAA_ADMIN_DIR/scripts/initaaa.cfg)

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 231
 Do the bcp out of the tables sysusages, sysdevices, sysdatabases, syslogins,
sysloginroles and sysservers.
 Generate the file disk_init.sql and create_db.sql in the $DUMPDIR directory in
order to ease the recreation of the devices and databases.

Check the dump tran daemon


This function performs the following checks and displays the status of each of them:
 check if the start daemon program is running
 check if the daemon is running
 check the number of existing transaction log files
 check if the stop daemon program is running

Launch an update statistics


This function updates the statistics for all user tables of the login and main Triple'A Plus Core
databases (the list of the tables is extracted dynamically). In addition, it performs a few
specific “update statistics” on some tables of the main Triple'A Plus Core database.

Triple'A Plus Core Administration Menu


This allows you to switch directly to the other Triple'A Plus Core Administration menu.

29.4 Standard scripts in $AAA_ADMIN_DIR/scripts


Script Description
admin_menu_aaa.sh Launches the Triple'A Plus Core administration menu.

admin_menu_sybase.sh Launches the Sybase administration menu.

analyse_optdiag_db.sh This script:


 Treats the output of the Sybase optdiag script run on a Triple'A Plus
database (core main database by default). This script will generate a
new script that can be run afterwards to do the Sybase reorg
rebuild command. The new script has the following syntax:
reorg_to_apply.<database name>.sql.DDMMYY_HHMMSSs

 Calls script update_statistics.sh with the parameter


UPDATE_STAT_THRESHOLD to 0.
 Takes into account only those tables for which an ordered ratio that
is lower than 80% exists.

bcp_master.sh Performs a bcp out of the table’s sysusages, sysdevices, sysdatabases,


syslogins, sysloginroles, and sysservers and stores the output under the
directory specified as the first parameter.

build_lists.sh Builds all the lists (currency, geographic, sector, strategy, third_party,
portfolio, manager and instrument).

Build_List_Param.sql Script that lets you specify:


 List you do not want to build
 List you want to build in priority

Build_Lists_Per_Entity.sh Builds the list of the entity specified as the first parameter, e.g.
build_entity_lists.sh instrument.

Build_Lists_Per_Server.sh Builds the list of one entity on one financial server.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 232
Script Description
build_one_list.sh Builds one list on one entity.
The input parameters are:
 list entity
 entity name
 list_code
 Triple'A Plus Core financial server_name
For example, build_one_list.sh instrument AAA_SECT_CONS_STAPLE
DEMO_SERV1

check_aaa_integrity.sh This script checks whether:


 Triple'A Plus Core UD table that exists in Sybase has the same
number of records as the corresponding table
 all records in opened_position are corresponding to a record in
position

check_db.sh Launches the following commands on all databases except "model",


"tempdb" and "dbccdb" to check the consistency of the databases:
 dbcc checkdb
 dbcc checkcatalog
 dbcc checkalloc ($db , fix)

check_indexes.sh This script checks if:


 all standard Triple'A Plus Core indices defined in ddl/src files are
installed in Triple'A Plus Core database
 all Triple'A Plus Core UD tables that exist in Sybase have an index
 all Triple'A Plus Core indexes that exist in Sybase are defined in the
ddl/src files (except UD)
This script does not check:
 if the index code used in Triple'A Plus Core database is
corresponding to the source defined in ddl/src files
 if the existing indices are malfunctioning or not

check_indexes_segment.sh This script checks the segment location of the clustered/nonclustered


indices.
Basic principle:
 clustered index ==> must be on data segment
 nonclustered index ==> must be on index segment
We assume that the name of the data segment contains "data" and that
the name of the index segment contains "idx".

check_list_existence.sh This script checks whether a list exists or not.


The input parameters are:
 list_code
 list entity
 OUTPUT_DIR
For example,
./check_list_existence.sh ALL_ACTIVE_PF portfolio
$AAAHOME/tmp
Here, list entity and OUTPUT_DIR are optional but if OUTPUT_DIR has to
be specified , then input parameter 2 (list_entity parameter or %) is
mandatory.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 233
Script Description
check_procs.sh This script checks if:
 all standard Triple'A Plus Core procedures defined in ddl/src files are
installed in Triple'A Plus Core database
 all Triple'A Plus Core procedures that exist in Sybase are defined in
the ddl/src files (except UD)
This script does not check:
 if the procedure code used in Triple'A Plus Core database
corresponds to the source defined in ddl/src files
 if the existing procedures are malfunctioning or not

check_triggers.sh This script checks if:


 all standard Triple'A Plus Core triggers defined in ddl/src files are
installed in Triple'A Plus Core database
 all Triple'A Plus Core UD tables that exist in Sybase have a UI trigger
 all Triple'A Plus Core triggers that exist in Sybase are defined in the
ddl/src files (except UD)
 all Triple'A Plus Core trigger that exist in Sybase are enabled
This script does not check:
 if the trigger code used in Triple'A Plus Core database corresponds to
the source defined in ddl/src file
 if the existing trigger are malfunctioning or not

check_views.sh This script checks if:


 All standard Triple'A Plus Core views defined in ddl/src files are
installed in Triple'A Plus Core database.
 All Triple'A Plus Core views existing in Sybase are defined in the
ddl/src files (except UD).
This script does not check if:
 View code used in Triple'A Plus Core database corresponds to the
source defined in ddl/src files.
 Existing view are malfunctioning or not.

check_storage.sh Executes the following commands on all databases except "model",


"tempdb" and "dbccdb":
 Delete the dbcc history
 Launch a dbcc checkstorage
 Display a summary report
If the dbccdb is not installed, this function will not work and will just
inform you that the database dbccdb does not exist.

check_tran_daemon.sh Performs the following checks and display the status of each of them:
 check if the start daemon program is running
 check if the daemon is running
 check the number of existing transaction log files
 check if the stop daemon program is running

check_allsrv.sh Checks the status of all Triple'A Plus Core servers defined in
$AAA_ADMIN_DIR/scripts/opensrv.lis.

check_srv.sh Checks the status of the Triple'A Plus Core server given as first
parameter.

connected_users.sh Used to list all the GUI connections.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 234
Script Description
disable_gui.sh Disables all GUI connections.
If the Administrator wants to execute some administrative tasks, he will
use this functionality to be sure that no user can connect anymore. He
must not forget to re-enable the GUI after.
All the connected users will receive a popup window with a message
explaining that an administrative task requires them to be logged out of
the application.
This function is based on the date inserted in the table table_modif_stat
for the entitiy_dict_id=1.

dump_db.sh Performs the following tasks:


 Dumps the databases master $AAALOGINDB $AAAREPDB
$AAAMAINDB $AAAPERMTSLDB $AAATEMPTSLDB $OCSMAINDB
under the directory $DUMPDIR (these variables are defined in the file
$AAA_ADMIN_DIR/scripts/initaaa.cfg).
 This script prompts the user to indicate whether they want to specify
the $DUMPDIR to use.
 If user indicates yes, then the script requests to re-run with
argument as $DUMPDIR.
 If user indicates no, then the script checks if the $DUMPDIR in
initaaa.cfg is specified and uses it as default. Otherwise, it uses
$AAAHOME/std_admin/dump directory as the default.
 Does the bcp out of the table’s sysusages, sysdevices, sysdatabases,
syslogins, sysloginroles and sysservers.
 Generates the file disk_init.sql and create_db.sql in the
$DUMPDIR directory in order to ease the recreation of the devices and
databases.
 Makes the database compression as per syntax
COMPRESSSTRING="with compression = $COMPRESS_LEVEL"
where COMPRESS_LEVEL is defined in
$AAA_ADMIN_DIR/scripts/initaaa.cfg file as:
 COMPRESS_LEVEL=1
 export COMPRESS_LEVEL

dump_db_evening.sh Dumps the Sybase databases at the end of the working day:
 Stops the daemon that dumps the log every 15 minutes.
 Sets the "trunc log on chkpt" database option to true on the Triple'A
Plus Core main database.
 Makes the last full dump at the end of the day.
 Makes the database compression as per syntax
COMPRESSSTRING="with compression = $COMPRESS_LEVEL"
where COMPRESS_LEVEL is defined in
$AAA_ADMIN_DIR/scripts/initaaa.cfg file as:
 COMPRESS_LEVEL=1
 export COMPRESS_LEVEL

dump_db_morning.sh Dumps the Sybase databases at the end of the night batch:
 Sets the "trunc log on chkpt" database option to false on the Triple'A
Plus Core main database.
 Does a dump of the databases.
 Starts the daemon, which dump the transaction log every 15 min
during the day.
 Makes the database compression as per syntax
COMPRESSSTRING="with compression = $COMPRESS_LEVEL"
where COMPRESS_LEVEL is defined in
$AAA_ADMIN_DIR/scripts/initaaa.cfg file as:
 COMPRESS_LEVEL=1
 export COMPRESS_LEVEL

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 235
Script Description
dump_tran_daemon.sh Starts the daemon that dumps the Triple'A Plus Core main database
transactions log every 15 minutes. This script is launched by the
dump_db_morning.sh. If you have to launch it manually, please look at
the command in the file dump_db_morning.sh in order to start it in
“nohup” and “background”.

enable_gui.sh Re-enables all the GUI connections after the Administrator disabled
them.

Forever.sh Never used on its own. It is only used when the Triple'A Plus Core server
is started in a “forever” mode. The “forever” mode consists of trying to
start the Triple'A Plus Core server not only once but for $MAXRETRYFORV
times. This variable is defined in the
$AAA_ADMIN_DIR/scripts/initaaa.cfg file.

fusion_new.sh Runs a fusion on all portfolios in “new” mode. This is used often during
the night batch if the AUTOMATIC_FUSION parameter is not set to 1.

gen_sybase_info.sh Generates all required Sybase information for a dump or load into
another data server. It extracts the following files:
 login_db_name.out: name of the AAALOGINDB
 db_name.out: name of all the databases
 syslogins.bcp: the content of the table syslogins
 sysloginroles.bcp: the content of the table sysloginroles
 sysservers.bcp: the content of the table sysservers
 sysusages.bcp: the content of the table sysusages
 sysdevices.bcp: the content of the table sysdevices
 sysdatabases.bcp: the content of the table sysdatabases
 server_connect.bcp: the content of the table
AAALOGINDB..server_connect
 sp_helpdb_and_helpdevice.out: the output of the commands
sp_helpdb and sp_helpdevice
 sp_help_$db.out: one file per database that corresponds to the
output of the sp_helpdb on each database
 dataserver_info.out: it contains the version, the page size, the
default charset and the sort order information
 disk_init.sql: the script to create all required devices (the paths
can be changed if needed before launching it)
 create_db.sql: the script to create the databases
 interfaces: copy of the $SYBASE/interfaces file
 RUN_* files: copy of the files $SYBASE/$SYBASE_ASE/install/RUN*
 Sybase cfg file

get_tab_sizes.sh Displays the reserved space used by each table and its indices, sorted by
table reserved size, in each Triple'A Plus Core database.
Note: Only tables with a reserved size over 1 MB are displayed.

initaaa.cfg Contains all the variables required for the admin script to run
(AAA_ADMIN_DIR must be declared at the session level like .profile of
environment variable)

kill_gui.sh Kills either all the GUIs or the current GUI connections based on 1 user
login name.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 236
Script Description
load_db.sh Loads the Sybase databases from the DUMPDIR directory defined into the
$AAA_ADMIN_DIR/scripts/initaaa.cfg.
The following databases will be taken into account:
 $AAAMAINDB
 $AAALOGINDB
 $AAAREPDB
 $OCSMAINDB

logged_users.sh Finds all Triple'A Plus Core logged connections.


You need to specify which kind of connections you are looking for.
E.g.: ./logged_users.sh [gui|srv|aaa]
 - gui: to list all the aaa_gui% processes
 - srv: to list all the aaa_srv processes
 - aaa: to list all the aaa% processes

new_build_lists.sh Builds all constrained lists on all existing entities on the current day.
It slightly differs from the script build_all_lists.sh by firtly dropping
indexes on the table list_compo and recreating them after the build list.
This allows us to speed up the process of the build list.

opensrv.lis Contains the list of all Triple'A Plus Core servers that we want to manage.
The format of this file has to be:
 No blank line (even at the end)
 Each line should contain the Triple'A Plus Core server name and only
1 server name
Example:
 AAASERV1
 AAASERV2
 AAASERV3
When starting or stopping the Triple'A Plus Core server, the order of this
Triple'A Plus Core server list is taken into account.
For 64 bits version, add a space and “64” after the core server name. For
32 bits, add a space and “32” to be explicit (as default is 32).
Examples:
 AAASERV1 64
 AAASERV2 64
 AAASERV3 32
 AAASERV4

purge_function_result.sh Purges the function_result table and corresponding entries in the


ext_operation table (for order entries).
For more detail information on the input parameter, please refer to the
Triple’A Plus Core Orders and Productivity Guide and look for
“del_function_result_by_args”.

purge_login_failed.sh Purges the login_history table. It keeps only last month entries of the
login of nature “Login Failed”.

purge_login_history.sh Purges the login_history table. It keeps only last month entries of the
login of nature “Login Succeeded”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 237
Script Description
purge_repdb.sh Purges (= truncate) all users tables of the Triple'A Plus Core report
database.
Note:
 If you do not have Triple'A Plus Core, there is no problem to use this
script.
 If you have Triple'A Plus Core Release 1.30, you must not use this
script because it will truncate the table ocs_portfolio_info, which
is used up until Triple'A Plus Core Release 1.20.X.

recreate_tsl_databases.sh Drops the TSL databases (identified by the function names


TSL_PERM_DB and TSL_TEMP_DB in aaa_install.cfg file), then
recreates them (including all related objects) by calling a different target
of aaa_install.sh and install_ddl.sh.

set_auto_fusion.sh Sets the Triple'A Plus Core parameter AUTOMATIC_FUSION to 1.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 238
Script Description
set_no_position_flag.sh Puts the flag no_position_f of tables ext_order, ext_operation, and
execution_qty in phase with the system parameter
NO_OPEN_POSITION_STATUSES. The script set_no_position_flag.sh can
also update the current status of NO_OPEN_POSITION_STATUSES from the
script, i.e. we can add or remove the statuses.

The usage is set_no_position_flag.sh <arguments> where:


 - arg 1 is the user name
 - arg 2 is the password
 - arg 3 is the sa password
 - arg 4 is the output directory ( log and working files )

Once launched, the script shows you the current status of the
ACCOUNTING_STATUS and NO_OPEN_POSITION_STATUSES parameters.
Then, it asks you what action you want to perform on
NO_OPEN_POSITION_STATUSES and also tells you how you should enter
the i/p values to add or delete:

Example:
Do you want to insert or drop values from NO_OPEN_POSITION_STATUSES?
Choose any of the following and press Enter:
 [A/a] Add values to NO_OPEN_POSITION_STATUSES.
 [D/d] Delete values from NO_OPEN_POSITION_STATUSES.
 [Any Other Choice] will continue to next step to update
no_position_f.
If you chose the Add or Delete option, the script prompts you to type the
list of parameters separated by a semicolon (;) to add or delete to the
NO_OPEN_POSITION_STATUSES parameter's list.
The script shows the list of NO_OPEN_POSITION_STATUSES statuses that
were added and prompts again to add or delete the values, until the list
of values are finalized.
If you chose the Any Other Choice option, the script continues to the
next part where you can either get all information or update the
no_position_f flag f depending on the current
NO_OPEN_POSITION_STATUSES and ACCOUNTING_STATUS.
The available choices are:
 [I/i] to get all the information
 [U/u] to update the records
 [Any Other Choice] to exit the script

Finally, the script shows you the final log file to provide detailed
information of the actions being taken.

sp_sysmon.sh Launches a Sybase monitoring during 10 minutes and display the output
into the logfile.
You can change the duration by just editing the file and change the
“00:10:00”.
The format is HH:MM:SS.

start_allsrv.sh Starts all Triple'A Plus Core servers defined into the
$AAA_ADMIN_DIR/scripts/opensrv.lis.
Dispatcher server is started after all other servers.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 239
Script Description
start_srv.sh Starts one Triple'A Plus Core server.
You have the following options to start a Triple'A Plus Core server:
 ./start_srv.sh AAASERV1
 ./start_srv.sh AAASERV1 fast
 ./start_srv.sh AAASERV1 fast forever
 ./start_srv.sh AAASERV1 fast 32
 ./start_srv.sh AAASERV1 64
Fast: Starts the Triple'A Plus Core server in the background and will not
check and wait that this server is up before launching the next Triple'A
Plus Core server. This is especially useful when starting more than one
server.
Forever: Tries to start the Triple'A Plus Core server not only once but
$MAXRETRYFORV times. This variable is defined in the
$AAA_ADMIN_DIR/scripts/initaaa.cfg file.
32 or 64: Set bits version to launch (default is 32-bits).

If you want to have one server.log per Triple'A Plus Core server, you
can adapt your start_srv.sh script and uncomment the following line:
nohup $AAAHOME/$AAAPRG SRV …
-E$AAAHOME/msg/$SERVERNAME.log &”

and comment the line above :


# nohup $AAAHOME/$AAAPRG SRV … -U$AAAUSER
-P$AAAUSERPWD &

stop_dump_tran_daemon.sh Stops the dump_tran_daemon.sh.


It also sets the "trunc log on chkpt" db option to true on the Triple'A Plus
Core main database at the end.

stop_allsrv.sh Stops all the Triple'A Plus Core servers defined into the
$AAA_ADMIN_DIR/scripts/opensrv.lis.

stop_srv.sh Stops a Triple'A Plus Core server. The only parameter is the name of the
Triple'A Plus Core server.
Example:
./stop_srv.sh AAASERV1

sybase_parameter_check.sh Checks all required parameters of Sybase (for more information, see
section about installing Sybase ASE in the Triple'A Plus Core Installation
Guide) so as to have a clean Triple’A Plus installation or migration. For
migration, this script is called from pre_aaa_upgrade.sh. In cases where
you need to add a new database after a Triple’A Plus installation by
executing aaa_install.sh, then sybase_parameter.sh should be run.

unset_auto_fusion.sh Sets the Triple'A Plus Core parameter called “AUTOMATIC_FUSION” to


the value 0.

update_statistics.sh Updates the statistics for all user tables of the login and main Triple'A
Plus Core databases (the list of the tables is extracted dynamically).
In addition, this script performs a few specific “update statistics” on some
tables of the main Triple'A Plus Core database. The parameter
UPDATE_STAT_THRESHOLD is passed as input to the script
update_statistics.sh; if not the value=15 will be considered in the script
(UPDATE_STAT_THRESHOLD=15).

Standard scripts in $AAA_ADMIN_DIR/scripts.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 240
29.5 Files in $AAA_ADMIN_DIR/init
Note: All files in this init directory are examples and have to be adapted for each
implementation.

Script Description
.bash_profile_win Example of bash profile to use on Windows.

.profile Example of .profile.

.profile.aliases Example of aliases to set up.

.profile_win Example of .profile for Windows (Cygwin).

install_license.sh Example of script to load the Triple'A Plus Core licence. Update the
five values (value_n="…") and then launch the scripts. If you are able
to log in through the GUI after having installed the new licence, it
means that the new licence has been successfully loaded.
Attention: Back up the previous values before launching the script
(e.g., with bcp on appl_param, or with a select, or a print screen on
the application parameter through the GUI).

manage_srv The script allows you to start and stop the Sybase dataserver, backup
server and monitor server individually or all of them.
Usage: manage_srv cmd {arg}

With cmd in:


 START: Start server
 STOP: Stop server
 RST: Shutdown ALL servers and restart them
With arg in:
 AAA: Data server
 ALL: All data and backup servers
 BCK: Backup server
 MON: Monitor server

post_load.sh The script allows you to change some values after a database load
from another environment. The variables at the beginning of the
script must have been set correctly with the source environment
database names (ORI_MAINDB, ORI_LOGINDB, ORI_REPDB) and the
owner of the Triple'A Plus Core database (ORI_AAAUSER).
The following values can be changed with this script:
 Code of the application user (owner of the main database)
 Correct the database reference name mentioned in the table
dict_entity, sqr_database and server_connect
 Update of the name in server_connect (you have to duplicate this
line in order to consider all Triple'A Plus Core servers)
 Recompile all the procedures, views and triggers
 Load the Triple'A Plus Core licence

readme.txt Mentions that the files that are present in this directory are examples
and must be adapted for each implementation.

readme_howto_drop_udfield.txt This file describes the procedure how to drop a “ud field”.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 241
Script Description
ud_fields.sh The script allows you to add multiple user-defined fields together with
permitted values and labels.
Path: $AAAHOME/std_admin/init
Execution:
Follow the path: $AAAHOME/std_admin/init
./ud_field.sh <No parameters are required as it is executing
modif_ud_field.sh script>.

In this script, the values for modif_ud_field.sh will be updated by the


client.

Post ud_field creation check:


Use the following query to check how many ud fields have been
created in the Triple’A Plus Core main database:
select count(*)
from dict_attribute
where sqlname_c like "ud_%" and sqlname_c !="ud_id"

Prerequisites before executing ud_field.sh:


1. Make sure that the Triple’A Plus Core servers are stopped.
2 In the Triple’A Plus Core database, check by using "sp_who" to
determine whether there is any connection or GUI that must be killed.
If you cannot kill them, you can temporarily restart the data server
with a temporary port number that is different from the actual value.
3 Launch the script ud_field.sh.
4 Start the Triple’A Plus Core server.
5 Launch the GUI and open the related windows to check that the ud
field is present.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 242
30 RGB colour codes
The table below shows the colours you can use and their corresponding RGB code in decimal.
The simplest way to convert the decimal coding to hexadecimal is to use the Windows
calculator. Proceed as follows:
1. Go to Start > Programs > Accessories>Calculator.
2. If it is not already displayed, choose Scientific from the View menu to display the
scientific calculator.
3. From the tables below, choose the colour and RGB decimal values you want.
4. With the Dec option selected in the number base group box, enter the decimal number
in the space provided.
5. Select the Hexa option in the number base group box. The number you entered in the
space provided is now displayed in hexadecimal.
6. Enter the hexadecimal code(s) in the Registry key as described in section Editing the
registry.

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 243
Colour Red Green Blue Colour Red Green Blue
Aliceblue 239 247 255 burlywood4 128 99 65

Antiquewhite 249 232 210 cadetblue 87 134 147

antiquewhite1 254 237 214 cadetblue1 153 243 255

antiquewhite2 235 219 197 cadetblue2 142 226 236

antiquewhite3 200 185 166 cadetblue3 119 191 199

antiquewhite4 129 116 104 cadetblue4 76 120 126

Aquamarine 67 183 186 chartreuse 138 251 23

aquamarine1 135 253 206 chartreuse1 138 251 23

aquamarine2 125 234 190 chartreuse2 127 232 23

aquamarine3 105 198 159 chartreuse3 108 196 23

aquamarine4 65 124 100 chartreuse4 67 124 23

Azure 239 255 255 chocolate 200 90 23

azure1 239 255 255 chocolate1 248 114 23

azure2 222 236 236 chocolate2 229 103 23

azure3 188 199 199 chocolate3 195 86 23

azure4 122 125 125 chocolate4 126 49 23

beige 245 243 215 coral 247 101 65

bisque 253 224 188 coral1 247 101 65

bisque1 253 224 188 coral2 229 91 60

bisque2 234 208 174 coral3 195 74 44

bisque3 199 175 146 coral4 126 40 23

bisque4 129 110 89 cornflowerblue 21 27 141

black 0 0 0 cornsilk 255 247 215

blanchedalmond 254 232 198 cornsilk1 255 247 215

blue 0 0 255 cornsilk2 236 229 198

blue1 21 53 255 cornsilk3 200 194 167

blue2 21 49 236 cornsilk4 129 122 104

blue3 21 40 199 cyan 0 255 255

blue4 21 27 126 cyan1 87 254 255

blueviolet 121 49 223 cyan2 80 235 236

brown 152 5 23 cyan3 70 199 199

brown1 246 53 38 cyan4 48 125 126

brown2 228 45 23 darkgoldenrod 175 120 23

brown3 194 34 23 darkgoldenrod1 251 177 23

brown4 126 5 23 darkgoldenrod2 232 163 23

burlywood 216 175 121 darkgoldenrod3 197 137 23

burlywood1 252 206 142 darkgoldenrod4 127 82 23

burlywood2 234 190 131 darkgreen 37 65 23

burlywood3 198 160 109 darkkhaki 183 173 89

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 244
Colour Red Green Blue Colour Red Green Blue
darkolivegreen 74 65 23 deepskyblue4 37 88 126

darkolivegreen1 204 251 93 dimgray 70 62 65

darkolivegreen2 188 233 84 dimgrey 70 62 65

darkolivegreen3 160 197 68 dodgerblue 21 137 255

darkolivegreen4 102 124 38 dodgerblue1 21 137 255

darkorange 248 128 23 dodgerblue2 21 125 236

darkorange1 248 114 23 dodgerblue3 21 105 199

darkorange2 229 103 23 dodgerblue4 21 62 126

darkorange3 195 86 23 firebrick 128 5 23

darkorange4 126 49 23 firebrick1 246 40 23

darkorchid 125 27 126 firebrick2 228 34 23

darkorchid1 176 65 255 firebrick3 193 27 23

darkorchid2 162 59 236 firebrick4 126 5 23

darkorchid3 139 49 199 floralwhite 255 249 238

darkorchid4 87 27 126 forestgreen 78 146 88

darksalmon 225 139 107 gainsboro 216 217 215

darkseagreen 139 179 129 ghostwhite 247 247 255

darkseagreen1 195 253 184 gold 212 160 23

darkseagreen2 181 234 170 gold1 253 208 23

darkseagreen3 153 198 142 gold2 234 193 23

darkseagreen4 97 124 88 gold3 199 163 23

darkslateblue 43 56 86 gold4 128 101 23

darkslategray 37 56 60 goldenrod 237 218 116

darkslategray1 154 254 255 goldenrod1 251 185 23

darkslategray2 142 235 236 goldenrod2 233 171 23

darkslategray3 120 199 199 goldenrod3 198 142 23

darkslategray4 76 125 126 goldenrod4 128 88 23

darkslategrey 37 56 60 gray 115 111 110

darkturquoise 59 156 156 gray0 21 5 23

darkviolet 132 45 206 gray1 21 5 23

deeppink 245 40 135 gray10 21 5 23

deeppink1 245 40 135 gray100 255 255 255

deeppink2 228 40 124 gray11 21 5 23

deeppink3 193 34 103 gray12 21 5 23

deeppink4 125 5 63 gray13 21 5 23

deepskyblue 59 185 255 gray14 21 5 23

deepskyblue1 59 185 255 gray15 21 5 23

deepskyblue2 56 172 236 gray16 21 5 23

deepskyblue3 48 144 199 gray17 21 5 23

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 245
Colour Red Green Blue Colour Red Green Blue
gray18 37 5 23 gray53 124 121 121

gray19 37 5 23 gray54 128 125 124

gray2 21 5 23 gray55 130 128 126

gray20 37 5 23 gray56 133 131 129

gray21 43 27 23 gray57 135 133 131

gray22 43 27 23 gray58 139 137 135

gray23 48 34 23 gray59 141 139 137

gray24 48 34 38 gray6 21 5 23

gray25 52 40 38 gray60 143 142 141

gray26 52 40 44 gray61 147 145 144

gray27 56 45 44 gray62 149 148 146

gray28 59 49 49 gray63 153 151 149

gray29 62 53 53 gray64 154 153 152

gray3 21 5 23 gray65 158 156 155

gray30 65 56 57 gray66 160 159 157

gray31 65 56 60 gray67 163 162 160

gray32 70 62 63 gray68 165 164 163

gray33 70 62 65 gray69 169 168 166

gray34 74 67 68 gray7 21 5 23

gray35 76 70 70 gray70 172 171 169

gray36 78 72 72 gray71 174 173 172

gray37 80 74 75 gray72 177 177 175

gray38 84 78 79 gray73 179 179 177

gray39 86 80 81 gray74 183 182 180

gray4 21 5 23 gray75 185 184 182

gray40 89 84 84 gray76 188 187 186

gray41 92 88 88 gray77 190 190 188

gray42 95 90 89 gray78 193 193 191

gray43 98 93 93 gray79 195 196 194

gray44 100 96 96 gray8 21 5 23

gray45 102 99 98 gray80 199 199 197

gray46 105 101 101 gray81 202 202 201

gray47 109 105 104 gray82 204 204 203

gray48 110 106 107 gray83 208 207 207

gray49 114 110 109 gray84 210 210 209

gray5 21 5 23 gray85 213 213 212

gray50 116 113 112 gray86 215 215 215

gray51 120 116 115 gray87 219 219 217

gray52 122 119 119 gray88 221 221 220

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 246
Colour Red Green Blue Colour Red Green Blue
gray89 224 224 224 grey26 52 40 44

gray9 21 5 23 grey27 56 45 44

gray90 226 227 225 grey28 59 49 49

gray91 229 230 228 grey29 62 53 53

gray92 232 233 232 grey3 21 5 23

gray93 235 235 234 grey30 65 56 57

gray94 238 238 238 grey31 65 56 60

gray95 240 241 240 grey32 70 62 63

gray96 244 244 243 grey33 70 62 65

gray97 246 246 245 grey34 74 67 68

gray98 249 249 250 grey35 76 70 70

gray99 251 251 251 grey36 78 72 72

green 0 255 0 grey37 80 74 75

green1 95 251 23 grey38 84 78 79

green2 89 232 23 grey39 86 80 81

green3 76 196 23 grey4 21 5 23

green4 52 124 23 grey40 89 84 84

greenyellow 177 251 23 grey41 92 88 88

grey 115 111 110 grey42 95 90 89

grey0 21 5 23 grey43 98 93 93

grey1 21 5 23 grey44 100 96 96

grey10 21 5 23 grey45 102 99 98

grey100 255 255 255 grey46 105 101 101

grey11 21 5 23 grey47 109 105 104

grey12 21 5 23 grey48 110 106 107

grey13 21 5 23 grey49 114 110 109

grey14 21 5 23 grey5 21 5 23

grey15 21 5 23 grey50 116 113 112

grey16 21 5 23 grey51 120 116 115

grey17 21 5 23 grey52 122 119 119

grey18 37 5 23 grey53 124 121 121

grey19 37 5 23 grey54 128 125 124

grey2 21 5 23 grey55 130 128 126

grey20 37 5 23 grey56 133 131 129

grey21 43 27 23 grey57 135 133 131

grey22 43 27 23 grey58 139 137 135

grey23 48 34 23 grey59 141 139 137

grey24 48 34 38 grey6 21 5 23

grey25 52 40 38 grey60 143 142 141

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 247
Colour Red Green Blue Colour Red Green Blue
grey61 147 145 144 grey97 246 246 245

grey62 149 148 146 grey98 249 249 250

grey63 153 151 149 grey99 251 251 251

grey64 154 153 152 honeydew 240 254 238

grey65 158 156 155 honeydew1 240 254 238

grey66 160 159 157 honeydew2 222 235 220

grey67 163 162 160 honeydew3 188 199 185

grey68 165 164 163 honeydew4 122 125 116

grey69 169 168 166 hotpink 246 96 171

grey7 21 5 23 hotpink1 246 101 171

grey70 172 171 169 hotpink2 228 94 157

grey71 174 173 172 hotpink3 194 82 131

grey72 177 177 175 hotpink4 125 34 82

grey73 179 179 177 indianred 94 34 23

grey74 183 182 180 indianred1 247 93 89

grey75 185 184 182 indianred2 229 84 81

grey76 188 187 186 indianred3 194 70 65

grey77 190 190 188 indianred4 126 34 23

grey78 193 193 191 ivory 255 255 238

grey79 195 196 194 ivory1 255 255 238

grey8 21 5 23 ivory2 236 236 220

grey80 199 199 197 ivory3 201 199 185

grey81 202 202 201 ivory4 129 125 116

grey82 204 204 203 khaki 173 169 110

grey83 208 207 207 khaki1 255 243 128

grey84 210 210 209 khaki2 237 226 117

grey85 213 213 212 khaki3 201 190 98

grey86 215 215 215 khaki4 130 120 57

grey87 219 219 217 lavender 227 228 250

grey88 221 221 220 lavenderblush 253 238 244

grey89 224 224 224 lavenderblush1 253 238 244

grey9 21 5 23 lavenderblush2 235 221 226

grey90 226 227 225 lavenderblush3 200 187 190

grey91 229 230 228 lavenderblush4 129 118 121

grey92 232 233 232 lawngreen 135 247 23

grey93 235 235 234 lemonchiffon 255 248 198

grey94 238 238 238 lemonchiffon1 255 248 198

grey95 240 241 240 lemonchiffon2 236 229 182

grey96 244 244 243 lemonchiffon3 201 194 153

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 248
Colour Red Green Blue Colour Red Green Blue
lemonchiffon4 130 123 96 lightsteelblue 114 143 206

lightblue 173 223 255 lightsteelblue1 198 222 255

lightblue1 189 237 255 lightsteelblue2 183 206 236

lightblue2 175 220 236 lightsteelblue3 154 173 199

lightblue3 149 185 199 lightsteelblue4 100 109 126

lightblue4 94 118 126 lightyellow 255 254 220

lightcoral 231 116 113 lightyellow1 255 254 220

lightcyan 224 255 255 lightyellow2 237 235 203

lightcyan1 224 255 255 lightyellow3 201 199 170

lightcyan2 207 236 236 lightyellow4 130 125 107

lightcyan3 175 199 199 limegreen 65 163 23

lightcyan4 113 125 125 linen 249 238 226

lightgoldenrodyellow 250 248 204 magenta 255 0 255

lightgoldenrod 236 216 114 magenta1 244 62 255

lightgoldenrod1 255 232 124 magenta2 226 56 236

lightgoldenrod2 236 214 114 magenta3 192 49 199

lightgoldenrod3 200 181 96 magenta4 125 27 126

lightgoldenrod4 129 115 57 maroon 129 5 65

lightgray 160 159 157 maroon1 245 53 170

lightgrey 160 159 157 maroon2 227 49 157

lightpink 250 175 186 maroon3 193 34 131

lightpink1 249 167 176 maroon4 125 5 82

lightpink2 231 153 163 mediumaquamarine 52 135 129

lightpink3 196 129 137 mediumblue 21 45 198

lightpink4 127 78 82 mediumforestgreen 52 114 53

lightsalmon 249 150 107 mediumgoldenrod 204 185 84

lightsalmon1 249 150 107 mediumorchid 176 72 181

lightsalmon2 231 138 97 mediumorchid1 212 98 255

lightsalmon3 196 116 81 mediumorchid2 196 90 236

lightsalmon4 127 70 44 mediumorchid3 167 74 199

lightseagreen 62 169 159 mediumorchid4 106 40 126

lightskyblue 130 202 250 mediumpurple 132 103 215

lightskyblue1 173 223 255 mediumpurple1 158 123 255

lightskyblue2 160 207 236 mediumpurple2 145 114 236

lightskyblue3 135 175 199 mediumpurple3 122 93 199

lightskyblue4 86 109 126 mediumpurple4 78 56 126

lightslateblue 115 106 255 mediumseagreen 48 103 84

lightslategray 109 123 141 mediumslateblue 94 90 128

lightslategrey 109 123 141 mediumspringgreen 52 128 23

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 249
Colour Red Green Blue Colour Red Green Blue
mediumturquoise 72 204 205 palegreen 121 216 103

mediumvioletred 202 34 107 palegreen1 160 252 141

midnightblue 21 27 84 palegreen2 148 233 129

mintcream 245 255 249 palegreen3 125 197 108

mistyrose 253 225 221 palegreen4 78 124 65

mistyrose1 253 225 221 paleturquoise 174 235 236

mistyrose2 234 208 204 paleturquoise1 188 254 255

mistyrose3 198 175 172 paleturquoise2 173 235 236

mistyrose4 128 111 108 paleturquoise3 146 199 199

moccasin 253 224 172 paleturquoise4 94 125 126

navajowhite 253 218 163 palevioletred 209 101 135

navajowhite1 253 218 163 palevioletred1 247 120 161

navajowhite2 234 201 149 palevioletred2 229 110 148

navajowhite3 199 170 125 palevioletred3 194 90 124

navajowhite4 128 106 75 palevioletred4 126 53 77

navy 21 5 103 papayawhip 254 236 207

navyblue 21 5 103 peachpuff 252 213 176

oldlace 252 243 226 peachpuff1 252 213 176

olivedrab 101 128 23 peachpuff2 234 197 163

olivedrab1 195 251 23 peachpuff3 198 166 136

olivedrab2 181 233 23 peachpuff4 128 103 82

olivedrab3 153 197 23 peru 197 119 38

olivedrab4 97 124 23 pink 250 175 190

orange 248 122 23 pink1 250 175 190

orange1 250 155 23 pink2 231 161 176

orange2 231 142 23 pink3 196 135 147

orange3 197 119 23 pink4 127 82 93

orange4 127 72 23 plum 185 59 143

orangered 246 56 23 plum1 249 183 255

orangered1 246 56 23 plum2 230 169 236

orangered2 228 49 23 plum3 195 142 199

orangered3 194 40 23 plum4 126 88 126

orangered4 126 5 23 powderblue 173 220 227

orchid 229 125 237 purple 142 53 239

orchid1 246 125 250 purple1 137 59 255

orchid2 228 115 231 purple2 127 56 236

orchid3 193 96 195 purple3 108 45 199

orchid4 125 56 124 purple4 70 27 126

palegoldenrod 237 228 158 red 255 0 0

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 250
Colour Red Green Blue Colour Red Green Blue
red1 246 34 23 skyblue3 101 158 199

red2 228 27 23 skyblue4 65 98 126

red3 193 27 23 slateblue 115 124 161

red4 126 5 23 slateblue1 115 105 255

rosybrown 179 132 129 slateblue2 105 96 236

rosybrown1 251 187 185 slateblue3 87 78 199

rosybrown2 232 173 170 slateblue4 52 45 126

rosybrown3 197 144 142 slategray 101 115 131

rosybrown4 127 90 88 slategray1 194 223 255

royalblue 43 96 222 slategray2 180 207 236

royalblue1 48 110 255 slategray3 152 175 199

royalblue2 43 101 236 slategray4 97 109 126

royalblue3 37 84 199 slategrey 101 115 131

royalblue4 21 49 126 snow 255 249 250

saddlebrown 126 49 23 snow1 255 249 250

salmon 225 139 107 snow2 236 231 230

salmon1 248 129 88 snow3 200 196 194

salmon2 230 116 81 snow4 129 124 123

salmon3 195 98 65 springgreen 74 160 44

salmon4 126 56 23 springgreen1 94 251 110

sandybrown 238 154 77 springgreen2 87 233 100

seagreen 78 137 117 springgreen3 76 197 82

seagreen1 106 251 146 springgreen4 52 124 44

seagreen2 100 233 134 steelblue 72 99 160

seagreen3 84 197 113 steelblue1 92 179 255

seagreen4 56 124 68 steelblue2 86 165 236

seashell 254 243 235 steelblue3 72 138 199

seashell1 254 243 235 steelblue4 43 84 126

seashell2 235 226 217 tan 216 175 121

seashell3 200 191 182 tan1 250 155 60

seashell4 129 120 115 tan2 231 142 53

sienna 138 65 23 tan3 197 119 38

sienna1 248 116 49 tan4 127 72 23

sienna2 230 108 44 thistle 210 185 211

sienna3 195 88 23 thistle1 252 223 255

sienna4 126 53 23 thistle2 233 207 236

skyblue 102 152 255 thistle3 198 174 199

skyblue1 130 202 255 thistle4 128 109 126

skyblue2 121 186 236 tomato 247 84 49

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 251
Colour Red Green Blue
tomato1 247 84 49

tomato2 229 76 44

tomato3 194 62 23

tomato4 126 34 23

transparent 21 5 23

turquoise 67 198 219

turquoise1 82 243 255

turquoise2 78 226 236

turquoise3 67 191 199

turquoise4 48 120 126

violet 141 56 201

violetred 233 53 138

violetred1 246 53 138

violetred2 228 49 127

violetred3 193 40 105

violetred4 125 5 65

wheat 243 218 169

wheat1 254 228 177

wheat2 235 211 163

wheat3 200 177 137

wheat4 129 111 84

white 255 255 255

whitesmoke 244 244 243

yellow 255 255 0

yellow1 255 252 23

yellow2 238 233 23

yellow3 202 197 23

yellow4 130 124 23

yellowgreen 82 208 23

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 252
31 ANNEXES

31.1 Hostdiff_hostfile_rework.sh sample


Temenos does not guarantee the contents in the following file. This file is provided as a
sample only.
#!/bin/ksh
#
# Script used to rework the host position file. This script is called by
# aaa_hostdiff if it exists and is executable.
# This file may be customized by the customer and the output file must
# follow the host file syntax.
#
# Parameters are:
# The host file from back-office,
# The reworked host file name
# The portfolio list, given as parameter to the aaa_hostdiff
# The instrument list, given as parameter to the aaa_hostdiff
# The work directory
#
# Include environment variables
#
. $AAAHOME/aaaprofile
SHDIR=$AAA_ADMIN_DIR/scripts
. $SHDIR/initaaa.cfg

# Parameters
HOSTFILE=$1
HOSTFILE_RWK=$2
PFLIST=$3
INSTRLIST=$4
WRKDIR=$5

# Variables
TMPFILE=${WRKDIR}/`basename $0`.$$
# Filter based on portfolio list

if [ "$PFLIST" != "" ]
then
# Define the portfolio as first field
cat $HOSTFILE | nawk '
{
pf=substr($0,1,20);

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 253
gsub(" ","",pf);

printf("%s^H^%s\n",pf,$0);
}' >$TMPFILE

sort $TMPFILE > ${TMPFILE}.hst

# Select elements of pf list


${SYBASE}/${SYBASE_OCS}/bin/isql -U$AAAUSER -P$AAAUSERPWD -b -o ${TMPFILE}.res <<-
ISQL_END
set nocount on
go
set dateformat dmy
go
use $AAAMAINDB
go
select
pf.code + "^" + "A" + "^"
from
list_compo lc, list l, portfolio pf
where
lc.list_id = l.id and
lc.validity_d = NULL and
l.code = '$PFLIST' and
l.entity_dict_id = 800 and
lc.object_id = pf.id
order by
pf.code
go
ISQL_END
ret=$?

# Check execution of procedure


if [ $ret != 0 ]
then
echo "Problem with isql"
exit 255
fi
if [ "`grep -c "^Msg" ${TMPFILE}.res`" != "0" ]
then
echo "Errors found when retrieving composition of list"
echo "Check file ${TMPFILE}.res"
exit 255
fi

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 254
cat ${TMPFILE}.res | sed '1,$s/ //g' >${TMPFILE}.aaa

# Merge files
sort -m -t^ -k1,1 -k2,2 -o$TMPFILE ${TMPFILE}.hst ${TMPFILE}.aaa

# Remove lines with object out of list


# File is
# XXXX^A^
# XXXX^H^.....................
# Line with A is always before line with H (sort function)
#
cat $TMPFILE | nawk -F^ '
{
obj=$1
src=$2; # A or Hq
if ( obj != prev_obj )
{
if ( src == "A" )
current_A_obj=obj;
}
else
{ # same object
if( ( current_A_obj == obj ) && ( src == "H" ) )
print $3;
}
prev_obj=obj;
}' >${TMPFILE}.pf_filtered

HOSTFILE=${TMPFILE}.pf_filtered
fi
# Filter based on instrument list
if [ "$INSTRLIST" != "" ]
then
# Define the instrument as first field
cat $HOSTFILE | nawk '
{
instr=substr($0,21,20);
gsub(" ","",instr);
printf("%s^H^%s\n",instr,$0);
}' >$TMPFILE

sort $TMPFILE > ${TMPFILE}.hst


# Select elements of instr list

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 255
${SYBASE}/${SYBASE_OCS}/bin/isql -U$AAAUSER -P$AAAUSERPWD -b -o ${TMPFILE}.res <<-
ISQL_END
set nocount on
go
set dateformat dmy
go
use $AAAMAINDB
go
select
i.code + "^" + "A" + "^"
from
list_compo lc, list l, instrument i
where
lc.list_id = l.id and
lc.validity_d = NULL and
l.code = '$INSTRLIST' and
l.entity_dict_id = 900 and
lc.object_id = i.id
order by
i.code
go
ISQL_END

ret=$?

# Check execution of procedure


if [ $ret != 0 ]
then
echo "Problem with isql"
exit 255
fi
if [ "`grep -c "^Msg" ${TMPFILE}.res`" != "0" ]
then
echo "Errors found when retrieving composition of list"
echo "Check file ${TMPFILE}.res"
exit 255
fi

cat ${TMPFILE}.res | sed '1,$s/ //g' >${TMPFILE}.aaa

# Merge files
sort -m -t^ -o$TMPFILE ${TMPFILE}.hst ${TMPFILE}.aaa

# Remove lines with object out of list

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 256
# File is
# XXXX^A^
# XXXX^H^.....................
# Line with A is always before line with H (sort function)
#
cat $TMPFILE | nawk -F^ '
{
obj=$1
src=$2; # A or H

if ( obj != prev_obj )
{
if ( src == "A" )
current_A_obj=obj;
}
else
{ # same object
if( ( current_A_obj == obj ) && ( src == "H" ) )
print $3;
}

prev_obj=obj;

}' >${TMPFILE}.i_filtered

HOSTFILE=${TMPFILE}.i_filtered

fi

cp $HOSTFILE $HOSTFILE_RWK
rm -f ${TMPFILE}.pf_filtered ${TMPFILE}.i_filtered

exit 0

25 June 2015 Triple’A Plus™ Core 15.06 - System Management Guide 257

You might also like