You are on page 1of 185

i-flex solutions ltd.

NSL PRICING & BILLING SYSTEM


Reports & Monitoring
Software Analysis & Design Document
Version 1.1

September 2005

Vertraulich Seite 1 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

COPYRIGHT (C) 2001 XXXXXXXbank NA (CGTI) All rights reserved. No part of this work may be
reproduced, stored in a retrieval system, adopted or transmitted in any form or by any means,
electronic, mechanical, photographic, graphic, optic recording or otherwise, translated in any
language or computer language, without the prior written permission of XXXXXXXbank NA (CGTI).
Due care has been taken to make this Software Analysis & Design Document as accurate as possible.
However, XXXXXXXbank NA (CGTI) makes no representation or warranties with respect to the
contents hereof and shall not be responsible for any loss or damage caused to the user by the direct
or indirect use of this Software Analysis & Design Document. Furthermore XXXXXXXbank NA (CGTI)
reserves the right to alter, modify or otherwise change in any manner the content hereof, without
obligation of XXXXXXXbank NA (CGTI) to notify any person of such revision or changes. All company
and product names are trademarks of the respective companies with which they are associated.

Revision History
Date Version Description Author
14 September 05 0.1 Draft Design Team
26 September 05 0.2 Draft Design Team
27 September 05 1.0 Document released for SQA Design Team
review
11 July 05 1.1 Updation to sync with existing Design Team
code
Persistence Design updated

Vertraulich Seite 2 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Table of Contents

1 INTRODUCTION.......................................................................................................................................9

1.1 PURPOSE.................................................................................................................................... .9
1.2 SCOPE............................................................................................................................... .........9
1.3 DEFINITIONS, ACRONYMS AND ABBREVIATIONS.................................................................... ..................9
1.4 REFERENCES..................................................................................................................... ...........9

2 GENERAL ASSUMPTIONS......................................................................................................................9

1.5 ASSUMPTIONS AND DEPENDENCIES................................................................................... ..................9

3 GENERAL INFORMATION.....................................................................................................................9

1.6 REPORT SERVICE.......................................................................................................... ................9


1.6.1 OVERVIEW........................................................................................................... ......................9
1.6.2 SOFTWARES USED........................................................................................................... ..........10
1.6.3 REPORTS – CLASSIFIED.............................................................................................. ................10
1.6.3.1 PDF Reports............................................................................................... ......................10
1.6.3.2 CSV Reports.............................................................................................. .......................11
1.6.3.3 EXCEL Reports ...................................................................................................... ..........12
1.7 DATA CALCULATION FOR INFORMATION LIST REPORTS............................................................. ..............13
1.7.1 YIELD CALCULATION PER ANNUM............................................................................................... .....13
1.7.2 NORM YIELD...................................................................................................... ......................14
1.7.3 NORM / ACTUAL %............................................................................................ ........................14
1.7.4 TOTAL FEE/FEE CALCULATED................................................................................................. .......14
1.8 OVERALL TECHNICAL FLOW IN THE SEQUENCE DIAGRAM....................................................................... ..14

4 UI DRIVEN SOFTWARE FUNCTIONALITIES..................................................................................15

1.9 GENERAL ....................................................................................................... ..........................15


1.9.1 BUSINESS DESCRIPTION............................................................................................... ................15
1.9.2 LIST OF USE-CASES....................................................................................................... .............15
1.9.3 CLIENT SEARCH.......................................................................................................... ..............16
1.9.3.1 Static Design.......................................................................................................... ...........16
1.9.3.2 Client Search - Screen Specification......................................................................... ........17
1.9.3.3 Behavioral design............................................................................................................. .19
1.9.3.4 Persistence design..................................................................................................... .......19
1.9.3.5 Tracebility Matrix............................................................................................. ..................20
1.9.3.6 Additional / specifical Technical information............................................... .......................20
1.9.4 SELECT CLIENT CUSTODY ACCOUNT.............................................................................. ................21
1.9.4.1 Static Design.......................................................................................................... ...........21
1.9.4.2 Select Client Custody Account – screen specification............................................... ........22

CONTROLS:................................................................................................................................................22

1.9.4.3 Behavioral design............................................................................................................. .25


1.9.4.4 Persistence design..................................................................................................... .......26
1.9.4.5 Tracebility Matrix............................................................................................. ..................26

Vertraulich Seite 3 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.4.6 Additional / specifical Technical information............................................... .......................26


1.10 SCENARIO ANALYSIS – AGREEMENT SIMULATION ............................................................ ..................27
1.10.1 BUSINESS DESCRIPTION........................................................................................ ....................27
1.10.2 LIST OF USECASE......................................................................................................... ...........27
1.10.3 AGREEMENT OVERVIEW SIMULATION...................................................................................... .......28
1.10.3.1 Static Design........................................................................................................ ...........29
1.10.3.2 Agreement Overview Simulation – screen specification......................................... .........30
1.10.3.3 Behavioral design.......................................................................................................... ..33
THE AGREEMENT OVERVIEW SIMULATION FUNCTIONALITY FOLLOWS THE BELOW SEQUENCE:............................... ...33
1.10.3.4 Persistence design.................................................................................................. ........34
1.10.3.5 Tracebility Matrix........................................................................................... ..................34
1.10.3.6 Additional / specifical Technical information............................................. .......................34
1.10.4 COPY EXISTING AGREEMENT AS SIMULATION AGREEMENT................................................... .................35
1.10.4.1 Static Design........................................................................................................ ...........36
1.10.4.2 Screen specifications – Agreement Overview................................................ .................37
1.10.4.3 Behavioral Design.............................................................................................. .............38
THE COPY EXISTING AGREEMENT AS SIMULATION AGREEMENT FUNCTIONALITY FOLLOWS THE BELOW SEQUENCE:.........38
1.10.4.4 Persistance design.................................................................................................. ........38
1.10.4.5 Tracebility Matrix........................................................................................... ..................39
1.10.4.6 Additional / specifical Technical information............................................. .......................39
1.10.5 EDIT AGREEMENT FOR SIMULATION........................................................................... ...................40
1.10.5.1 Static Design........................................................................................................ ...........41
1.10.5.2 Edit Agreement for Simulation – screen specification.....................................................42
Controls:...................................................................................................................................... .42
1.10.5.3 Behavioral design.......................................................................................................... ..46
1.10.5.4 Persistence design.................................................................................................. ........47
1.10.5.5 Tracebility Matrix........................................................................................... ..................48
1.10.5.6 Additional / specifical Technical information............................................. .......................49
1.10.6 SET UP SIMULATION AGREEMENT.................................................................................. ................50
1.10.6.1 Static Design........................................................................................................ ...........51
1.10.6.2 Screen specifications.................................................................................. ....................52
1.10.6.3 Behavioral Design.............................................................................................. .............53
1.10.6.4 Persistance design.................................................................................................. ........53
1.10.6.5 Tracebility Matrix........................................................................................... ..................54
1.10.6.6 Additional / specifical Technical information............................................. .......................54
1.10.7 IMPORT SIMULATION AGREEMENT............................................................................ ......................55
1.10.7.1 Static Design........................................................................................................ ...........56
1.10.7.2 Screen specifications.................................................................................. ....................56
1.10.7.3 Behavioral Design.............................................................................................. .............57
1.10.7.4 Persistance design.................................................................................................. ........58
1.10.7.5 Tracebility Matrix........................................................................................... ..................58
1.10.7.6 Additional / specifical Technical information............................................. .......................58
1.10.8 RUNNING THE SIMULATION................................................................................... ......................59
1.10.8.1 Static Design........................................................................................................ ...........60
1.10.8.2 Running the Simulation – screen specification........................................................... .....61
1.10.8.3 Behavioral design.......................................................................................................... ..64
1.10.8.4 Persistence design.................................................................................................. ........65
1.10.8.5 Tracebility Matrix........................................................................................... ..................65
1.10.8.6 Additional / specifical Technical information............................................. .......................65
1.11 SCENARIO ANALYSIS - HISTORICAL OVERVIEW(ACTUAL)......................................................... ..............66
1.11.1 BUSINESS DESCRIPTION................................................................................. ...........................66
1.11.2 LIST OF USECASES................................................................................................................. ..66
1.11.3 HISTORIC OVERVIEW WITHOUT STATISTICAL DATA................................................................... ............67
1.11.3.1 Static Design................................................................................................ ...................67
1.11.3.2 Screen specifications........................................................................... ...........................68
1.11.3.3 Behavioral Design....................................................................................... ....................70

Vertraulich Seite 4 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

THE HISTORIC OVERVIEW WITHOUT STATISTICAL DATA FUNCTIONALITY FOLLOWS THE BELOW SEQUENCE:.................... 70
1.11.3.4 Persistance design........................................................................................... ...............71
1.11.3.5 Tracebility Matrix................................................................................... ..........................71
1.11.3.6 Additional / specifical Technical information................................................................... ..71
1.11.4 HISTORIC OVERVIEW WITH STATISTICAL DATA......................................................................... ...........72
1.11.4.1 Static Design................................................................................................ ...................72
1.11.4.2 Screen specifications........................................................................... ...........................73
1.11.4.3 Behavioral Design....................................................................................... ....................74
1.11.4.4 Persistance design........................................................................................... ...............75
1.11.4.5 Tracebility Matrix................................................................................... ..........................75
1.11.4.6 Additional / specifical Technical information................................................................... ..75
1.12 ADMINISTRATION............................................................................................................ ............76
1.12.1 BUSINESS DESCRIPTION........................................................................................ ....................76
1.12.2 LIST OF USECASES........................................................................................... .......................76
1.12.3 UPLOADING OF YIELD DATA OVERVIEW......................................................................................... ..76
1.12.3.1 Static design....................................................................................... ............................77
............................................................................................................................................ .........77
1.12.3.2 Generic Upload of External Yields – screen specification...............................................78
1.12.3.3 Format of the file csv.............................................................................................. .........79
1.12.3.4 Behavioral Design ............................................................................................. .............80
1.12.3.5 Persistance design.................................................................................................. ........81
1.12.3.6 Traceability Matrix........................................................................................ ...................81
1.12.3.7 Additional & special requirements ................................................................ ..................81

5 REPORTS...................................................................................................................................................82

1.13 HISTORICAL OVERVIEW.................................................................................................. ..............82


1.13.1 BUSINESS DESCRIPTION............................................................................................. ................82
1.13.2 LIST OF USECASES................................................................................................ ...................82
1.13.3 HISTORIC OVERVIEW WITHOUT STATISTICAL DATA – ACTUAL.......................................................... .......82
1.13.3.1 Input Filters............................................................................................... ......................82
1.13.3.2 screen specification....................................................................................................... ..82
1.13.3.3 Format......................................................................................................................... ....82
1.13.3.4 Processing................................................................................................ ......................83
1.13.3.5 Static design....................................................................................... ............................84
1.13.3.6 Behavioral design.......................................................................................................... ..85
1.13.3.7 Output......................................................................................................... ....................85
1.13.3.8 Persistence design.................................................................................................. ........86
1.13.3.9 Tracebility Matrix........................................................................................... ..................87
1.13.3.10 Additional / specifical Technical information........................................... .......................88
1.13.4 HISTORIC OVERVIEW WITH STATISTICAL DATA - ACTUAL...................................................................... .88
1.13.4.1 Input Filters............................................................................................... ......................88
1.13.4.2 screen specification....................................................................................................... ..88
1.13.4.3 Format......................................................................................................................... ....88
1.13.4.4 Processing................................................................................................ ......................89
1.13.4.5 Static design....................................................................................... ............................90
1.13.4.6 Behavioral design.......................................................................................................... ..91
1.13.4.7 Output......................................................................................................... ....................92
1.13.4.8 Persistence design.................................................................................................. ........92
1.13.4.9 Tracebility Matrix ......................................................................................... ...................94
1.13.4.10 Additional / specifical Technical information........................................... .......................94
1.13.5 RUNNING THE SIMULATION................................................................................... ......................94
1.13.5.1 Input Filters............................................................................................... ......................94
1.13.5.2 screen specification....................................................................................................... ..94
1.13.5.3 Format......................................................................................................................... ....94

Vertraulich Seite 5 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.5.4 Processing................................................................................................ ......................94


1.13.5.5 Output......................................................................................................... ....................95
1.13.5.6 Static design....................................................................................... ............................96
1.13.5.7 Behavioral design.......................................................................................................... ..97
THE RUNNING THE SIMULATION FUNCTIONALITY FOLLOWS THE BELOW SEQUENCE:..............................................97
1.13.5.8 Output......................................................................................................... ....................98
1.13.5.9 Persistence design.................................................................................................. ........98
1.13.5.10 Tracebility Matrix........................................................................................ ...................98
1.13.5.11 Additional / specifical Technical information................................................................ ...98
1.14 INFORMATION LIST .............................................................................................. ......................99
1.14.1 BUSINESS DESCRIPTION............................................................................................. ................99
1.14.2 LIST OF USECASES................................................................................................ ...................99
1.14.3 REGION - TOTALLED.................................................................................................... ...........101
1.14.3.1 Input Filters............................................................................................. ......................101
1.14.3.2 Region totalled - screen specification......................................................................... ...102
1.14.3.3 Format....................................................................................................................... ....103
1.14.3.4 Processing.............................................................................................. ......................104
1.14.3.5 Static design..................................................................................... ............................105
1.14.3.6 Behavioral design........................................................................................................ ..106
1.14.3.7 Output....................................................................................................... ....................107
1.14.3.8 Persistence design................................................................................................ ........107
1.14.3.9 Tracebility Matrix......................................................................................... ..................107
1.14.3.10 Additional / specifical Technical information......................................... .......................108
1.14.4 SERVICE – TOTELLED........................................................................................................ ......108
1.14.4.1 Input Filters............................................................................................. ......................109
1.14.4.2 Service totalled - screen specification..................................................... ......................110
1.14.4.3 Format................................................................................................................ ...........112
1.14.4.4 Processing.................................................................................................................... .112
1.14.4.5 Static design........................................................................................................... .......113
1.14.4.6 Behavioral design................................................................................................. .........114
1.14.4.7 Output............................................................................................... ............................115
1.14.4.8 Persistence design......................................................................................... ...............115
1.14.4.9 Tracebility Matrix................................................................................. ..........................116
1.14.4.10 Additional / specifical Technical information.............................................................. ...116
1.14.5 AGREEMENT CONTENT................................................................................... .........................116
1.14.5.1 Input Filters.................................................................................................................. ..117
1.14.5.2 Agreement Content - screen specification......................................................... ............118
CONTROLS:.................................................................................................................. ..................119
1.14.5.3 Format....................................................................................................................... ....121
1.14.5.4 Processing.............................................................................................. ......................121
1.14.5.5 Static design..................................................................................... ............................122
1.14.5.6 Behavioral design........................................................................................................ ..123
1.14.5.7 Output....................................................................................................... ....................124
1.14.5.8 Persistence design................................................................................................ ........124
1.14.5.9 Tracebility Matrix......................................................................................... ..................124
1.14.5.10 Additional / specifical Technical information......................................... .......................125
1.14.6 NEW TRANSACTION................................................................................................... .............125
1.14.6.1 Input Filters............................................................................................. ......................126
1.14.6.2 New Transaction - screen specification ............................... ................126
1.14.6.3 Format....................................................................................................................... ....128
1.14.6.4 Processing.............................................................................................. ......................129
1.14.6.5 Static design
........................................................................................................................................... .........130
1.14.6.6 Behavioral design........................................................................................................ ..131
1.14.6.7 Output ..................................................................................................... .....................132
1.14.6.8 Persistence design................................................................................................ ........132

Vertraulich Seite 6 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.9 Tracebility Matrix......................................................................................... ..................133


1.14.6.10 Additional / specifical Technical information......................................... .......................133
1.14.7 TERMINATION..................................................................................................... ...................134
1.14.7.1 Input Filters............................................................................................. ......................134
1.14.7.2 Termination - screen specification................................................................... ..............135
Controls:.................................................................................................................................... .136
1.14.7.3 Format....................................................................................................................... ....137
1.14.7.4 Processing.............................................................................................. ......................137
1.14.7.5 Static design................................................................................................................. 138
1.14.7.6 Behavioral design........................................................................................................ ..139
1.14.7.7 Output....................................................................................................... ....................140
THE REPORT CAN BE GENERATED IN PDF, CSV AND EXCEL FORMATS. REFER SECTION 5.1.7.3 FOR DETAILS ON
FORMATS............................................................................................................ ............................140
1.14.7.8 Persistence design................................................................................................ ........140
1.14.7.9 Tracebility Matrix......................................................................................... ..................141
1.14.7.10 Additional / specifical Technical information......................................... .......................141

....................................................................................................................................................................141

1.14.8 CLIENT – ALL CUSTODY ACCOUNTS.......................................................................... ..................142


1.14.8.1 Input Filters............................................................................................. ......................142
1.14.8.2 Client all custody accounts - screen specification....................................... ..................143
Controls:.................................................................................................................................... .144
1.14.8.3 Format....................................................................................................................... ....145
1.14.8.4 Processing.............................................................................................. ......................145
1.14.8.5 Static design..................................................................................... ............................147
1.14.8.6 Behavioral design........................................................................................................ ..148
1.14.8.7 Output....................................................................................................... ....................149
THE REPORT CAN BE GENERATED IN PDF, CSV AND EXCEL FORMATS. REFER SECTION 5.1.8.3 FOR DETAILS ON
FORMATS............................................................................................................ ............................149
1.14.8.8 Persistence design................................................................................................ ........149
1.14.8.9 Tracebility Matrix......................................................................................... ..................150
1.14.8.10 Additional / specifical Technical information......................................... .......................150
1.14.9 CLIENT – CUSTODY SUB-ACCOUNT YIELD DETAILS........................................................... ................151
1.14.9.1 Input Filters............................................................................................. ......................151
1.14.9.2 custody sub-account yield details screen specification.................................................152
1.14.9.3 Format...................................................................................................................... ....154
1.14.9.4 Processing.............................................................................................. ......................155
1.14.9.5 Static design..................................................................................... ............................156
1.14.9.6 Behavioral design........................................................................................................ ..157
1.14.9.7 Output....................................................................................................... ....................158
THE REPORT CAN BE GENERATED IN PDF, CSV AND EXCEL FORMATS. REFER SECTION 5.1.9.3 FOR DETAILS ON
FORMATS............................................................................................................ ............................158
1.14.9.8 Persistence design................................................................................................ ........158
1.14.9.9 Tracebility Matrix......................................................................................... ..................159
1.14.9.10 Additional / specifical Technical information......................................... .......................159
1.14.10 CUSTODY SUB-ACCOUNT TRANSACTION LIST......................................................................... .....160
1.14.10.1 Input Filters........................................................................................... ......................160
1.14.10.2 Client custody sub-account Transaction List screen specification...............................161
1.14.10.3 Format..................................................................................................................... ....163
1.14.10.4 Processing............................................................................................ ......................163
1.14.10.5 Static design................................................................................................................ 165
1.14.10.6 Behavioral design...................................................................................................... ..166
1.14.10.7 Output.................................................................................................... .....................167
1.14.10.8 Persistence design.............................................................................................. ........167

Vertraulich Seite 7 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10.9 Tracebility Matrix...................................................................................... ...................168


1.14.10.10 Additional / specifical Technical information...................................... ........................168
1.14.11 CLIENT – CUSTODY SUB-ACCOUNT INDIVIDUAL TURNOVER................................................ ..............169
1.14.11.1 Input Filters................................................................................................................ ..169
1.14.11.2 custody sub-account Individual turnover screen specification.....................................170
1.14.11.3 Format.............................................................................................................. ...........172
1.14.11.4 Processing................................................................................................................. ..172
1.14.11.5 Static design........................................................................................................ ........173
1.14.11.6 Behavioral design............................................................................................... .........174
1.14.11.7 Output.......................................................................................................................... 175
1.14.11.8 Persistence design....................................................................................... ...............175
1.14.11.9 Tracebility Matrix............................................................................... ..........................175
1.14.11.10 Additional / specifical Technical information............................................................ ...176
1.14.12 CUSTOMER TRANSACTION DETAILS.......................................................................................... .176
1.14.12.1 Input Filters.................................................................................. ........................177
1.14.12.2 Customer Transaction Details screen specification............................................. ........177
1.14.12.3 Format..................................................................................................................... ....179
1.14.12.4 Processing............................................................................................ ......................179
1.14.12.5 Static design................................................................................................................ 180
1.14.12.6 Behavioral design...................................................................................................... ..181
1.14.12.7 Output.................................................................................................... .....................182
1.14.12.8 Persistence design.............................................................................................. ........182
1.14.12.9 Tracebility Matrix...................................................................................... ...................183
1.14.12.10 Additional / specifical Technical information...................................... ........................183
1.14.13 CREATE INFORMATION LIST.......................................................................... .........................184

Vertraulich Seite 8 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1 Introduction
This document consists of the design specification for Reporting and Monitoring
module of the NSL Pricing and Billing system. The document details the functionality
realization through the appropriate design required. The document provides
information in terms of user interfaces, static and behavioral design aspects of the
functionality, and persistence mechanisms that would be applied.

1.1 Purpose
The purpose of this document is to translate the requirements into technical
implementation level details and also confirm the design understanding the DB.

1.2 Scope
The scope of this document is limited to design details of Reporting and Monitoring
module.

1.3 Definitions, Acronyms and abbreviations


Sl.No Terms Description
1 NSL-DB NSL Database
2 PWM Private wealth management
3 DB Deutsche Bank

1.4 References
Sl.No Reference documents
1 PWM PB Frontend Design - Monitoring und Reporting- Screenshots 2.00 20050418_EN.doc
2 PWM PB Frontend Design - Monitoring und Reporting 2.0 20040422_EN.doc
3 PWM PB Datenbank Design V2.00-en.doc
4 pwm_db_model 20050421.cdm
5 OnsiteCommunicationRegister.doc
6 Functional_Query_List.xls

2 General assumptions

1.5 Assumptions and dependencies


Section 3.2 in the requirement document corresponding to Monitoring have been
omitted. The usecase corresponding to this functionality U-RM-004 will not be dealt
as part of this design document.

3 General Information

1.6 Report Service

1.6.1 Overview
The Reporting & Monitoring forms a separate module in NSL system. Reports in NSL
are generated in PDF, CSV and EXCEL formats. Additionally reports can be generated
in HTML format for display on screen, other than the file output formats mentioned
above.
In NSL reports are generated in PDF, CSV and EXCEL formats and are stored
in a special download area from which authenticated users are allowed to download

Vertraulich Seite 9 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

and view the generated reports. The generation of reports in various formats, uses a
separate service which is described in detail in the fore coming sections.

1.6.2 Softwares Used


The lists of softwares used in the generation of reports are provided below.
• FOP.jar
• POI.jar
• XERSES.jar
The above mentioned components are java class components used in the report
generation module.

1.6.3 Reports – Classified


As mentioned in the above discussions there are three types of reports as PDF, CSV
and Excel reports. The implementation and technical specifications of each report
type and its implementation details are described as follows.

1.6.3.1 PDF Reports

1.6.3.1.1 PDF Report Generation – Flow Diagram

XML

FO XSLT
Container XSLT
+ Engine
XSLT

FO

PDF

1.6.3.1.2 PDF Report Generation – Technical Description


PDF reports are generated using FOP – Formatting Objects Processor which is driven
by XSL formatting objects (XSL-FO). Java application reads the formatting object
(FO) tree and renders the resulting pages to a specified output.
FOP uses the standard XSL-FO file format as input, lays the content out into
pages, then renders it to the requested output. One great advantage to using XSL-FO
as input is that XSL-FO is itself an XML file, which means that it can be conveniently
created from a variety of sources. This XSL-FO file is an XSLT transformation file

Vertraulich Seite 10 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

which along with the required formats and styles is given as input to the XSLT Engine
along with the XML file of data. The engine process the request and gives out an FO
which renders the output as PDF file in the location we mention in the java
application.

1.6.3.1.2.1 Sample input

XSLT – PDF

transaction_details.x
slt

1.6.3.1.2.2 Sample output

PDF

transaction_details.p
df

1.6.3.2 CSV Reports

1.6.3.2.1 CSV Report Generation – Flow Diagram

XML

XSLT
Container XSLT
Engine
XSLT

CSV

1.6.3.2.2 CSV Report Generation – Technical Description


CSV reports are generated using the normal XML and XSLT transformation files. Java
application reads the formatted file and renders the resulting pages to a specified
output in CSV format.
In the process of generation of CSV files, the data to be stored in the required
file is got from an XML file and the formatting constraints and configurations are
given from a XSLT transformation file for processing by the XSLT engine. This XSLT
engine taking the XML and XSLT as input, directly put the output data in CSV format
in the location we mention in the Java application.

Vertraulich Seite 11 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.6.3.2.2.1 Sample input


XSLT - CSV

TerminationCsv.xslt

1.6.3.2.2.2 Sample output

CSV

Termination.csv

1.6.3.3 EXCEL Reports

1.6.3.3.1 EXCEL Report Generation – Flow Diagram

XML

PARSER

POI

EXCEL

1.6.3.3.2 EXCEL Report Generation – Technical Description


EXCEL reports are generated using Apache POI – Poor Obfuscation Implementation,
which in turn uses HSSF API within it for writing the output to EXCEL file

Vertraulich Seite 12 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Through a Java application we write the output data into EXCEL files using
POI.The POI consists of APIs for manipulating various file formats based upon
Microsoft's OLE 2 Compound Document format using pure Java in which HSSF is also
a one. OLE 2 Compound Document Format based files include most Microsoft Office
files such as XLS and DOC as well as MFC serialization API based file formats.

As a whole the input XML data is processed by the PARSER for classification of
data and the data is sent for processing in POI. The POI in turn uses HSSF API for
writing the data into an EXCEL file and the file is saved in the location mentioned in
the Java application.

1.6.3.3.2.1 Sample input

Format - Properties

ReportProperties.pro
perties

1.6.3.3.1.1 Sample output

EXCEL

HistoricalOverview_
without_stat.xls

1.7 Data calculation for Information List reports

1.7.1 Yield Calculation per annum


Yield calc. pa is the result of the actual value (5 fee types) charged on the cut-off
date for the reporting period in the relevant calendar year period basis or limited,
plus an extrapolation to year end derived from:
1) Management fee: calculated on a period basis for the whole calendar year
from cut-off date X

2) Transaction partial lump sum: calculated on a period basis for the whole
calendar year from cut-off date X

3) Transaction fee (TX price, TX lump sum and others): previous yields for the
calendar year to cut-off date X + extrapolation on the basis of the 360-day
rule.Start date for agreements concluded for less than one year: yields since
start date for agreement* ([start date for agreement to year end in days] /
[start date for agreement to cut-off date X in days])

4) Expense fee: previous yields for the calendar year to cut-off date X +
extrapolation on the basis of the 360-day rule.Start date for agreements

Vertraulich Seite 13 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

concluded for less than one year: yields since start date for agreement*
([start date for agreement to year end in days] / [start date for agreement
to cut-off date X in days])

5) Performance/benchmark fees: current status on cut-off date X

1.7.2 Norm Yield


Norm yield is the norm yield for a service from the start date for the agreement to
cut-off date X with asset value/market price on cut-off date X; for calculation see
Document [6] “PWM PB Entgeltberechnung” [“Fee calculation”], Section “Calculating
norm yield for period”.

1.7.3 Norm / actual %


Norm / actual % gives the delta of norm/actual as a percentage of the norm yield,
e.g. yield calc. pa = 50 T€, norm yield = 90 T€ => norm/actual % = -45% => 90 –
50 = 40 = 90 * 0.45Formula:
[yield calc. pa] * 100 / [norm yield] – 100
Value range: -99.99% to +infinity%. Negative percentage values indicate that [yield
calc. pa] is less than the norm yield.

1.7.4 Total Fee/Fee calculated


Summation of all fees applicable for an contract.

1.8 Overall technical flow in the sequence diagram


The following sequences are generic to all functionalities with in the NSL application
and this will get referred in all sequence diagrams:
• User requests through the Browser.
• Browser invokes the service() of the XbeamServlet.
• XbeamServlet gets the controller for that Browser Session.
• XbeamServlet invokes the doService() of the XbeamController.
• XbeamController updates the view bean.
• XbeamController gets the appropriate action Instance using getAction()
method ie. It gets the Action instance
• XbeamController prepares for the action using prepareAction() method
• XbeamController performs the action and invokes the performAction() of
corresponding action class
• Action class gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the appropriate process instance.

Vertraulich Seite 14 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

4 UI Driven Software functionalities

1.9 General

1.9.1 Business description


This functionality manages the Client details in the agreement management system.
The functionality provides two use cases as Client search and Select client custody
account.

1.9.2 List of use-cases


Functionality Actions Description
Client search U-RM-001 To select the client from the CRM or Partner
system
Select client custody account U-RM-002 As per Use Case (U-VM-001) Übersicht
Kundendepots [Client custody account overview]
in the agreement management system.
A list of all custody accounts for a client is
displayed and the user can select one of these

Vertraulich Seite 15 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.3 Client Search


This functionality manages the Client details in the agreement management system.
The functionality provides options to search clients in the agreement management
system in the NSL Pricing and Billing.

1.9.3.1 Static Design

<<control>> ViewComposite
PwmPbViewComposite
XBeamServlet (from common)
(from control )
(from controller)

User deactivateUpdate()
service()
activateUpdate()
(from Use Case View) getController()
isUpdating()
forward() <<Interface>>
XBeamAction deactivateInitialization()
activateInitialization() MatrixModel
(from acti on)
(from m atrix)
isInitializing()
update()
getSize()
<<instantiate>>
getUnfilteredSize()
getMatrixRow()
setFilter()
PwmPbAction setComparator()
(from common) XBeamPage
(from controller) ClientSearchGenViewBean filterChanged()
(from view) comparatorChanged()
getModel() fireFilterChanged()
getGlobalViewBean() getMatrixSelection()
getXBeamPage()

<<realize>>
ClientSearchViewBean
PwmPbPage (from view)
(from common) <<control>> AbstractMatrixModel
XBeamController (from m atrix)
(from control ler)

<<uses>> AbstractMatrixModel()
ClientSearchGenAction getAction() setFilterArray()
(from acti on) prepareAction() fireFilterChanged()
doService() ClientSearchMatrixModel
getMatrixSelection()
(from m odel)

<<invoke>> PwmPbModel BusinessModel


(from model)
DefaultClientSearchAction (from common)
(from acti on) sessionId : java.lang.String
<<uses>>
BusinessModel()
init()
destroy()
<<create>> reset()
ClientSearchAction toDebug()
(from acti on)
getPermissions()
setSessionId()
getSesssionId()
<<delegate>> addMessage()
ClientSearchBusinessProcess ClientSearchBusinessModel
(from m odel)
addMessage()
(from m odel)
getMessageStack()
<<uses>> getLastException()
searchClient()
setLastException()

<<uses>>

<<uses>>
<<uses>>
PwmPbBusinessProcess PwmPbRootBusinessProcess
(from common) (from common)

<<entity>>
ClientSearchDAO <<realize>>
(from dao) ClientSearchVO
(from vo)

searchClient() clientName : String


groupName : String <<Interface>>
BusinessProcessGroup
<<uses>> branchNumber : int BusinessProcess <<realize>> (from business)
(from busi ness)
clientNumber : int
<<uses>> clientSurName : String
dateOfBirth : Date
road : String
DatabaseService countryCode : int
(from service) address : String

Vertraulich Seite 16 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.3.2 Client Search - Screen Specification

1.9.3.2.1 Tab Sheet 1 – Partner suchen


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Suchbereich Varchar NA Y Y This is a configured NA
[Search Area]/List value and displayed
Box in the list box
Name / Varchar 40 Y Y None PARTNER.NAM
StringControl E
Gruppe [Group] Varchar 40 Y Y None GRUPPE.NAME
Filiale/ Kunden Nr Number 3/7 Y Y None PARTNER.FILI
[Branch/Client ALNUMMER/
Number] PARTNER.KUN
DENNUMMER
Vorname [Sur Varchar 35 Y Y None PARTNER.VOR
name] NAME
Geb/Grddatum Date N/A Y Y None PARTNER.GEB
[Date of Birth] URTSTAG
Strasse[Road] Varchar 35 Y Y None ADRESSE_AN
SCHRIFT.
Strasse
PLZ[Country Code] Number 5 Y Y None ADRESSE_AN
SCHRIFT.Land
Ort[Address] Varchar 35 Y Y None ADRESSE_AN
SCHRIFT.Orts
bezeichnung

Vertraulich Seite 17 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.3.2.2 Tab Sheet 2 – Meine Partner


Controls:
UI( Field Type Length Required Read- Business Table /
label/Control ) only Validations / Field(s)
Additional
Information
Name / Varchar 40 Y Y None PARTNER.NAM
StringControl E
Filiale/ Kunden Nr Number/ 3/7 Y Y None PARTNER.FILI
[Branch/Client Number ALNUMMER/
Number] PARTNER.KUN
DENNUMMER
PLZ[Country Code] Number 5 Y Y None ADRESSE_AN
SCHRIFT.Land
Ort[Address] Varchar 35 Y Y None ADRESSE_AN
SCHRIFT.Orts
bezeichnung
Strasse[Road] Varchar 35 Y Y None ADRESSE_AN
SCHRIFT.
Strasse

1.9.3.2.3 Screen options


Option / Control Label Purpose Action Details
Suchen/Button Suchen[search] Searching the Clients If the user clicks
Search button, System
will display the result
in the same
page(Client Search-
U-RM-001)
Ubermehmen/Button Ubermehmen[Accept] Accept for further If the user clicks
process Accept button, System
will navigates from
Client Search Screen
(Client Search-U-
RM-001) to Select
Client Custody Account
Screen (Select Client
Custody Account -U-
RM-002/ P-RM-
002))

1.9.3.2.4 Messages/Confirmations
Message ID Description Context Type
NA NA NA NA

BUS - Business SYS - System SEC - Security EXT - External


ERR - Error DLG - Dialog INF - Information

Vertraulich Seite 18 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.3.3 Behavioral design

: ClientSearchAction : ClientSearchViewBean PwmPbModel : ClientSearchBusinessProcess


: User : XBeamServlet : XBeamController : ClientSearchDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

Gets the list of


getClientSearchBusinessProcess()
clients

searchClient( )
searchClient( )

ClientSearchVO
ClientSearchVO

ActionResult
XBeamPage

Forwards to

The Search Client functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• ClientSearchAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the ClientSearchBusinessProcess process
instance using the getClientSearchBusinessProcess() method.
• ClientSearchBusinessProcess invokes the searchClient() for getting the client
list.
• The searchClient (ClientSearchVO) in the BusinessProcess class will
instantiate the ClientSearchDAO and invokes the searchClient
(ClientSearchVO) for getting all the client list.
• The valueobject ClientSearchVO sent to ClientSearchAction class.

1.9.3.4 Persistence design


Page level Attributes Attributes effected Tables effected
Name PARTNER.NAME PARTNER
Group GRUPPE.NAME FILIALKUNDE
Branch/Client Number PARTNER.FILIALNUMMER/ GRUPPE
PARTNER.KUNDENNUMMER DEPOT
Sur name PARTNER.VORNAME ADRESSE_ANSCHRIFT
Date of Birth PARTNER.GEBURTSTAG VERTRAG_DEPOT
Road ADRESSE_ANSCHRIFT. Strasse VERTRAG_LEISTUNG
Country Code ADRESSE_ANSCHRIFT.Land LEISTUNG_DEF
LEISTUNG_GRUPPE
Join

Vertraulich Seite 19 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

PARTNER.PARTNER_ID=ADRESSE_ANSCHRIFT.PARTNER_ID
PARTNER.KUNDENNUMMER = FILIALKUNDE.KUNDENNUMMER
PARTNER.FILIALNUMMER FILIALKUNDE.FILIALNUMMER
FILIALKUNDE.FILIALKUNDEN_ID = DEPOT.FILIALKUNDEN_ID
DEPOT.DEPOT_ID = VERTRAG_DEPOT.DEPOT_ID
VERTRAG_DEPOT.VERTRAG_ID = VERTRAG_LEISTUNG.VERTRAG_ID
VERTRAG_LEISTUNG.VERTRAG_LEISTUNG_ID = LEISTUNG_DEF. VERTRAG_LEISTUNG_ID
LEISTUNG_DEF. LEISTUNG_DEF_ID= LEISTUNG_GRUPPE.LEISTUNG_DEF_ID
LEISTUNG_GRUPPE. GRUPPE_ID = GRUPPE.GRUPPE_ID

1.9.3.5 Tracebility Matrix


Sl.No Type Reference ID Description
1 Use case U-RM-001 Client Search
2 Page Description P-RM-001 Client Search

1.9.3.6 Additional / specifical Technical information


N/A

Vertraulich Seite 20 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.4 Select Client Custody Account


According to the details entered in filter fields of particular client, this functionality
displays the custody account details.

1.9.4.1 Static Design

OverviewCustodyAccountGenViewBean
<<control>> (from view)
XBeamServlet PwmPbViewComposite
(from controller) (from co mmon)
ViewComposite
User
(from co ntrol)
(from Use Case View) service() deactivateUpdate()
getController() activateUpdate()
XBeamAction OverviewCustodyAccountViewBean
(from acti on) XBeamPage forward() isUpdating()
(from view)
(from controller) deactivateInitialization()
activateInitialization()
performAction() <<instantiate>>
isInitializing()
getPage()
update()
validate() <<control>>
<<uses>> <<Interface>>
setBusinessModel() XBeamController MatrixModel
getActionName() (from controller) (from m atrix)
setPageStack() PwmPbPage
(from com mon)
getPageStack() getAction() getSize()
getLogger() prepareAction() ClientCustodyAccountMatrixModel getUnfilteredSize()
getMessage() doService() (from m odel) getMatrixRow()
setFilter()
<<invoke>> setComparator()
filterChanged()
comparatorChanged()
<<realize>> fireFilterChanged()
PwmPbAction OverviewCustodyAccountAction
(from com mon)
getMatrixSelection()
DefaultOverviewCustodyAccountAction (from acti on)
(from a cti on)
getModel() performAction() AbstractMatrixModel
getGlobalViewBean()
(from m atrix)
getXBeamPage()
<<delegate>> AbstractMatrixModel()
setFilterArray()
fireFilterChanged()
CustodyAccountGenAction CustodyAccountBusinessModel
getMatrixSelection()
(from acti on) (from m odel)
CustodyAccountBusinessProcess
(from m odel)
<<uses>>
<<uses>> <<create>> BusinessModel
listClientCustodyAccounts() (from model )
getClientCustodyAccount() sessionId : java.lang.String
CustodyAccountVO PwmPbModel
<<uses>> (from vo) (from co mmon)
<<entity>> BusinessModel()
CustodyAccountDAO <<uses>> branchNumber : int init()
(from d ao) clientNumber : int destroy()
clientName : String reset()
listClientCustodyAccounts() <<uses>> clientGBM : int toDebug()
getClientCustodyAccount() clientBBS : int getPermissions()
riskLevel : String setSessionId()
street : String getSesssionId()
clientSegment : String addMessage()
clientPlace : String addMessage()
tgfFrom : Date getMessageStack()
<<uses>> PwmPbRootBusinessProcess
dateOfBirth : Date getLastException()
(from com mon)
supervisor : String setLastException()
subAccountNumber : int
contractNumber : int
PwmPbBusinessProcess validFrom : Date
DatabaseService (from com mon) custodyAccountVolume : double
(from service) status : String
providedBy : String
BusinessProcessGroup
<<realize>> <<realize>> (from business)

BusinessProcessGroup <<Interface>>
<<realize>> <<Interface>>
(from busi ness) BusinessProcess <<realize>>
BusinessProcess (from business)
(from business)

Vertraulich Seite 21 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.4.2 Select Client Custody Account – screen specification

1.9.4.2.1Tab sheet 1 - Partner

Controls:
UI( Field Type Length Required Read- Business Table /
label/Control ) only Validations / Field(s)
Additional
Information
Filial/kd-Nr. Number/ 3/7 Y Y None PARTNER.FILI
[Branch/ Client Number ALNUMMER/
Number]/NumberC PARTNER.KUN
ontrol DENNUMMER
Name[Name] / Varchar 40 Y Y None PARTNER.NAM
StringControl E
GBM [GBM]/ Number 2 Y Y None PARTNER.GBM
NumberControl
BBS [BBS]/ Number 4 Y Y None PARTNER.BBS
NumberControl
WpHG Anlage / Number 1 Y Y None PARTNER.
NumberControl WPHG_AZ

Risiko / Number 1 Y Y None PARTNER.


NumberControl WPHG_RK
Strasse [Street]/ Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT.
Strasse
Kundensegm[Clien Number 1 Y Y None KUNDENSEGM
t Segment]/ ENT.NAME

Vertraulich Seite 22 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

APT / StringControl To be clarified


- Query
reference no:
- - Y Y None NTC-P1-
000463 in
OnsiteCommu
nicationRegist
er
Ort[Address] / Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT.Orts
bezeichnung
Betreuer[Superviso Integer N/A Y Y None BETREUER.
r] / ListBox BETREUER_ID
TGF bis[TGF_From] Date N/A Y Y None PARTNER.TGF
KZ
Geb/Grddatum Date N/A Y Y None PARTNER.GEB
[Date of Birth] URTSTAG

1.9.4.2.2 Tab Sheet 2 - Depot


Controls:
UI( Field Type Lengt Requir Read- Business Table /
label/Control ) h ed only Validations / Field(s)
Additional
Information
UD- Number 2 Y Y None DEPOT
Nummer[Custod .UNTERDEPOT
y Sub-Account _NR
Number]
Filiale [Branch] Number 7 Y Y None PARTNER.KUN
DENNUMMER
Stammnummer Number 7 Y Y None VERTRAG.VER
[ID Number] TRAG_NUMME
R
Abrechnungskont Varchar 20 Y Y None ABRECHNUNG
o [Billing .ABRECHNUN
Account] G_KONTO

1.9.4.2.3 Screen options


Option / Control Label Purpose Action Details
Transaktion /Button Transaktion [Transaction] Displays transaction list If the user clicks
of custody sub account Transaction button,
System will navigates
from Select Client
Custody Account
Screen (Select Client
Custody Account -U-
RM-002/ P-RM-
002)) to Custody sub-
account – transaction
list Screen (Custody
sub-account –
transaction list -U-
RM-019/ P-RM-018)
Historie/Button Historie[History] Displays individual If the user clicks
turnover of custody sub History button, System
account will navigates from
Select Client Custody
Account Screen
(Select Client
Custody Account -U-
RM-002/ P-RM-
002)) to Custody sub-
account – individual

Vertraulich Seite 23 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

turnover Screen
(Custody sub-
account – individual
turnover -U-RM-
019/ P-RM-019)
Report/Button Report[report] Display client custody If the user clicks
account list Report button, System
will display the list of
Custody accounts in
the same page (Select
Client Custody
Account -U-RM-002/
P-RM-002)
Abbruch/Button Abbruch[cancel] Cancels the current If the user clicks
process Cancel button, System
will navigates from
Select Client Custody
Account Screen
(Select Client
Custody Account -U-
RM-002/ P-RM-
002)) to Client Search
Screen (Client
Search-U-RM-001)
Zurich/Button Zurich[Back] Return to previous page If the user clicks Back
button, System will
navigates from Select
Client Custody Account
Screen (Select Client
Custody Account -U-
RM-002/ P-RM-
002)) to Client Search
Screen (Client
Search-U-RM-001)

1.9.4.2.4 Messages/Confirmations
Message ID Description Context Type
BUS-ERR-DE-1001 You must select a custody No custody account is Error
account. selected
BUS - Business SYS - System SEC - Security EXT - External
ERR - Error DLG - Dialog INF - Information

Vertraulich Seite 24 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.4.3 Behavioral design

: OverviewCustodyAccountAction : OverviewCustodyAccountViewBean PwmPbModel : CustodyAccountBusinessProcess


: User : XBeamServlet : XBeamController : CustodyAccountDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getCustodyAccountBusinessProcess()
listClientCustodyAccounts( )
listClientCustodyAccounts( )

CustodyAccountVO

CustodyAccountVO

ActionResult
XBeamPage

Forwards to

The Select Client Custody Account functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• ClientSearchAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the CustodyAccountsBusinessProcess
instance using the getCustodyAccountBusinessProcess() method.
• CustodyAccountsBusinessProcess invokes the listCustodyAccounts() for
getting the client list.
• The listCustodyAccounts(CustodyAccountVO) in the BusinessProcess class will
instantiate the CustodyAccountDAO and invokes the listCustodyAccounts
(CustodyAccountVO) for getting all the custody accounts list.
• The valueobject CustodyAccountVO sent to OverviewCustodyAccountAction
class.

Vertraulich Seite 25 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.9.4.4 Persistence design


Page level Attributes Attributes effected Tables effected
Branch/ Client Number PARTNER.FILIALNUMMER/ FILIALKUNDEN
PARTNER.KUNDENNUMMER PARTNER
Name PARTNER.NAME ADRESSE_ANSCHRIFT
GBM PARTNER.GBM VERTRAG_DEPOT
BBS PARTNER.BBS VERTRAG
WpHG Anlage PARTNER.WPHG_AZ DEPOT
Risiko PARTNER.WPHG_RK ABRECHNUNG
Street ADRESSE_ANSCHRIFT. Strasse BANKLEISTUNG_ADRESS
Address ADRESSE_ANSCHRIFT.Ortsbezeichnung
Agreement VERTRAG_DEPOT.
VERTTRAG_ID
From VERTRAG. GUELTIG_AB
Client Segment KUNDENSEGMENT.NAME
APT To be clarified - Query reference no:
NTC-P1-000463 in
OnsiteCommunicationRegister
Supervisor BETREUER. BETREUER_ID
TGF_From PARTNER.TGFKZ
Date of Birth PARTNER.GEBURTSTAG
Custody DEPOT .UNTERDEPOT_NR
Sub-Account Number
ID Number VERTRAG.VERTRAG_NUMMER
Billing Account ABRECHNUNG. ABRECHNUNG_KONTO
Custody Account DEPOT.DEPOT_ID
Join
BANKLEISTUNG_ADRESS. DEPOT_ID =VERTRAG_DEPOT. DEPOT_ID
ABRECHNUNG. VERTRAG_DEPOT=VERTRAG_DEPOT. VERTRAG_DEPOT_ID

1.9.4.5 Tracebility Matrix


Sl.No Type Reference ID Description
1 Use case U-RM-002 Select client custody account
2 Page Description P-RM-002 Select client custody account

1.9.4.6 Additional / specifical Technical information


N/A

Vertraulich Seite 26 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10Scenario Analysis – Agreement Simulation

1.10.1Business Description
The main purpose for generating Simulation agreement is to compare the actual
performance gained from agreement orginal agreement with the simulated value. In
the scenario analysis simulation, the user registers agreement conditions to permit a
recalculation of yields for retrospective and predictive overviews on the basis of the
simulated agreement. A prerequisite for creating scenario analysis reports is that an
individual agreement exists in the NSL for the custody account of the asset
management account, or that a standard service is assigned to the custody account.

1.10.2List of Usecase
Functionality Actions Description
Agreement Simulation
Agreement overview simulation This functionality display the
(U-RM-003) number of simulated agreement
which are in agreement simulation
overview.
Copy existing agreement as simulation This funcationlity copy an existing
simulation agreement(U-RM-006) agreement in agreement overview
into simulation agreement
overview for simulation
Edit agreement for simulation(U-RM-007) This functionality edit restricted
attributes of an simulated
agreement.
Set up new agreement for simulation This functionality create a new
(U-RM-008) simulation agreement.
Import simulation agreement(U-RM-009) This functionality import the
agreement in agreement
simulation overview from
“simulation” status to “In
Progress” status
Running the simulation(U-RM-010) This use case run the simulated
agreement and generate the
report.

Vertraulich Seite 27 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.3Agreement Overview Simulation


This functionality displays all of the user’s simulation agreements for which the user
has authorization with the option of selecting the agreement. Unauthorized
agreements are not visible to the user. He can edit and modify the agreements in the
agreement over view simulation accordingly.

Vertraulich Seite 28 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.3.1Static Design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common)
XBeamServlet
(from controll er)
deactivateUpdate()
activateUpdate()
User service()
isUpdating()
getController() OverviewSimulatedAgreementGenViewBean
(from Use Case View)
XBeamPage deactivateInitialization()
forward() (from view)
(from controller) activateInitialization()
XBeamAction isInitializing()
(from acti on) update()
OverviewSimulatedAgreementViewBean
<<instantiate>> (from view)

PwmPbAction
(from common) PwmPbPage <<Interface>>
(from common)
MatrixModel
<<uses>> (from matrix)
getModel()
getGlobalViewBean()
getXBeamPage() getSize()
OverviewAgreementMatrixModel getUnfilteredSize()
(from action)
getMatrixRow()
<<control>> setFilter()
XBeamController <<realize>> setComparator()
(from controll er) filterChanged()
OverviewSimulatedAgreementGenAction comparatorChanged()
(from acti on) AbstractMatrixModel fireFilterChanged()
getAction()
(from m atrix) getMatrixSelection()
prepareAction()
doService()
AbstractMatrixModel()
setFilterArray()
fireFilterChanged() BusinessModel
DefaultOverviewSimulatedAgreementAction getMatrixSelection() (from model)
(from action)
sessionId : java.lang.String

BusinessModel()
PwmPbModel
(from common)
init()
AgreementBusinessProcess destroy()
(from model) reset()
<<uses>> toDebug()
overviewAgreement() getPermissions()
createAgreement() OverviewSimulatedAgreementAction setSessionId()
(from action) <<create>> getSesssionId()
editAgreement()
displayAgreement() addMessage()
cloneAgreement() addMessage()
approveAgreement() <<delegate>> AgreementBusinessModel getMessageStack()
activateAgreement() (from model) getLastException()
<<uses>> setLastException()
terminateAgreement()
deleteAgreement()
displayAgreementHistory()
overviewAgreementVersion() <<uses>>
activateAgreementVersion() PwmPbRootBusinessProcess
editHardRestrictions() (from common)
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount() <<uses>> PwmPbBusinessProcess
(from common)
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement() AgreementVO <<realize>>
copyAsAgreementSimulation() (from vo)

<<Interface>>
<<uses>> BusinessProcessGroup
BusinessProcess
(from busi ness)
(from busi ness)
<<realize>>
<<entity>>
AgreementDAO
(from dao)
<<uses>>
overviewAgreement()
createAgreement()
editAgreement()
displayAgreement()
cloneAgreement()
approveAgreement()
activateAgreement()
terminateAgreement() <<uses>>
deleteAgreement()
displayAgreementHistory() DatabaseService
overviewAgreementVersion() (from service)

activateAgreementVersion()
editHardRestrictions()
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement()
copyAsAgreementSimulation()

Vertraulich Seite 29 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.3.2Agreement Overview Simulation – screen specification

1.10.3.2.1 Tab sheet 1 - Vertrag bearbiten


Controls:
UI( Field Type Length Required Read- Business Table /
label/Control ) only Validations / Field(s)
Additional
Information
Filal-/Kd No Number 3 Y Y None PARTNER.FILI
StringControl ALNUMMER/
PARTNER.KUN
DENNUMMER

WPHG Analge Number 1 Y Y None PARTNER.


StringControl WPHG_AZ
Risiko Number 1 Y Y None FILIALKUNDE
StringControl .RISIKOKLASS
E
APT StringControl To be clarified
- Query
reference no:
- - Y Y None NTC-P1-
000463 in
OnsiteCommu
nicationRegist
er
TGF Bis Number 1 Y Y None PARTNER.TGF
StringControl KZ
Name Char 40 Y Y None PARTNER.NAM
StringControl E
Strasse Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT
.Strasse
Ort StringControl Varchar 35 Y Y None ADRESSE_AN
SCHRIFT.Orts

Vertraulich Seite 30 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

bezeichnung
Geb-/Gr.datum Date N/A Y Y None PARTNER.GEB
StringControl URTSTAG
GBM StringControl Number 2 Y Y None PARTNER.GBM
BBS StringControl Number 4 Y Y None PARTNER.BBS
KundenSegment/[ Char 40 Y Y None KUNDENSEGM
ClientSegment] ENT.NAME
ListBox
Beteuer Integer N/A Y Y None BETREUER.
StringControl BETREUER_ID
Vetrag Integer N/A Y Y None VERTRAG.VER
TRAG_ID
Vom Date N/A Y Y None VERTRAG.
GUELTIG_AB

1.10.3.2.2 Tab Sheet 2


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Nummer Varchar 20 Y Y None VERTRAG.VER
Matrix TRAG_NUMBE
R

Status Char 1 Y Y None VERTRAG_STA


Matrix TUS.NAME
Gultig Ab Date N/A Y Y None VERTRAG.
Matrix VORAUS_GUE
LTIG_AB
Angelegt Von Varchar 72 Y Y None VERTRAG
Matrix .ERSTELLT_VO
N
Angelegt am Date N/A Y Y None VERTRAG
Matrix .ERSTELLT
Bearbeitet Von Varchar 72 Y Y None VERTRAG
Matrix .MODIFIED_B
Y
Bearbeitet am Date N/A Y Y None VERTRAG
Matrix .MODIFIZIERT

1.10.3.2.3 Screen options


Option / Control Label Purpose Action Details
Report_2/Button Simulation[Simulation] Report Simulation If the user clicks
Report_2 button,
System will navigates
from Select Client
Custody Account
Screen (Select Client
Custody Account -U-
RM-002/ P-RM-
002)) to Running the
Simulation Screen
(Running the
Simulation -U-RM-
010)
Edit/Button Simulationsvertrag Edit Agreements If the user clicks Edit
bearbieten[Edit button, System will
Simulation agreement] navigates from
Agreement Overview
Simulation Screen
(Agreement
Overview Simulation

Vertraulich Seite 31 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

-U-RM-003/ P-RM-
003)) to Set up new
agreement for
simulation Screen (Set
up new agreement
for simulation -U-
RM-008/ U-RM-008)

New/Button Neuen Create Agreements If the user clicks New


Simulationsvertrag button, System will
anlegen[Create new navigates from
simulation agreement] Agreement Overview
Simulation Screen
(Agreement
Overview Simulation
-U-RM-003/ P-RM-
003)) to Set up new
Simulation agreement
Screen (Edit
Agreement for
Simulation -U-RM-
007/ U-RM-007)

Import/Button Simulationsvertrag Import Agreements If the user clicks


ubernehmen[Import Import button, System
simulation agreement] will navigates from
Agreement Overview
Simulation Screen
(Agreement
Overview Simulation
-U-RM-003/ P-RM-
003)) to Import
Simulation Agreement
Screen (Import
Simulation
Agreement -U-RM-
009)

Zurich/button Zurich[back] Return to previous page If the user clicks Back


button, System will
navigates from
Agreement Overview
Simulation
Screen(Agreement
Overview Simulation
-U-RM-003/ P-RM-
003)) to Select Client
Custody Account
Screen (Select Client
Custody Account -U-
RM-002/ P-RM-
002))

1.10.3.2.4 Messages/Confirmations
Message ID Description Context Type
BUS-INF-DE-1001 No entries present There are no agreements Information
Message
BUS - Business SYS - System SEC - Security EXT - External
ERR - Error DLG - Dialog INF - Information

Vertraulich Seite 32 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.3.3Behavioral design

: : PwmPbModel : AgreementBusinessProcess
: User : XBeamServlet : XBeamController : AgreementDAO
OverviewSimulatedAgreementAction OverviewSimulatedAgreementViewBean
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getAgreementBusinessProcess()
Gets list of user's
overviewAgreement( ) simulated
overviewAgreement( ) agreements
AgreementVO
AgreementVO

ActionResult
XBeamPage

Forwards to

The Agreement Overview Simulation functionality follows the


below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• OverviewSimulatedAgreementAction gets the BusinessModel i.e PwmPbModel
using getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getAgreementBusinessProcess() method.
• AgreementBusinessProcess invokes the overviewAgreement() for getting the
list of agreements.
• The overviewAgreement (AgreementVO) in the BusinessProcess class will
instantiate the AgreementDAO and invokes the overviewAgreement
(AgreementVO) for getting list of agreements.
• The valueobject AgreementVO sent to OverviewSimulatedAgreementAction
class.

Vertraulich Seite 33 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.3.4Persistence design
Page level Attributes Attributes effected Tables effected
Filal-/Kd No PARTNER.FILIALNUMMER/ PARTNER
StringControl PARTNER.KUNDENNUMMER FILIALKUNDE
WPHG Analge PARTNER. WPHG_AZ ADRESSE_ANSCHRIFT
Risiko FILIALKUNDE .RISIKOKLASSE KUNDENSEGMENT
APT To be clarified - Query reference no: VERTRAG
NTC-P1-000463 in DEPOT
OnsiteCommunicationRegister
TGF Bis PARTNER.TGFKZ
Name PARTNER.NAME
Strasse ADRESSE_ANSCHRIFT .Strasse
Ort ADRESSE_ANSCHRIFT.Ortsbezeichnung
Geb-/Gr.datum PARTNER.GEBURTSTAG
GBM PARTNER.GBM
BBS PARTNER.BBS
ClientSegment KUNDENSEGMENT.NAME
Beteuer BETEUER. BETEUER_ID
Vetrag VERTRAG.VERTRAG_ID
Vom VERTRAG.GUELTIG_AB
Nummer VERTRAG. VERTRAG _NUMMBER

Status VERTRAG_STATUS.NAME
Gultig Ab VERTRAG .VORAUS_GUELTIG_AB
Angelegt Von VERTRAG. VORAUS_GUELTIG_AB
Angelegt am VERTRAG .ERSTELLT_VON
Bearbeitet Von VERTRAG .ERSTELLT
Bearbeitet am VERTRAG .MODIFIED_BY
Join
VERTRAG. FILIALKUNDE_ID= FILIALKUNDE .FILIALKUNDE_ID
PARTNER. FILIALNUMMER= ADRESSE_ANSCHRIFT . FILIALNUMMER
PARTNER. KUNDENNUMMER = ADRESSE_ANSCHRIFT . KUNDENNUMMER

1.10.3.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-003 Agreement overview simulation
2 Page Description P-RM-003 Agreement overview simulation

1.10.3.6Additional / specifical Technical information


N/A

Vertraulich Seite 34 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.4Copy existing agreement as simulation agreement


The user is in the agreement management system in the agreement overview for a
client custody account. An agreement has been selected. An agreement is copied as
per the agreement management use case “Vertrag klonen” [“Clone agreement”] and
placed in agreement overview simulation. The copied agreement has the internal
status of “Simulation”.

Vertraulich Seite 35 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.4.1Static Design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common)
XBeamServlet
(from controll er)
deactivateUpdate()
activateUpdate()
User service()
isUpdating() <<Interface>>
getController()
(from Use Case Vi ew)
XBeamPage deactivateInitialization() MatrixModel
forward()
(from controll er) activateInitialization() (from matrix)

XBeamAction isInitializing()
(from acti on) update() getSize()
getUnfilteredSize()
<<instantiate>> getMatrixRow()
setFilter()
setComparator()
OverviewAgreementGenViewBean filterChanged()
PwmPbAction (from view) comparatorChanged()
(from common) PwmPbPage
(from common)
fireFilterChanged()
getMatrixSelection()
getModel()
getGlobalViewBean()
getXBeamPage()
<<realize>>
OverviewAgreementViewBean
(from view)
<<control>> AbstractMatrixModel
XBeamController (from matrix)
(from controll er)
OverviewAgreementGenAction AbstractMatrixModel()
...
(from acti on) getAction() setFilterArray()
prepareAction() AgreementMatrixModel
fireFilterChanged()
(from m odel)
doService() getMatrixSelection()

BusinessModel
DefaultOverviewAgreementAction (from model )
(from action)
sessionId : java.lang.String
<<invoke>>
BusinessModel()
PwmPbModel
(from common)
init()
AgreementBusinessProcess destroy()
(from model) reset()
<<uses>>
<<create>> toDebug()
overviewAgreement() OverviewAgreementAction getPermissions()
(from acti on) setSessionId()
createAgreement()
editAgreement() getSesssionId()
displayAgreement() addMessage()
cloneAgreement() <<delegate>> addMessage()
approveAgreement() AgreementBusinessModel getMessageStack()
activateAgreement() (from model) getLastException()
<<uses>> setLastException()
terminateAgreement()
deleteAgreement()
displayAgreementHistory()
overviewAgreementVersion() <<uses>>
activateAgreementVersion() PwmPbRootBusinessProcess
editHardRestrictions() (from common)
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount() <<uses>> PwmPbBusinessProcess
(from common)
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement() AgreementVO <<realize>>
copyAsAgreementSimulation() (from vo)

<<Interface>>
<<uses>> BusinessProcessGroup
BusinessProcess
(from busi ness)
(from busi ness)
<<realize>>
<<entity>>
AgreementDAO
(from dao)
<<uses>>
overviewAgreement()
createAgreement()
editAgreement()
displayAgreement()
cloneAgreement()
approveAgreement()
activateAgreement()
terminateAgreement()
<<uses>>
deleteAgreement()
displayAgreementHistory()
overviewAgreementVersion() DatabaseService
activateAgreementVersion() (from service)

editHardRestrictions()
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement()
copyAsAgreementSimulation()

Vertraulich Seite 36 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.4.2Screen specifications – Agreement Overview

Partner/Depot
Zurück

Fil / Kd.Nr. 600/3135566 Depot 00 Name Müller, Max GBM 50 BBS 8361

WpHG Anlage A Risiko 1 Straße Auf dem Lerchesberg 88 Kundensegment Privatperson KEYC

APT Wachstum Plus PLZ, Ort 60599 Frankfurt am Main Zielgruppe

TGF bis 08.08.2005 Geb./Grddatum 26.01.1961 Betreuer Hauptbetreuer Max Muster 2

Partner > Depot > Vertrag

Verträge
 1 - 3 von 3 In Simulation stellen Status ändern Anzeigen Neu Löschen Bearbeiten

Vertragsnr. Vorgänger Status Gültig ab Gültig bis Bearbeitet von Bearbeitet am Genehmigt von Genehmigt am


15 14 in Bearbeitung 01.07.2005 Anwender 25.01.2005


14 12 aktiv 01.07.2004 Anwender 25.01.2005
12 erledigt 30.06.2004 Anwender

Please refer the screen controls details in the contract management design
document – Usecase reference: Agreement Overview(U-VM-002)

1.10.4.2.1Tab sheet 1 Controls:


Refer “ U-VM-002 - Agreement Overview“ in Agreement management system.

1.10.4.2.2 Tab sheet 2 – Vertragsdaten


Refer “ U-VM-002 - Agreement Overview“ in Agreement management system.

1.10.4.2.3Screen options
Refer “ U-VM-002 - Agreement Overview“ in Agreement management system.

1.10.4.2.4Messages/Confirmations
Refer “ U-VM-002 - Agreement Overview“ in Agreement management system.

Vertraulich Seite 37 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.4.3Behavioral Design

: OverviewAgreementAction : OverviewAgreementViewBean PwmPbModel : AgreementBusinessProcess


: User : XBeamServlet : XBeamController : AgreementDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getAgreementBusinessProcess()
Copies the
copyAsAgreementSimulation( ) agreement as
copyAsAgreementSimulation( ) simulation
agreement

overviewAgreement( )

AgreementVO
AgreementVO

ActionResult
XBeamPage

Forwards to

The Copy existing agreement as simulation agreement


functionality follows the below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• OverviewAgreementAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getAgreementBusinessProcess() method.
• AgreementBusinessProcess invokes the copyAsAgreementSimulation() for
changing the status of the agreement.
• The copyAsAgreementSimulation (AgreementVO) in the BusinessProcess class
will instantiate the AgreementDAO and the copyAsAgreementSimulation() for
changing the status of the agreement.
• The valueobject AgreementVO sent to OverviewAgreementAction class.

1.10.4.4Persistance design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 38 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Fil / Kd.Nr [Branch PARTNER. FILIALNUMMER/ PARTNER


Number/Client Number] PARTNER. KUNDENNUMMER DEPOT
WpHG Anlage PARTNER.WPHG_AZ ADRESSE_ANSCHRIFT
Depot[CustodyAccount] DEPOT.DEPOT_ID KUNDENSEGMENT
APT To be clarified - Query reference no: BETREUER
NTC-P1-000463 in
OnsiteCommunicationRegister
Risiko PARTNER.WPHG_RK
TGF bis/[TGF to] PARTNER.TGFKZ
Name[Client Name] PARTNER.NAME
StraBe[Street] ADRESSE_ANSCHRIFT .Strasse
PLZ, Ort[Pin Code/Place] ADRESSE_ANSCHRIFT. Postleitzahl/
ADRESSE_ANSCHRIFT.Ortsbezeichnung
Geb./Grd Datum[Date of
PARTNER. GEBURTSTAG
Birth]
GBM[Business Division
PARTNER.GBM
Feature]
BBS[Sector/Prfessional Group
PARTNER.BBS
Key]
Kundensegment[Client
KUNDENSEGMENT.NAME
Segment]
KEYC[KeyC] refer contract management
Ziel Gruppe[Target Group] refer contract management
Betreuer[Supervisor] BETREUER. NAME
Vertragsnr. VERTRAG .VERTRAG_ID
[Contract Serial no]
Vorganger VERTRAG .VERTRAG_ID
[Predecessor]
Status[Status] VERTRAG .STATUS

Gultig ab VERTRAG .GUELTIG_AB


[Valid from]
Gultig bis VERTRAG .VORAUS_GUELTIG_AB
[Valid until]
Bearbeitet von VERTRAG .MODIFIZIERT
[Edited from]
Bearbeitet am VERTRAG .MODIFIZIERT_VON
[Edited on]

Genehmigt von VERTRAG .GENEHMIGUNG_ID


[Approved from]
Genehmigt am USER_GENEHMIGUNG
[Approved on] .GENEHMIGT_AM

Joins
VERTRAG_DEPOT. DEPOT_ID = DEPOT.DEPOT_ID
AND PARTNER. PARTNER_ID = PARTNER_ADRESSE. PARTNER_ID

1.10.4.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-006 Copy existing agreement as simulation agreement
2 Page Description N/A N/A

1.10.4.6Additional / specifical Technical information


N/A

Vertraulich Seite 39 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.5Edit Agreement for Simulation


NSL user has the rights to edit the simulated agreement which is simulation
agreement overview. User can edit some fields like Service, Model, PEVs, Expected
yields, Benchmark related details.

Vertraulich Seite 40 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.5.1Static Design

<<control>> PwmPbViewComposite <<Interface>>


XBeamServlet (from common) MatrixModel
(from controller) (from matrix)
deactivateUpdate() ViewComposite
User service() activateUpdate() (from control) getSize()
(from Use Case View) getController() isUpdating() getUnfilteredSize()
forward() deactivateInitialization() getMatrixRow()
activateInitialization() setFilter()
XBeamAction isInitializing() setComparator()
(from action) <<instantiate>>
update() filterChanged()
EditSimulatedAgreementGenViewBean
comparatorChanged()
(from view)
fireFilterChanged()
getMatrixSelection()

XBeamPage <<control>> EditSimulatedAgreementViewBean


(from controller) XBeamController (from view) <<uses>>
(from controller)
PwmPbAction
(from common)
getAction() OverviewAgreementMatrixModel
prepareAction() ConfigurationManager (from acti on)
getModel() (from confmanager) <<realize>>
doService()
getGlobalViewBean() -cm
PwmPbPage
getXBeamPage() (from common) ConfigurationService
(from service) BusinessModel
(from model )
ConfigurationService() sessionId : java.lang.String
EditSimulatedAgreementGenAction getProperties() AbstractMatrixModel
(from action) getConfigurationManager() BusinessModel() (from matrix)
refresh() init()
destroy() AbstractMatrixModel()
reset() setFilterArray()
toDebug() fireFilterChanged()
getPermissions() getMatrixSelection()
setSessionId()
DefaultEditSimulatedAgreementAction
getSesssionId()
(from action)
addMessage()
EditSimulatedAgreementAction addMessage()
(from acti on) getMessageStack()
AgreementBusinessProcess getLastException()
(from model) generateReport() setLastException()
getReportInfo()
overviewAgreement() buildXmlString() <<uses>>
createAgreement()
editAgreement() <<delegate>>
PwmPbModel
displayAgreement() <<create>> (from common)
cloneAgreement() AgreementBusinessModel
approveAgreement() (from model)
activateAgreement() <<uses>>
terminateAgreement()
deleteAgreement()
displayAgreementHistory() <<uses>>
overviewAgreementVersion() PwmPbRootBusinessProcess
activateAgreementVersion() (from common)
editHardRestrictions()
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy() PwmPbBusinessProcess
<<uses>>
(from common)
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount() AgreementVO
importSimulatedAgreement() (from vo) <<realize>>
copyAsAgreementSimulation()
<<Interface>> BusinessProcessGroup
<<uses>> BusinessProcess (from busi ness)
(from business) <<realize>>
<<entity>>
AgreementDAO
(from dao)
<<uses>>
overviewAgreement()
createAgreement()
editAgreement()
displayAgreement()
cloneAgreement()
approveAgreement()
activateAgreement()
terminateAgreement()
deleteAgreement()
<<uses>>
displayAgreementHistory()
overviewAgreementVersion()
activateAgreementVersion()
editHardRestrictions() DatabaseService
(from service)
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement()
copyAsAgreementSimulation()

Vertraulich Seite 41 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.5.2Edit Agreement for Simulation – screen specification

1.10.5.2.1 Tab sheet 1 - Vertrag bearbiten


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations Field(s)
/ Additional
Information
Vertrag Integer N/A Y Y None VERTRAG_DEP
[Agreement] / OT.VERTRAG_I
NumberControl D
Vom[From] Date N/A Y Y None VERTRAG.
ERSTELLT
Name[Name] / Varchar 40 Y Y None PARTNER.NAM
StringControl E
Vertragsdatum Number 2 Y Y None VERTRAG.
[Agreement Start VALID_FROM
Date] (to be
confirmed)

1.10.5.2.2 Tab sheet 2 - Vertragsdaten

Controls:
UI( Field Type Lengt Requir Read- Business Table /
label/Control ) h ed only Validations / Field(s)
Additional
Information
Vertragsbeginn Date N/A Y Y None VERTRAG.
[Agreement Start GUELTIG_AB

Vertraulich Seite 42 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

UI( Field Type Lengt Requir Read- Business Table /


label/Control ) h ed only Validations / Field(s)
Additional
Information
Date]
Interessentenname To be clarified
/StringControl - Query
reference no:
- - Y Y None NTC-P1-
000465 in
OnsiteCommu
nicationRegist
er
Depot- To be clarified
Vermögenswer - Query
Simulation reference no:
[Custody account - - Y Y None NTC-P1-
Asset Value 000466
Simulation] / In
StringControl OnsiteCommu
nicationRegist
er
Fonds/Zert./Festpr To be clarified
[Fonds] / - Query
StringControl reference no:
- - Y Y None NTC-P1-
000467
In
OnsiteCommu
nicationRegist
er
Aufwandsentgelt Decim 15,3 Y Y None ENTGELT
[Expense Fee] / al .ERTRAG_BET
StringControl RAG
Angenommener To be clarified
Benchmarkperform - Query
ance [Accepted reference no:
Benchmarkperform - - Y Y None NTC-P1-
ance] / 000468
StringControl In
OnsiteCommu
nicationRegist
er
Erwartete To be clarified
Benchmarkperform - Query
ance [Expected reference no:
BenchMark - - Y Y None NTC-P1-
Performance] / 000469
StringControl In
OnsiteCommu
nicationRegist
er

Angenommener To be clarified
Referenzzinssatz - Query
[Accepted reference no:
Reference interest - - Y Y None NTC-P1-
rate] / 000483
StringControl In
OnsiteCommu
nicationRegist
er
Erwartete To be clarified
Performance - Query
[Expected reference no:

Vertraulich Seite 43 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

UI( Field Type Lengt Requir Read- Business Table /


label/Control ) h ed only Validations / Field(s)
Additional
Information
Performance] / - - Y Y None NTC-P1-
000484
In
OnsiteCommu
nicationRegist
er
Wertaufholungsbed To be clarified
arf [Reinstatement - Query
of original values] reference no:
- - Y Y None NTC-P1-
000485
In
OnsiteCommu
nicationRegist
er

1.10.5.2.3Tab sheet 3 – Liestung

Controls:
UI( Field Type Lengt Required Read- Business Table /
label/Control ) h only Validations / Field(s)
Additional
Information
Leistung Integer N/A Y Y None CONTRACT_S
[Service] ERVICE.CONT
RACT_SERVIC
E_ID

Modell[Model] Integer N/A Y Y None CONTRACT_S


ERVICE.CONT
RACT_SERVIC
E_ID

Art der Leistung Varchar 40 Y Y None LEISTUNG_TY


[Type Of Service] P. NAME
Seit/Vertrag Nr. Varchar 20 Y Y None VERTRAG.VER
[Agreement_No] TRAG_ID
Mgmt Decimal 15,3 Y Y None ENTGELT
[Management] .ERTRAG_BET
RAG
Perf Decimal 15,3 Y Y None ENTGELT
[Performance] .ERTRAG_BET
RAG
Benchm Decimal 15,3 Y Y None ENTGELT
[Benchmark] .ERTRAG_BET
RAG
Tx Pausch Decimal 15,3 Y Y None ENTGELT
[Transaction .ERTRAG_BET
Partial Lump RAG
Sums]
Tx Pr Decimal 15,3 Y Y None ENTGELT
[Transaction .ERTRAG_BET
Price] RAG
Aufw [Expense] Decimal 15,3 Y Y None ENTGELT
.ERTRAG_BET
RAG

1.10.5.2.4 Screen options

Vertraulich Seite 44 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Option / Control Label Purpose Action Details


Abbruch/Button Abbruch[Cancel] Cancel the process If the user clicks
Cancel button, System
will navigates from Edit
agreement for
simulation Screen
(Edit agreement for
simulation-U-RM-
007)) to Agreement
overview simulation
Screen (Agreement
overview simulation
-U-RM-003/ P-RM-
003)

Ubermehmen/Butto Ubermehmen[Accept] Generate Report If the user clicks


n Accept button, System
will display the editable
attributes for the given
contract in the same
page, Edit agreement
for simulation Screen
(Edit agreement for
simulation-U-RM-
007))

Soll/lst vergleich / Soll/lst vergleich No use case for this in


Button [Target/performance requirement doc. Refer
comparison] functional query 443
Anzeigen / Button Anzeigen [Display] No use case for this in
requirement doc. Refer
functional query 446
Textbaustein / Textbaustein [Text No use case for this in
Button modules] requirement doc. Refer
functional query list
Neu / Button Neu [New] Set up new simulation If the user clicks Neu
agreement button, System will
navigates from Edit
agreement for
simulation Screen
(Edit agreement for
simulation-U-RM-
007)) to Set up new
agreement for
simulation Screen (Set
up new agreement
for simulation -U-
RM-008/ P-RM-008)

Loschen / Button Loschen [Delete] Delete Simulation If the user clicks


agreement Delete button, System
will delete the selected
simulation agreement
and display the same
page, Edit agreement
for simulation Screen
(Edit agreement for
simulation-U-RM-
007))

Bearbeiten/ Button Bearbeiten [Edit] Edit Simulation If the user clicks Edit
Agreement button, System will
edit the selected
simulation agreement
and in the same page

Vertraulich Seite 45 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Option / Control Label Purpose Action Details


(Edit agreement for
simulation-U-RM-
007))

1.10.5.2.5Messages/Confirmations
Message ID Description Context Type
BUS-ERR-DE-1002 Selected agreement is not a Selected agreement, Error Message
simulation agreement which is not a simulation
agreement, is not
editable
BUS - Business SYS - System SEC - Security EXT - External
ERR - Error DLG - Dialog INF - Information

1.10.5.3Behavioral design

: EditSimulatedAgreementAction : PwmPbModel : AgreementBusinessProcess


: User : XBeamServlet : XBeamController : AgreementDAO
EditSimulatedAgreementViewBean
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getAgreementBusinessProcess()
Edits the
editAgreement( ) selected
editAgreement( ) agreement
AgreementVO
AgreementVO

ActionResult
XBeamPage

Forwards to

The Edit Agreement for Simulation functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• EditSimulatedAgreementAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getAgreementBusinessProcess () method.
• AgreementBusinessProcess invokes the editAgreement() for editing the
agreement.

Vertraulich Seite 46 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• The editAgreement (AgreementVO) in the BusinessProcess class will


instantiate the AgreementDAO and invokes the editAgreement
(AgreementVO) for editing the agreement.
• The valueobject AgreementVO sent to EditSimulatedAgreementAction class.

1.10.5.4Persistence design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 47 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Vertrag [Agreement] / VERTRAG_DEPOT.VERTRAG_ID VERTRAG


NumberControl VERTRAG_DEPOT
Vom[From] VERTRAG. ERSTELLT PARTNER
Name[Name] / StringControl PARTNER.NAME ENTGELT
Vertragsdatum [Agreement Start VERTRAG. CONTRACT_SERVICE
Date] VALID_FROM LEISTUNG_TYP
(to be confirmed)
Vertragsbeginn [Agreement Start VERTRAG. GUELTIG_AB
Date]
Interessentenname/StringControl To be clarified - Query reference no: NTC-P1-
000465 in OnsiteCommunicationRegister
Depot- Vermögenswer To be clarified - Query reference no: NTC-P1-
Simulation [Custody account 000466
Asset Value Simulation] / In OnsiteCommunicationRegister
StringControl
Fonds/Zert./Festpr To be clarified - Query reference no: NTC-P1-
[Fonds] / StringControl 000467
In OnsiteCommunicationRegister
Aufwandsentgelt [Expense Fee] / ENTGELT .ERTRAG_BETRAG
StringControl
Angenommener To be clarified - Query reference no: NTC-P1-
Benchmarkperformance 000468
[Accepted In OnsiteCommunicationRegister
Benchmarkperformance] /
StringControl
Erwartete To be clarified - Query reference no: NTC-P1-
Benchmarkperformance 000469
[Expected BenchMark In OnsiteCommunicationRegister
Performance] / StringControl
Angenommener Referenzzinssatz To be clarified - Query reference no: NTC-P1-
[Accepted Reference interest 000483
rate] / StringControl In OnsiteCommunicationRegister
Erwartete Performance To be clarified - Query reference no: NTC-P1-
[Expected Performance] / 000484
In OnsiteCommunicationRegister
Wertaufholungsbedarf To be clarified - Query reference no: NTC-P1-
[Reinstatement of original 000485
values] In OnsiteCommunicationRegister
Leistung [Service] CONTRACT_SERVICE.CONTRACT_SERVICE_ID

Modell[Model] CONTRACT_SERVICE.CONTRACT_SERVICE_ID

Art der Leistung [Type Of LEISTUNG_TYP. NAME


Service]
Seit/Vertrag Nr. [Agreement_No] VERTRAG.VERTRAG_ID
Mgmt [Management] ENTGELT .ERTRAG_BETRAG
Perf [Performance] ENTGELT .ERTRAG_BETRAG
Benchm [Benchmark] ENTGELT .ERTRAG_BETRAG
Tx Pausch [Transaction Partial ENTGELT .ERTRAG_BETRAG
Lump Sums]
Tx Pr [Transaction Price] ENTGELT .ERTRAG_BETRAG
Aufw [Expense] ENTGELT .ERTRAG_BETRAG
Join
VERTRAG_LEISTUNG. VERTRAG _ID= VERTRAG_DEPOT. VERTRAG _ID
VERTRAG_LEISTUNG_DEF. VERTRAG_LEISTUNG _ID= VERTRAG_DEPOT. VERTRAG_LEISTUNG _ID
LEISTUNG_TYP. LEISTUNG_TYP_ID= LEISTUNG_DEF. LEISTUNG_TYP_ID
VERTRAG_LEISTUNG_DEF. LEISTUNG_DEF_ID= LEISTUNG_DEF. LEISTUNG_DEF_ID
VERTRAG_LEISTUNG_DEF. VERTRAG_LEISTUNG_ID= VERTRAG_LEISTUNG. VERTRAG_LEISTUNG_ID

1.10.5.5Tracebility Matrix
Sl.No Type Reference ID Description

Vertraulich Seite 48 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1 Use case U-RM-003 Edit Agreement for Simulation


2 Page Description U-RM-003 Edit Agreement for Simulation

1.10.5.6Additional / specifical Technical information


N/A

Vertraulich Seite 49 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.6Set up simulation agreement


NSL user has the rights to set up the new simulation agreement for an existing client
as well as for expected client. Setting up an new simulation agreement is same as
setting up an agreement in Agreement Management System. An agreement is
created with the status as “simulation”.

Vertraulich Seite 50 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.6.1Static Design

<<control>> PwmPbViewComposite
(from common) ViewComposite
XBeamServlet
(from control )
(from control ler)
deactivateUpdate()
User service() activateUpdate() <<Interface>>
getController() isUpdating()
(from Use Case Vi ew) MatrixModel
forward() deactivateInitialization() (from matrix)
activateInitialization()
XBeamAction isInitializing()
(from acti on) getSize()
update()
getUnfilteredSize()
<<instantiate>> getMatrixRow()
setFilter()
setComparator()
SetupSimulatedAgreementGenViewBean filterChanged()
XBeamPage (from view) comparatorChanged()
(from control ler) fireFilterChanged()
getMatrixSelection()
PwmPbAction
(from common)
<<realize>>
getModel() SetupSimulatedAgreementViewBean
getGlobalViewBean() PwmPbPage (from view) AbstractMatrixModel
getXBeamPage() (from common) <<control>> (from m atrix)

XBeamController
(from control ler) <<uses>> AbstractMatrixModel()
setFilterArray()
getAction() fireFilterChanged()
SetUpSimulatedAgreementGenAction OverviewAgreementMatrixModel
prepareAction() getMatrixSelection()
(from acti on) (from acti on)
doService()

BusinessModel
(from model )
sessionId : java.lang.String
DefaultSetUpSimulatedAgreementAction
(from acti on) <<invoke>> BusinessModel()
PwmPbModel init()
(from common)
destroy()
reset()
<<uses>>
toDebug()
AgreementBusinessProcess <<create>> getPermissions()
(from m odel) SetUpSimulatedAgreementAction setSessionId()
(from acti on) getSesssionId()
overviewAgreement() addMessage()
createAgreement() addMessage()
editAgreement() getMessageStack()
<<delegate>>
displayAgreement() getLastException()
cloneAgreement() AgreementBusinessModel setLastException()
approveAgreement() (from m odel)
activateAgreement() <<uses>>
terminateAgreement()
deleteAgreement()
displayAgreementHistory() <<uses>> PwmPbRootBusinessProcess
overviewAgreementVersion() (from common)
activateAgreementVersion()
editHardRestrictions()
discardWorkingCopy()
createWorkingCopy() PwmPbBusinessProcess
<<uses>> (from common)
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount() AgreementVO
enterAccount() (from vo) <<realize>>
importSimulatedAgreement()
<<Interface>> BusinessProcessGroup
copyAsAgreementSimulation()
BusinessProcess (from busi ness)
<<uses>> (from busi ness) <<realize>>
<<entity>>
AgreementDAO
(from dao) <<uses>>

overviewAgreement()
createAgreement()
editAgreement()
displayAgreement()
cloneAgreement()
approveAgreement()
activateAgreement()
terminateAgreement() <<uses>>
deleteAgreement()
displayAgreementHistory() DatabaseService
overviewAgreementVersion() (from service)
activateAgreementVersion()
editHardRestrictions()
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement()
copyAsAgreementSimulation()

Vertraulich Seite 51 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.6.2Screen specifications

Please refer the screen controls details in the contract management design
document – Usecase reference: Editing an Agreement(U-VM-004)

1.10.6.2.1Tab sheet 1 Controls:


Refer “ U-VM-003 - Setting up an Agreement“ in Agreement management system.

1.10.6.2.2 Tab sheet 2 – Vertragsdaten


Refer “ U-VM-003 - Setting up an Agreement“ in Agreement management system.

1.10.6.2.3Screen options
Refer “ U-VM-003 - Setting up an Agreement“ in Agreement management system.

1.10.6.2.4Messages/Confirmations
Refer “ U-VM-003 - Setting up an Agreement“ in Agreement management system.

Vertraulich Seite 52 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.6.3Behavioral Design

: SetUpSimulatedAgreementAction : SetUpAgreementViewBean PwmPbModel : AgreementBusinessProcess


: User : XBeamServlet : XBeamController : AgreementDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess
An agreement is
created with the
status as
getAgreementBusinessProcess() "simulation".
createAgreement( )
createAgreement( )

AgreementVO
AgreementVO

ActionResult
Forwards to XBeamPage

The Setup Agreement for Simulation functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• SetUpSimulatedAgreementAction gets the BusinessModel i.e PwmPbModel
using getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getAgreementBusinessProcess () method.
• AgreementBusinessProcess invokes the createAgreement() for creating the
simulated agreement.
• The createAgreement (AgreementVO) in the BusinessProcess class will
instantiate the AgreementDAO and invokes the createAgreement
(AgreementVO) for creating the simulated agreement.
• The valueobject AgreementVO sent to SetUpSimulatedAgreementAction class.

1.10.6.4Persistance design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 53 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Fil / Kd.Nr[Branch PARTNER. FILIALNUMMER/ PARTNER


Number/Client Number] PARTNER. KUNDENNUMMER DEPOT
Vertrag[Contract] VERTRAG.VERTRAG_NUMMER ADRESSE_ANSCHRIFT
Vom VERTRAG.GUELTIG_AB KUNDENSEGMENT
TGF bis[TGF to] PARTNER.TGFKZ BETREUER
Name[Client Contract] PARTNER.NAME
StraBe[Street] ADRESSE_ANSCHRIFT .Strasse
PLZ, Ort[Pin Code/Place] ADRESSE_ANSCHRIFT. Postleitzahl/
ADRESSE_ANSCHRIFT.Ortsbezeichnung
Geb./Grd Datum[Date of
PARTNER. GEBURTSTAG
Birth]
GBM[Business Division
PARTNER.GBM
Feature]
BBS[Sector/Prfessional Group
PARTNER.BBS
Key]
Kundensegment[Client
KUNDENSEGMENT.NAME
Segment]
KEYC[KeyC] Query to be clarified Refer NTC-P1-
000473 in Technical Query Register
Ziel Gruppe[Target Group] Query to be clarified Refer NTC-P1-
000473 in Technical Query Register
Betreuer[Supervisor] BETREUER. NAME
Status Query to be clarified Refer NTC-P1-
000473 in Technical Query Register
Status DEPOT.STATUS
Status GATTUNGSLISTE.STATUS
Vorhanden LEISTUNG_DEF.STATUS
Join
VERTRAG_DEPOT. DEPOT_ID = DEPOT.DEPOT_ID
AND PARTNER. PARTNER_ID = PARTNER_ADRESSE. PARTNER_ID

1.10.6.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-008 Set up new Simulation Agreement
2 Page Description N/A N/A

1.10.6.6Additional / specifical Technical information


N/A

Vertraulich Seite 54 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.7Import simulation agreement


The user obtains a list of simulation agreements by entering the agreement number
and name of the prospective client displayed in the simulation agreement. The user
selects an agreement. During the import process the simulation agreement is
imported as an agreement in progress into the list of agreements of the
client/custody account. The agreement produced in the simulation receives the
status “Vertrag in Bearbeitung” [“Agreement in progress”].

Vertraulich Seite 55 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.7.1Static Design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common)
XBeamServlet
(from controll er)
deactivateUpdate()
activateUpdate()
User service()
isUpdating()
getController()
(from Use Case View)
XBeamPage deactivateInitialization()
forward()
(from controll er) activateInitialization()
XBeamAction isInitializing()
(from acti on) update() OverviewSimulatedAgreementGenViewBean
(from view)
<<instantiate>>

PwmPbAction <<Interface>>
(from common) PwmPbPage
(from common) MatrixModel
OverviewSimulatedAgreementViewBean (from m atrix)
getModel() (from view)

getGlobalViewBean() getSize()
getXBeamPage() getUnfilteredSize()
<<realize>>
AbstractMatrixModel getMatrixRow()
(from m atrix) setFilter()
<<control>> setComparator()
XBeamController <<uses>> AbstractMatrixModel() filterChanged()
(from controller) setFilterArray() comparatorChanged()
OverviewSimulatedAgreementGenAction fireFilterChanged() fireFilterChanged()
(from action) getAction() getMatrixSelection() getMatrixSelection()
prepareAction()
doService()
OverviewAgreementMatrixModel
(from acti on)
BusinessModel
DefaultOverviewSimulatedAgreementAction (from model)
(from action)
sessionId : java.lang.String

BusinessModel()
PwmPbModel
(from common)
init()
AgreementBusinessProcess destroy()
(from model) reset()
<<uses>> toDebug()
overviewAgreement() getPermissions()
createAgreement() OverviewSimulatedAgreementAction setSessionId()
(from acti on) <<create>> getSesssionId()
editAgreement()
displayAgreement() addMessage()
cloneAgreement() addMessage()
approveAgreement() <<delegate>> AgreementBusinessModel getMessageStack()
activateAgreement() (from m odel) getLastException()
<<uses>> setLastException()
terminateAgreement()
deleteAgreement()
displayAgreementHistory()
overviewAgreementVersion() <<uses>>
activateAgreementVersion() PwmPbRootBusinessProcess
editHardRestrictions() (from common)
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount() <<uses>> PwmPbBusinessProcess
(from common)
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement() AgreementVO <<realize>>
copyAsAgreementSimulation() (from vo)

<<Interface>>
<<uses>> BusinessProcessGroup
BusinessProcess
(from business)
(from busi ness)
<<realize>>
<<entity>>
AgreementDAO
(from dao)
<<uses>>
overviewAgreement()
createAgreement()
editAgreement()
displayAgreement()
cloneAgreement()
approveAgreement()
activateAgreement() <<uses>>
terminateAgreement()
DatabaseService
deleteAgreement()
(from service)
displayAgreementHistory()
overviewAgreementVersion()
activateAgreementVersion()
editHardRestrictions()
discardWorkingCopy()
createWorkingCopy()
adoptWorkingCopy()
assignCustodyAccount()
assignAccount()
enterCustodyAccount()
enterAccount()
importSimulatedAgreement()
copyAsAgreementSimulation()

1.10.7.2Screen specifications
Please refer section: 4.2.3.2

Vertraulich Seite 56 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.7.2.1 Messages/Confirmations
Message ID Description Context Type
BUS-INF-DE-1002 No simulation agreements No simulation agreement Information
present exists for the user. Message
BUS-ERR-DE-1003 Selected agreement is “in An agreement exists for Error Message
progress” status the custody account with
“in Bearbeitung” [“in
progress”] status.
The agreement status
does not change.
BUS - Business SYS - System SEC - Security EXT - External
ERR - Error DLG - Dialog INF - Information

1.10.7.3Behavioral Design

: OverviewSimulatedAgreementAction : PwmPbModel : AgreementBusinessProcess


: User : XBeamServlet : XBeamController : AgreementDAO
OverviewSimulatedAgreementViewBean
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getAgreementBusinessProcess()
importSimulatedAgreement( ) Imports the
importSimulatedAgreement( ) simulated agreement

AgreementVO
AgreementVO

ActionResult
Forwards to XBeamPage

The Import Agreement for Simulation functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• OverviewSimulatedAgreementAction gets the BusinessModel i.e PwmPbModel
using getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getAgreementBusinessProcess () method.

Vertraulich Seite 57 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• AgreementBusinessProcess invokes the importSimulatedAgreement () for


importing the simulated agreement.
• The importSimulatedAgreement (AgreementVO) in the BusinessProcess class
will instantiate the AgreementDAO and invokes the
importSimulatedAgreement (AgreementVO) for importing the simulated
agreement.
• The valueobject AgreementVO sent to OverviewSimulatedAgreementAction
class.

1.10.7.4Persistance design
Please refer section: 4.2.3.4

1.10.7.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-009 Import simulation agreement
2 Page Description N/A N/A

1.10.7.6Additional / specifical Technical information


N/A

Vertraulich Seite 58 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.8Running the Simulation


NSL user defines the attributes that control the generation of report. The NSL system
displays the report or generates it in the download area, according to the filtering
fields.

Vertraulich Seite 59 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.8.1Static Design

<<control>> PwmPbViewComposite
XBeamServlet (from common)
ViewComposite
(from controll er) (from control)
deactivateUpdate()
User service() activateUpdate()
getController() isUpdating() <<Interface>>
(from Use Case View) deactivateInitialization()
forward() MatrixModel
activateInitialization() (from m atrix)
XBeamAction isInitializing()
(from action)
update()
getSize()
getUnfilteredSize()
<<instantiate>>
getMatrixRow()
setFilter()
RunSimulationGenViewBean setComparator()
XBeamPage (from view) filterChanged()
(from controller) comparatorChanged()
fireFilterChanged()
PwmPbAction getMatrixSelection()
(from common)

getModel() RunSimulationViewBean <<realize>>


getGlobalViewBean() PwmPbPage (from view)
getXBeamPage() (from common) <<control>>
XBeamController AbstractMatrixModel
(from controll er) (from m atrix)
<<uses>>

getAction() AbstractMatrixModel()
RunSimulationGenAction OverviewAgreementMatrixModel
prepareAction() setFilterArray()
(from acti on) (from action)
doService() fireFilterChanged()
getMatrixSelection()

PwmPbModel
(from common)
BusinessModel
(from model)
DefaultRunSimulationAction
<<invoke>> sessionId : java.lang.String
(from action)

<<uses>> <<create>>
BusinessModel()
init()
destroy()
reset()
RunSimulationAction toDebug()
(from acti on)
getPermissions()
setSessionId()
HistoricOverviewBusinessProcess
getSesssionId()
(from m odel)
<<delegate>> addMessage()
HistoricOverviewBusinessModel addMessage()
getHistoricOverview() (from m odel) getMessageStack()
getHistoricOverviewWithData() getLastException()
getReportHistoricOverview() setLastException()
getReportHistoricOverviewWithData() <<uses>>
calculateAssetValue() <<uses>>
calculateFeeAmount()
PwmPbRootBusinessProcess
calculateTotalActualPercent()
(from common)
calculateTotalNormPercent()
calculateNormDiscrepancyPercent()
calculateFeeInPercent()
calculateFeeInEuro() PwmPbBusinessProcess
calculateTotalAmountPercent() (from common)
calculateTotalNormEuro()
calculateNormDiscrepancyEuro() <<uses>>
calculateMarginOnTotalAssessment()
HistoricOverviewVO
calculateProportionalTotal() <<realize>>
(from vo)
calculateTotalTransaction()
calculateTotalTurnOver() <<Interface>> BusinessProcessGroup
calculateAssetValuePercent() BusinessProcess (from busi ness)

calculateYieldPercent() (from busi ness) <<realize>>


calculateYieldOnTransactionPrice()
calculateTotalTransactionPrice()
calculateTransactionAssessmentPercent()
recalculateFee()
recalculateSecuritiesTransaction()
recalculateEffectOnYieldBonus() <<uses>>

<<uses>>

<<entity>>
HistoricOverviewDAO <<uses>>
(from dao) DatabaseService
(from service)
getHistoricOverview()
getReportHistoricOverview()
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 60 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.8.2Running the Simulation – screen specification

1.10.8.2.1 Tab Sheet 1 – Partner


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Filial/kd-Nr. Number/N 3/7 Y Y None PARTNER.FILI
[Branch/ Client umber ALNUMMER/
Number]/NumberC PARTNER.KUN
ontrol DENNUMMER
Name[Name] / Varchar 40 Y Y None PARTNER.NAM
StringControl E
GBM [GBM]/ Number 2 Y Y None
NumberControl PARTNER.GBM
BBS [BBS]/ Number 4 Y Y None
NumberControl PARTNER.BBS
WpHG Anlage / Decimal 1 Y Y None PARTNER.
NumberControl WPHG_AZ
Risiko / Decimal 1 Y Y None PARTNER.
NumberControl WPHG_RK
Strasse [Street]/ Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT.
Strasse
Kundensegm[Clien Number 1 Y Y None KUNDENSEGM
t Segment]/ ENT.NAME
APT / StringControl To be clarified
- Query
- - Y Y None reference no:
NTC-P1-
000463 in

Vertraulich Seite 61 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

OnsiteCommu
nicationRegist
er
Ort[Address] / Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT.Orts
bezeichnung
Betreuer[Superviso Integer N/A Y Y None BETREUER.
r] / ListBox BETREUER_ID
TGF bis[TGF_From] Date N/A Y Y None PARTNER.TGF
KZ
Geb/Grddatum Date N/A Y Y None PARTNER.GEB
[Date of Birth] URTSTAG
Vertrag[Agreement Integer N/A Y Y None VERTRAG_DEP
] / NumberControl OT_ACCOUNT.
VERTRAG_ID
Vom[From] Date N/A Y Y None VERTRAG.GUE
LTIG_AB
Depot [Custody Integer N/A Y Y None DEPOT.DEPOT
Account] / _ID

1.10.8.2.2 Tab Sheet 2 – Simulation


Controls:
UI( Field Type Lengt Requir Read- Business Table /
label/Control ) h ed only Validations / Field(s)
Additional
Information
Bericht N/A N/A Y N Yes N/A
anzeigen[Generat
Report] /
CheckBox
Statistikdaten N/A N/A Y N Yes N/A
anzeigen
[StatisticalData
Report] /Checkbox
Format / N/A N/A Y N Yes N/A
ComboBox
Darstellungsform N/A N/A Y N Yes N/A
[Report Form] /
ComboBox

1.10.8.2.3 Screen options


Option / Control Label Purpose Action Details
Abbruch/Button Abbruch[Cancel] Cancel the process If the user clicks Neu
button, System will
navigates from
Running the simulation
Screen (Running the
simulation-U-RM-
010/P-RM-007)) to
Agreement overview
simulation Screen
(Agreement
overview simulation
-U-RM-003/ P-RM-
003)

Ubermehmen/Butto Ubermehmen[Accept] Generate Report If the user clicks


n Report button, System
will generate and
download the report in
the downloaded area
and display the same
page (Running the

Vertraulich Seite 62 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

simulation-U-RM-
010/ P-RM-007))

1.10.8.2.4Messages/Confirmations
Message ID Description Context Type
BUS-INF-DE-1003 No records found. The selection page is Information
displayed again with a
note on the number of
empty results returned.
BUS - Business SYS - System SEC - Security EXT - External
ERR - Error DLG - Dialog INF - Information

Vertraulich Seite 63 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.10.8.3Behavioral design

: RunSimulationAction : RunSimulationViewBean PwmPbModel : HistoricOverviewBusinessProcess


: User : XBeamServlet : XBeamController : HistoricOverviewDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getHistoricOverviewBusinessProcess()
runSimulation()
runSimulation( )

HistoricOverviewVO

calculateAssetValue( )

calculateFeeAmount( )

calculateTotalActualPercent( )

calculateTotalNormPercent( )

calculateNormDiscrepancyPercent( )

calculateFeeInPercent( )

calculateFeeInEuro( )

calculateTotalAmountPercent( )

calculateTotalNormEuro( )

calculateNormDiscrepancyEuro( )

calculateMarginOnTotalAssessment( )

calculateProportionalTotal( )

calculateTotalTransaction( )

calculateTotalTurnOver( )

calculateAssetValuePercent( )

calculateYieldPercent( )

calculateYieldOnTransactionPrice( )

calculateTotalTransactionPrice( )

calculateTransactionAssessmentPercent( )

recalculateFee( )

recalculateSecuritiesTransaction( )

recalculateEffectOnYieldBonus( )

HistoricOverviewVO

ActionResult
Forwards to XBeamPage

The Running Simulation functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.

Vertraulich Seite 64 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• RunSimulationAction gets the BusinessModel i.e PwmPbModel using


getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementBusinessProcess process
instance using the getHistoricOverviewBusinessProcess () method.
• HistoricOverviewBusinessProcess invokes the runSimulation() for running the
simulated agreement.
• The runSimulation (HistoricOverviewVO) in the BusinessProcess class will
instantiate the AgreementDAO and invokes the runSimulation
(HistoricOverviewVO) for running the simulated agreement.
• Then the businessprocess calculates all the required values.
• The consolidated valueobject HistoricOverviewVO sent to RunSimulationAction
class.

1.10.8.4Persistence design
Page level Attributes Attributes effected Tables effected
Branch/ Client Number PARTNER.FILIALNUMMER/ FILIALKUNDE
PARTNER.KUNDENNUMMER PARTNER
Name PARTNER.NAME ADRESSE_ANSCHRIFT
GBM PARTNER.GBM VERTRAG_DEPOT
BBS PARTNER.BBS VERTRAG
WpHG Anlage PARTNER. WPHG_AZ DEPOT
Risiko PARTNER. WPHG_RK
Street ADRESSE_ANSCHRIFT. Strasse
Address ADRESSE_ANSCHRIFT.Ortsbezeichnung
Agreement VERTRAG_DEPOT_ACCOUNT.VERTRAG_ID
From VERTRAG.GUELTIG_AB
Custody Account DEPOT.DEPOT_ID
Join
FILIALKUNDE. FILIALKUNDE _ID = PARTNER. FILIALKUNDE _ID
ADRESSE_ANSCHRIFT . PARTNER_ID = PARTNER.PARTNER_ID
FILIALKUNDE. FILIALKUNDE _ID = DEPOT. FILIALKUNDE _ID
DEPOT. DEPOT _ID= VERTRAG_ DEPOT. DEPOT _ID.
VERTRAG_ DEPOT.VERTRAG_ID= VERTRAG. VERTRAG _ID

1.10.8.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-010 Running the Simulation
2 Page Description N/A N/A

1.10.8.6Additional / specifical Technical information


N/A

Vertraulich Seite 65 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11Scenario analysis - Historical overview(actual)

1.11.1Business Description
The scenario analysis compares, at various levels of detail, the actual yields of an
asset management account with the norm yields.Here two types of reports are
generated, Historical overview with statistical data and Historical overview without
statistical data. NSL user select an agreement form Agreement overview simulation.
For selected agreement he generate the Historical overview report for comparision.

1.11.2List of Usecases
Functionality Actions Description
Historic overview – actual
Historic overview without statistical Generate the Historical overview
data[(U-RM-005)Historical overview, report for comparision of current
actual] year performance with previous
year performance, without
showing the statistical data
Historic overview with statistical data Generate the Historical overview
[(U-RM-005)Historical overview, actual] report for comparision of current
year performance with previous
year performance, with showing
the statistical data

Vertraulich Seite 66 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.3Historic overview without statistical data


NSL user selects an agreement and defines the attributes, Report Display Form and
With Statisctical Data, that control the generation of report. This function generate
the report without specifing the statistical data. He also specify the format, csv/Excel
and PDF or display the report directly.

1.11.3.1Static Design

PwmPbViewComposite ViewComposite
<<control>> (from control )
(from common)
XBeamServlet
(from controller)
deactivateUpdate()
activateUpdate()
User service()
isUpdating()
getController()
(from Use Case Vi ew)
XBeamPage deactivateInitialization()
forward()
(from control ler) activateInitialization()
XBeamAction isInitializing()
(from action) update() HistoricOverviewGenViewBean
(from view)
<<instantiate>>

PwmPbAction <<Interface>>
(from common) PwmPbPage
(from common) MatrixModel
HistoricOverviewViewBean (from matrix)
getModel() (from view)

getGlobalViewBean() getSize()
getXBeamPage() getUnfilteredSize()
<<realize>>
AbstractMatrixModel getMatrixRow()
(from matrix) setFilter()
<<control>> setComparator()
XBeamController <<uses>> AbstractMatrixModel() filterChanged()
(from control ler) setFilterArray() comparatorChanged()
HistoricOverviewGenAction fireFilterChanged() fireFilterChanged()
(from acti on) getAction() getMatrixSelection() getMatrixSelection()
prepareAction()
doService()
HistoricOverviewMatrixModel
(from model)
BusinessModel
(from model )
DefaultHistoricOverviewAction sessionId : java.lang.String
(from acti on)

PwmPbModel BusinessModel()
(from common)
init()
destroy()
reset()
<<uses>> toDebug()
getPermissions()
HistoricOverviewAction setSessionId()
(from acti on) <<create>> getSesssionId()
addMessage()
HistoricOverviewBusinessProcess addMessage()
(from model) getMessageStack()
<<delegate>> HistoricOverviewBusinessModel
(from model) getLastException()
getHistoricOverview() setLastException()
getHistoricOverviewWithData()
getReportHistoricOverview()
getReportHistoricOverviewWithData() <<uses>>
calculateAssetValue() <<uses>>
PwmPbRootBusinessProcess
calculateFeeAmount()
(from common)
calculateTotalActualPercent()
calculateTotalNormPercent()
calculateNormDiscrepancyPercent()
calculateFeeInPercent() PwmPbBusinessProcess
calculateFeeInEuro() (from common)
calculateTotalAmountPercent()
calculateTotalNormEuro() <<uses>>
calculateNormDiscrepancyEuro() HistoricOverviewVO <<realize>>
calculateMarginOnTotalAssessment() (from vo)
calculateProportionalTotal()
calculateTotalTransaction() <<Interface>>
BusinessProcessGroup
calculateTotalTurnOver() BusinessProcess
(from business)
calculateAssetValuePercent() (from business)
<<realize>>
calculateYieldPercent()
<<uses>>
calculateYieldOnTransactionPrice()
calculateTotalTransactionPrice()
calculateTransactionAssessmentPercent()
<<uses>>
recalculateFee()
<<entity>>
recalculateSecuritiesTransaction() DatabaseService
HistoricOverviewDAO <<uses>>
recalculateEffectOnYieldBonus() (from dao)
(from service)

getHistoricOverview()
getReportHistoricOverview()
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 67 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.3.2Screen specifications

Bericht anzeigen Format Keine Darstellungsform Quartal

Statistikdaten anzeigen

Ist-Betrachtung Q1 Q2 Q3 Q4 2003 Q1 Q2 Q3 Q4 2004*


Vermögenswert 1100000 1050000 1105000 1200000 1113750 1250000 1240500
Marge auf Vermögenswert (annualisiert)
Managemententgelt 0,72% 0,72% 0,72% 0,72% 0,72% 0,72% 0,72%
Performanceentgelte 0,43% 0,67%
Performancevergütung 0,43% 0,67%
Benchmarkvergütung
Transaktionsentgelte 0,80% 1,00% 0,91% 0,92% 1,23% 1,08% 1,09%
Transaktionsteilpauschale 0,40% 0,43% 0,60% 0,61%
Transaktionspreis 0,59% 0,69% 0,55% 0,06% 0,46%
Erträge aus Nutzenrechnung 0,21% 0,31% 0,36% 0,46% 0,34% 0,48% 0,48%
Aufwandsentgelt
Gesamt Ist 1,53% 1,72% 1,64% 1,65% 2,38% 1,80% 2,48%
Gesamt Norm 1,47% 1,49% 1,47% 1,45% 1,47% 1,44% 1,44%
Abweichung 0,05% 0,23% 0,17% 0,20% 0,91% 0,36% 1,04%

Ist-Erträge in €
Managemententgelt 1990 1880 2000 2170 8040 2238 8952
Performanceentgelte 4780 8252
Performancevergütung 4780 8252
Benchmarkvergütung
Transaktionsentgelte 2207 2625 2525 2766 10123 3385 13540
Transaktionsteilpauschale 1195 1195 1890 7560
Transaktionspreis 1624 1802 1528 183 5137
Erträge aus Nutzenrechnung 583 823 997 1388 3791 1495 5980
Aufwandsentgelt
Gesamt Ist 4197 4505 4525 4936 22943 5623 30744
Gesamt Norm 4050 3900 4065 4350 16365 4500 17886
Abweichung 147 605 460 586 6578 1123 12858
*) Jahresendschätzung auf Basis YTD; Performance auf Basis aktueller Bewertung

1.11.3.2.1Tab Sheet 1 – Vertrag


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Vertrag Integer N/A Y Y None VERTRAG_DEP
OT.VERTRAG_I
D
Name[Name] / Varchar 40 Y Y None PARTNER.NAM
StringControl E
GBM [GBM]/ Number 2 Y Y None
NumberControl PARTNER.GBM
BBS [BBS]/ Number 4 Y Y None
NumberControl PARTNER.BBS
Status Char 1 Y Y None VERTRAG_STA
TUS.NAME
StraBe [Street]/ Varchar 35 Y Y None ADRESSE_AN
StringControl SCHRIFT.
Strasse
Kundensegm[Clien Number 1 Y Y None KUNDENSEGM
t Segment]/ ENT.NAME
Depot Integer N/A Y Y None VERTRAG_DEP
OT.DEPOT_ID

Vertraulich Seite 68 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

PLZ Ort[Address] / Varchar 35 Y Y None ADRESSE_AN


StringControl SCHRIFT.Orts
bezeichnung
Betreuer[Superviso Integer N/A Y Y None BETREUER.
r] / ListBox BETREUER_ID
Leistung[Service] Date N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID

1.11.3.2.2Tab Sheet 2
Controls:
UI( Field Type Length Required Read- Business Description
label/Control ) only Validations /
Additional
Information
Bericht N/A N/A Y N Yes Specify whether to
anzeigen[Generat generate the report
Report] / or not
CheckBox
Statistikdaten N/A N/A Y N Yes Check box to
anzeigen determine whether
[StatisticalData statistical data should
Report] /Checkbox also be displayed.
Default is none
Format / N/A N/A Y N Yes Select format for DL
ComboBox area.Default is none.
Darstellungsform N/A N/A Y N Yes Select Display
[Report Form] / form(per quarter,
ComboBox month/last 4 weeks).
Default is quarterly

1.11.3.2.3Screen options
Option / Control Label Purpose Action Details
Abbruch/Button Abbruch[Cancel] Cancel the process N/A
Ubermehmen/Button Ubermehmen[Accept] Generate Report If the user clicks
accept button, System
will generate and
download the report in
the downloaded area
and display the same
page (Historic
overview without
statistical data -U-
RM-005/P-RM-006))

Zuruck/Button Zuruck[Back] Forward to perious page N/A

Vertraulich Seite 69 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.3.3Behavioral Design

: HistoricOverviewAction : HistoricOverviewViewBean PwmPbModel : HistoricOverviewBusinessProcess


: User : XBeamServlet : XBeamController : HistoricOverviewDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

Gets the historic


getHistoricOverviewBusinessProcess() overview without
getHistoricOverview( ) statistical data
getHistoricOverview( )

HistoricOverviewVO

calculateAssetValue( )

calculateFeeAmount( )

calculateTotalActualPercent( )

calculateTotalNormPercent( )

calculateNormDiscrepancyPercent( )

calculateFeeInPercent( )

calculateFeeInEuro( )

calculateTotalActualPercent( )

calculateTotalNormEuro( )

calculateNormDiscrepancyEuro( )

HistoricOverviewVO

ActionResult
Forwards to XBeamPage

The Historic overview without statistical data functionality


follows the below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• HistoricOverviewAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the HistoricOverviewBusinessProcess
process instance using the getHistoricOverviewBusinessProcess () method.
• HistoricOverviewBusinessProcess invokes the getHistoricOverview() for
getting the historic overview without statistical data.
• The getHistoricOverview (HistoricOverviewVO) in the BusinessProcess class
will instantiate the HistoricOverviewDAO and invokes the

Vertraulich Seite 70 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

getHistoricOverview(HistoricOverviewVO) for getting the historic overview


without statistical data.
• Then the businessprocess calculates all the required values.
• The consolidated valueobject HistoricOverviewVO sent to
HistoricOverviewAction class.

1.11.3.4Persistance design
Please refer section 5.1.3.8

1.11.3.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-005 Historical overview, actual
2 Page Description P-RM-006 N/A

1.11.3.6Additional / specifical Technical information


N/A

Vertraulich Seite 71 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.4Historic overview with statistical data


NSL user selects an agreement and defines the attributes, Report Display Form and
With Statisctical Data, that control the generation of report. This function generate
the report with specifing the statistical data. He also specify the format, csv/Excel
and PDF or display the report directly.

1.11.4.1Static Design

PwmPbViewComposite
<<control>>
(from common) ViewComposite
XBeamServlet
(from control)
(from controll er)
deactivateUpdate()
activateUpdate()
User service()
isUpdating()
getController()
(from Use Case View)
XBeamPage deactivateInitialization()
forward()
(from controller) activateInitialization()
XBeamAction isInitializing()
(from acti on) update()
HistoricOverviewGenViewBean
(from view)
<<instantiate>>

PwmPbAction <<Interface>>
(from common) PwmPbPage
(from common) MatrixModel
HistoricOverviewViewBean (from matrix)
getModel() (from view)

getGlobalViewBean() getSize()
getXBeamPage() <<realize>> getUnfilteredSize()
AbstractMatrixModel getMatrixRow()
(from matrix) setFilter()
<<control>> setComparator()
XBeamController <<uses>> AbstractMatrixModel() filterChanged()
(from controller) setFilterArray() comparatorChanged()
fireFilterChanged() fireFilterChanged()
HistoricOverviewGenAction getAction() getMatrixSelection() getMatrixSelection()
(from acti on)
prepareAction()
doService()
HistoricOverviewMatrixModel
(from model)
BusinessModel
(from model )

DefaultHistoricOverviewAction sessionId : java.lang.String


(from action)
BusinessModel()
PwmPbModel
(from common)
init()
destroy()
reset()
<<uses>> toDebug()
getPermissions()
HistoricOverviewAction setSessionId()
(from acti on) <<create>> getSesssionId()
HistoricOverviewBusinessProcess
(from model) addMessage()
addMessage()
getHistoricOverview() <<delegate>> HistoricOverviewBusinessModel getMessageStack()
getHistoricOverviewWithData() (from model) getLastException()
getReportHistoricOverview() setLastException()
getReportHistoricOverviewWithData()
calculateAssetValue() <<uses>>
calculateFeeAmount() <<uses>>
calculateTotalActualPercent() PwmPbRootBusinessProcess
calculateTotalNormPercent() (from common)
calculateNormDiscrepancyPercent()
calculateFeeInPercent()
calculateFeeInEuro()
calculateTotalAmountPercent() PwmPbBusinessProcess
(from common)
calculateTotalNormEuro()
calculateNormDiscrepancyEuro() <<uses>>
calculateMarginOnTotalAssessment()
HistoricOverviewVO
calculateProportionalTotal() (from vo)
calculateTotalTransaction() <<realize>>
calculateTotalTurnOver()
<<Interface>>
calculateAssetValuePercent() BusinessProcessGroup
BusinessProcess
calculateYieldPercent() <<uses>> (from business)
(from business)
calculateYieldOnTransactionPrice() <<uses>> <<realize>>
calculateTotalTransactionPrice()
calculateTransactionAssessmentPercent()
recalculateFee()
<<entity>>
recalculateSecuritiesTransaction() <<uses>>
HistoricOverviewDAO DatabaseService
recalculateEffectOnYieldBonus() (from dao) (from service)

getHistoricOverview()
getReportHistoricOverview()
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 72 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.4.2Screen specifications

1.11.4.2.1Tab Sheet
Please refer section 4.3.3.2.1

Vertraulich Seite 73 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.11.4.3Behavioral Design

: HistoricOverviewAction : HistoricOverviewViewBean PwmPbModel : HistoricOverviewBusinessProcess


: User : XBeamServlet : XBeamController : HistoricOverviewDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getHistoricOverviewBusinessProcess()
Gets the historic
getHistoricOverviewWithData( )
overview with
getHistoricOverviewWithData( ) statistical data

HistoricOverviewVO

calculateMarginOnTotalAssessment( )

calculateProportionalTotal( )

calculateTotalTransaction( )

calculateTotalTurnOver( )

calculateAssetValuePercent( )

calculateYieldPercent( )

calculateYieldOnTransactionPrice( )

calculateTotalTransactionPrice( )

calculateTransactionAssessmentPercent( )

HistoricOverviewVO

ActionResult
Forwards to XBeamPage

The Historical overview with statistical data functionality follows the


below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• HistoricOverviewAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the HistoricOverviewBusinessProcess
process instance using the getHistoricOverviewBusinessProcess () method.
• HistoricOverviewBusinessProcess invokes the getHistoricOverviewWithData()
for getting the historic overview with statistical data.
• The getHistoricOverviewWithData (HistoricOverviewVO) in the
BusinessProcess class will instantiate the HistoricOverviewDAO and invokes

Vertraulich Seite 74 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

the getHistoricOverviewWithData(HistoricOverviewVO) for getting the historic


overview with statistical data.
• Then the businessprocess calculates all the required values.
• The consolidated valueobject HistoricOverviewVO sent to
HistoricOverviewAction class.

1.11.4.4Persistance design
Please refer section 5.1.4.8

1.11.4.5Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-005 Historical overview, actual
2 Page Description P-RM-006 N/A

1.11.4.6Additional / specifical Technical information


N/A

Vertraulich Seite 75 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.12Administration

1.12.1Business Description
NSL supports a function for incorporating data on other external yields into the data
records. This is done by the administrators of the NSL system. This use case deals in
depth with this external transaction of details into the NSL database.

1.12.2List of Usecases
Functionality Actions Description
Administration
Uploading of yield data Uploading of external data
(U-RM-022) (yields) into the NSL
system.

1.12.3Uploading of yield data Overview


Via a generic format, for reporting as part of the front-end reporting the NSL will
support a function for incorporating data on other external yields into the data
records.
Via the NSL front-end the user is able to identify a local file on his workstation
computer and to incorporate it into the data records to import the data.State
Diagram

Vertraulich Seite 76 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.12.3.1Static design

<<control>> PwmPbViewComposite
XBeamServlet UploadYiledGenViewBean (from controlller)
(from controller) (from view)

update()
User
service() isInitializing()
(from Use Case View) getController() activateInitialization()
forward() deactivateInitialization()
XBeamAction XBeamPage doPost() isUpdating()
(from acti on) (from controller)
activateUpdate()
deactivateUpdate()
performAction() <<instantiate>> UploadYieldViewBean
getPage() (from view)
validate() <<control>>
setBusinessModel() XBeamController
getActionName() PwmPbPage (from controller) ViewComposite
(from controll ler)
setPageStack() (from control)
getPageStack() getAction()
getLogger() prepareAction() <<invoke>>
getMessage() doService() UploadYieldAction
(from acti on)
ActionResult()

getFileDate()
validateFileData()
PwmPbAction DefaultUploadYiedAction performAction()
(from controll ler) (from acti on) BusinessModel
(from model )
getModel() sessionId : java.lang.String
getGlobalViewBean()
getXBeamPage() BusinessModel()
init()
destroy()
<<delegate>> reset()
toDebug()
getPermissions()
setSessionId()
UploadYieldGenAction UploadYieldBusinessProcess UploadYiledBusinessModel getSesssionId()
(from m odel)
<<uses>>
(from acti on) (from model) addMessage()
addMessage()
insertFileData() getMessageStack()
getLastException()
<<uses>> setLastException()
<<uses>>
<<uses>>
UploadYieldVO <<create>>
(from vo)
custodyAccountNumber : Integer
<<uses>>
startDate : Date
endDate : Date
PwmPbModel
cutoffDate : Date
(from controll ler)
yield : Double
vat : int
UploadYieldDAO <<uses>> vatAmount : Double
(from dao) feeType : String
assessmentBasis
insertFileData() bankServiceSector
acNumber : int
PwmPbBusinessProcess
(from controll ler)

<<uses>> PwmPbRootBusinessProcess
(from controlller)

<<realize>>

DatabaseService
(from service)
<<Interface>> BusinessProcessGroup
BusinessProcess (from busi ness)
(from busi ness)
<<realize>>
reset()
isSoftReferenced()
init()

Vertraulich Seite 77 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.12.3.2Generic Upload of External Yields – screen specification

1.12.3.2.1Tabsheet
Controls:
UI( Field Type Length Required Read- Business
label/Control ) only Validations
/ Table / Field(s)
Additional
Informatio
n
Etrag Datum Varchar 255 Y N Please Select
File/Upload a file Type of NA
control CSV

1.12.3.2.2Screen options
Option / Control Label Purpose Action Details
Grasen Browse Upload the external yield When user clicks the
Sie[Browse]/Button data into the Nsl system browse button, system
uploads the yield data
in the form of csv file
to the NSL database.

1.12.3.2.3 Messages/Confirmations
Message ID Description Context Type
BUS-INF-0501 Wählen Sie bitte eine CSV- Please Select a file Type Information
Akte of CSV
[Please select a CSV file.]
BUS-INF-0502 Erfolgreich Antriebskraft You have sucessfully Information
[Successfully uploaded] uploaded the CSV file
BUS – Business SYS – System SEC – Security EXT – External
ERR – Error DLG – Dialog INF - Information

Vertraulich Seite 78 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.12.3.3Format of the file csv


File format of generic external yields
Format of the file CSV, separator `,` (comma). No previous record, no subsequent
record. Line separator `\n` (Newline, LF).

The following table defines the file’s record structure and the reproduction in the
NSL.

All amounts are in the system currency (EUR).


No Field content NSL NSL attribute Specification
entity
1 Custody account ERTRAG DEPOTNUMMER Custody account
number (12 digit) (/YIELD/) (/CUSTODY ACCOUNT number with custody
(branch, custody NUMBER/) sub-account
account, sub-account)
FILIALNUMMER (/BRANCH Branch number
NUMBER]
2 Start date of the period ERTRAG PERIODE_BEGINN Start of billing period
for which the yield (/YIELD/) (/PERIOD_START/) if period-related,
applies. 8 digit, otherwise blank
YYYYMMDD
3 End date of the period ERTRAG PERIODE_ENDE End of billing period if
for which the yield (/YIELD/) (/PERIOD_END/) period-related,
applies. 8 digit, otherwise blank
YYYYMMDD
4 Date cut-off date, 8 ERTRAG PERIODE_STICHTAG Cut-off date on which
digit, YYYYMMDD (/YIELD/) (/PERIOD_CUT-OFF yield accrued, if cut-
DATE/) off date-related
5 Yield, NUM(13.2) ERTRAG, ERTRAG_BETRAG Yield/OTC
NUTZEN (/YIELD_AMOUNT/)
(/YIELD, NETTO_NUTZEN_BETRAG
OTC/) (/NET_OTC_AMOUNT/)
6 Value-added tax rate ERTRAG MWST_SATZ Value-added tax rate
NUM(2) (/YIELD/) (/VAT_RATE/)
7 Value-added tax ERTRAG MWST_BETRAG Value-added tax
amount NUM(13.2) (/YIELD/) (/VAT_AMOUNT/) amount
8 Fee type ERTRAG Reference to a fee type BE = Benchmark Fee
(/YIELD/) defined in the NSL AW = Expense Fee
PE = Performance Fee
MN = Management
Fee
TS = Transaction
Lump Sum Fee
TX = Transaction Price
Fee
9 Assessment basis NUTZEN AUSMACHENDER_BETRA Informational:
(/OTC/) G (/ACTUAL_AMOUNT/) Depending on the
calculation form: key
volume, number of
days or number of
events (e.g.
transactions) the fee
calculation was made
for.

10 Banking services sector Implicitly results from the For future use.
relation of the yields to Currently, all yields in
the contract’s the NSL are assigned
account/custody account to the bank service
division
“Wertpapierdienstleist
ungen” [“Securities

Vertraulich Seite 79 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Services”/).

11 Fee type NUTZEN LEISTUNG_NAME For future use.


(/OTC/) (/SERVICE_NAME/)
12 A/C number (12 digit) NUTZEN ERTRAG_KONTO For future use, for
(branch, custody (/OTC/) (/YIELD_ACCOUNT/) account-related
account, sub-account) yields.

The Technical Fields of ERTRAG Erstellt (Datum) [YIELD created (date)], Erstellt_von
(User-ID) [Created_by (user ID)] are filled during the import with a time stamp and
the user ID of the user implementing the import.

1.12.3.4Behavioral Design

: UploadYieldAction : UploadYieldViewBean : PwmPbModel : UploadYieldBusinessProcess


: User : XBeamServlet : XBeamController : UploadYieldDAO

service( )
getController( )

doService( HttpServletRequest,HttpServletResponse)
update( )

getAct ion( )

prepareAction( )

performAction( ViewBean)
getModel()
getRootBusinessProcess()

PwmPbBusinessProcess

getFileDate( )

validateFileData( )

getUploadYieldBusinessProcess

insertFileData( )

insertFileData( )

ActionResult
UploadYiledVO
UploadYiledVO

XBeamPage
Forward to

The overview of Uploading of yield data follows the below sequence :


• Please refer section 3.1 for the action sequence from user to BusinessProcess.

• UploadYiledAction invokes getFileDate() and validateFileData() and then sets


to the UploadYieldVO.
• UploadYieldBusinessProcess invokes the insertData().
• The insertData(UploadYieldVO) will instantiate the UploadYieldDAO and
invokes the insertData (UploadYieldVO).This is set to the UploadYieldVO and
UploadYieldVO (VO) is returned.
• The insertData (UploadYieldVO) returns the UploadYieldVO to the
UploadYieldAction.

Vertraulich Seite 80 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• In performAction, the upload status (success or failure) sets to the viewbean


and the ActionResult is returned to the XbeamController.
• XbeamController returns the XbeamPage to the XbeamServlet
• The XbeamServlet invokes the forward() method and forward the reponse to
the Browser.
• Browser displays the reponse to the user.

1.12.3.5Persistance design
Attributes effected Tables
effected
EP176T EP175T EP177T EP176T
EP176T.EXT_ERTRAG_ID EP175T.EXT_ERTRAG_ID EP177T.EXT_ERTRAG_ID EP175T
EP176T.ENTGELT_TYP_ID EP175T.ENTGELT_TYP_ID EP177T.DEPOT_ID EP177T
EP176T.STATUS EP175T.STATUS EP177T.VERSIONNUMMER
EP176T.PERIODE_STICHTAG EP175T.BANKLEISTU_BERE_ID EP177T.ERSTELLT
EP176T.PERIODE_BEGINN EP175T.NETTO_NUTZEN_BETRA EP177T.ERSTELLT_VON
EP176T.PERIODE_ENDE EP175T.AUSMACHENDER_BETRA
EP176T.STICHTAG3 EP175T.LEISTUNG_NAME
EP176T.ERTRAG_BETRAG EP175T.VERSIONNUMMER
EP176T.MWST_SATZ EP175T.ERSTELLT
EP176T.MWST_BETRAG EP175T.ERSTELLT_VON
EP176T.VERSIONNUMMER
EP176T.ERSTELLT
EP176T.ERSTELLT_VON
Join
EP176T.EXT_ERTRAG_ID=EP175T.EXT_ERTRAG_ID
EP175T.EXT_ERTRAG_ID=EP177T.EXT_ERTRAG_ID

1.12.3.6Traceability Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-022 Uploading of yield data
2 Page Description P-RM-022 Uploading of yield data

1.12.3.7Additional & special requirements


N/A

Vertraulich Seite 81 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

5 Reports

1.13Historical overview

1.13.1Business description
The scenario analysis compares, at various levels of detail, the actual yields of an asset
management account with the norm yields.Here two types of reports are generated, Historical
overview with statistical data and Historical overview without statistical data. NSL user select an
agreement form Agreement overview simulation. For selected agreement he generate the
Historical overview report for comparision

1.13.2List of usecases
Functionality Actions Description
Historic overview
Historic overview without statistical data – Actual Generate the report with
(U-RM-005) comparision of current
and previous years
without statistical data
Historic overview with statistical data – Actual Generate the report with
(U-RM-005) comparision of current
and previous years with
statistical data
Running the Simulation Generate the simulation
(U-RM-005) report to recalculate the
report values.

1.13.3Historic overview without statistical data – Actual


NSL user selects an agreement and defines the attributes, Report Display Form and
With Statisctical Data, that control the generation of report. This function generate
the report without specifing the statistical data. He also specify the format, csv/Excel
and PDF or display the report directly.

1.13.3.1Input Filters
Please refer section 4.3.3.2.1 & 4.3.3.2.2

1.13.3.2screen specification
Please refer section 4.3.3.2

1.13.3.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.

Vertraulich Seite 82 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

PDF CSV EXCEL

HistoricalOverview_ HistoryOverview_wit HistoricalOverview_


without_stat.pdf hout_stat.csv without_stat.xls

1.13.3.4Processing
1. Entered search criteria is validated.
2. Entered attributes Format, Report Form and Without statistical for
Report generation and display format.
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XLST-PDF XSLT-CSV

HistoricalOverview_ HistoricalOverview_
without_statXSLT.xslt without_stat_csv.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 83 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.3.5Static design

<<control>> PwmPbViewComposite AbstractMatrixModel


ViewComposite
(from common) (from m atrix)
XBeamServlet (from control)
(from controller)
User deactivateUpdate() AbstractMatrixModel()
service() activateUpdate() setFilterArray()
(from Use Case View)
getController() isUpdating() fireFilterChanged()
forward() deactivateInitialization() getMatrixSelection()
activateInitialization()
XBeamAction <<realize>>
isInitializing()
(from acti on)
update()

<<instantiate>>
HistoricOverviewMatrixModel <<Interface>>
HistoricOverviewGenViewBean (from model) MatrixModel
PwmPbAction (from view) (from matrix)
(from common) XBeamPage
(from controller)
<<uses>> getSize()
getModel() getUnfilteredSize()
getGlobalViewBean() ConfigurationManager getMatrixRow()
getXBeamPage() HistoricOverviewViewBean (from confmanager) setFilter()
(from view)
-cm setComparator()
ReportServiceError filterChanged()
PwmPbPage (from rptservice) comparatorChanged()
(from common) <<control>> fireFilterChanged()
XBeamController getMatrixSelection()
ConfigurationService ReportServiceError()
(from controller)
(from service) <<uses>>

HistoricOverviewGenAction getAction() ReportServiceConstant


prepareAction() ConfigurationService()
(from acti on) (from rptservice)
doService() getProperties()
getConfigurationManager() ReportManager <<uses>>
refresh() (from rptservice)

DefaultHistoricOverviewAction instance() ReportsUtility


(from acti on) <<uses>> (from rptservice)
ReportManager()
<<invoke>> generateReport()
printPDF() ReportsUtility()
printCSV() BusinessModel saveStringAsFile()
<<uses>> <<uses>> printXLS() (from model) getFileAsString()
sessionId : java.lang.String

<<uses>> PwmPbModel BusinessModel()


HistoricOverviewAction (from common) init()
(from acti on)
destroy()
reset()
HistoricOverviewBusinessProcess toDebug()
(from model) getPermissions()
setSessionId()
getHistoricOverview() <<delegate>> <<create>> getSesssionId()
addMessage()
getHistoricOverviewWithData()
getReportHistoricOverview() addMessage()
getReportHistoricOverviewWithData() getMessageStack()
calculateAssetValue() getLastException()
HistoricOverviewBusinessModel setLastException()
calculateFeeAmount()
(from model)
calculateTotalActualPercent()
calculateTotalNormPercent() <<uses>>
calculateNormDiscrepancyPercent()
calculateFeeInPercent() <<uses>> BusinessProcessGroup
PwmPbRootBusinessProcess (from business)
calculateFeeInEuro() (from common)
calculateTotalAmountPercent()
calculateTotalNormEuro()
<<uses>> PwmPbBusinessProcess
calculateNormDiscrepancyEuro()
(from common)
calculateMarginOnTotalAssessment() HistoricOverviewVO
<<realize>> <<realize>>
calculateProportionalTotal() (from vo)
calculateTotalTransaction()
calculateTotalTurnOver()
calculateAssetValuePercent() <<uses>>
<<Interface>>
calculateYieldPercent() <<uses>> <<entity>> BusinessProcess
calculateYieldOnTransactionPrice() HistoricOverviewDAO <<uses>> (from business)
calculateTotalTransactionPrice() (from dao)
DatabaseService
calculateTransactionAssessmentPercent() (from service)
recalculateFee()
getHistoricOverview()
recalculateSecuritiesTransaction()
getReportHistoricOverview()
recalculateEffectOnYieldBonus()
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 84 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.3.6Behavioral design

XBeamServlet : XBeamController : : : : : : HoFeeHelper : : :


: user
XBeamServlet XBeamController HistoricalOverviewAction HistoricalOverviewViewBean PwmPbModel HistoricalOverviewBusinessProcess StatisticalHistoricalOverviewBusinessProcess HistoricalOverviewVO HistoricalOverviewDAO

doService(HttpServletRequest, HttpServletResponse)

getController( )
update(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)

getAction( )

prepareAction( )

performAction( )
getModel( )

Zurück
[Back]

ActionResult
XBeamPage
Forwards to

Report

getValues(int, int, boolean)


getValuesFromDAO(int, int)

getConnection( )

getAllValuesForPeriod(javax.jms.Connection, java.util.Date, java.util.Date)

getCustodyBreakupFees(javax.jms.Connection, com.db.pwmpb.app.vo.reports. ReportsVO, boolean)


FeeList
FeeListCollection
renderForMatrix(int, com.db.pwmpb.app.vo.reports.HOStatisticsColumnVO[])

getManagementFeeRows(com.db.pwmpb.app.vo.reports.HOCommonVO, String)

The Historical Overview without Statistical Data – Actual follows the


below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• HistoricOverviewAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the HistoricOverviewBusinessProcess
process instance using the getHistoricOverviewBusinessProcess() method.
• HistoricOverviewBusinessProcess invokes the getHistoricOverview() for
getting the historic overview without statistical data.
• The getHistoricOverview (HistoricOverviewVO) in the BusinessProcess class
will instantiate the HistoricOverviewDAO and invokes the getHistoricOverview
(HistoricOverviewVO) for getting historic overview without statistical data.
• Then the businessprocess calculates the required values and fill it in the VO.
• Consolidated valueobject HistoricOverviewVO sent to HistoricOverviewAction
class for report generation.
• HistoricOverviewAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.13.3.7Output
 This report gives historical overview of a contract without any statistical
data. This report is mainly generated to compare the current year
performance with previous year performance on the basis of Norm Yield

Vertraulich Seite 85 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

value. Before generating the report user want to specify the Format,
Report form and data (with/without statistical data).

 The report output contains two sections of information as Header and


Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Contract id,
contract start date, GBM, BBS, service, consultant name and the client
personal details.
 The details section contains information on fees and yield details for
both current and previous years. On the basis of format selected it
shows monthly or quarterly basis reports for both years.
 Refer section 5.1.3.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer section
5.1.3.3 for details on formats.

1.13.3.8Persistence design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 86 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Fil/Kd.Nr. NA [ carried from previous screen ] EP006V


Name NA [ carried from previous screen ] EP233T
GBM NA [ carried from previous screen ] EP159T
BBS NA [ carried from previous screen ] EP096T
Vertrag NA [ carried from previous screen ] EP018T
vom NA [ carried from previous screen ] EP042T
Straße NA [ carried from previous screen ] EP019T
Kundensegment NA [ carried from previous screen ] EP015T
EP145T
KEYC NA [ carried from previous screen ]
EP123T
Status NA [ carried from previous screen ]
PLZ,Ort NA [ carried from previous screen ]
Zielgruppe NA [ carried from previous screen ]
TGF bis NA [ carried from previous screen ]
Depot NA [ carried from previous screen ]
Betreuer NA [ carried from previous screen ]
Darstellungsform NA
Statistikdaten Anzeigen NA
Vermögenswert EP006V.ASSET_VALUE
Managemententgelt NA[percentage calculation]
Performanceentgelte NA[percentage calculation]
Performancevergütung NA[percentage calculation]
Benchmarkvergütung NA[percentage calculation]
Transaktionsentgelte NA[percentage calculation]
Transaktionsteilpauschale NA[percentage calculation]
Transaktionspreis NA[percentage calculation]
Erträge aus Nutzenrechnung NA [calculated]
Aufwandsentgelt NA[percentage calculation]
Gesamt Ist NA[Calculated]
Gesamt Norm NA[Calculated]
Abweichung NA[Calculated]
Ist-Erträge in € NA[Calculated]

Managemententgelt EP233T.AMOUNT
Performanceentgelte EP233T.AMOUNT
Performancevergütung EP233T.AMOUNT
Benchmarkvergütung EP233T.AMOUNT
Transaktionsentgelte EP233T.AMOUNT
Transaktionsteilpauschale EP233T.AMOUNT
Transaktionspreis EP233T.AMOUNT
Erträge aus Nutzenrechnung NA[Calculated]
Aufwandsentgelt EP015T.AUFWAND
Gesamt Ist NA[Calculated]
Gesamt Norm NA[Calculated]
Abweichung NA[Calculated]
Joins
EP159T.PEV_GRUPPE_ID = EP096T.PEV_GRUPPE_ID
EP108T.PREIS_PEV_ID = EP042T.PREIS_PEV_ID
EP108T.BERECHNUN_BASIS_ID = EP019T.BERECHNUN_BASIS_ID
EP018T.BMG_TYP_ID = EP019T.BMG_TYP_ID

1.13.3.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-005 Historical overview, actual
2 Page Description P-RM-006 N/A

Vertraulich Seite 87 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.3.10Additional / specifical Technical information


N/A

1.13.4Historic overview with statistical data - Actual

1.13.4.1Input Filters
Please refer section 5.1.3.1

1.13.4.2screen specification
Please refer section 4.3.4.2

1.13.4.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

HistoricalOverview_ HistoryOverview_Wit
With_Stat.pdf h_Stat.csv HistoricOverview_wit
h_stat.xls

Vertraulich Seite 88 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.4.4Processing
1. Entered search criteria is validated.
2. Entered attributes Format, Report Form and With statistical for
Report generation and display format.
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the configured area.
Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

HistoricalOverview_ HistoryOverview_wit
with_statxslt.xslt h_stat_csv.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 89 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.4.5Static design

<<control>> PwmPbViewComposite AbstractMatrixModel


ViewComposite
(from common) (from matrix)
XBeamServlet (from control)
(from controller)
User deactivateUpdate() AbstractMatrixModel()
service() activateUpdate() setFilterArray()
(from Use Case View)
getController() isUpdating() fireFilterChanged()
forward() deactivateInitialization() getMatrixSelection()
activateInitialization()
XBeamAction <<realize>>
isInitializing()
(from acti on)
update()

<<instantiate>>
HistoricOverviewMatrixModel <<Interface>>
HistoricOverviewGenViewBean (from model) MatrixModel
PwmPbAction (from view) (from matrix)
(from common) XBeamPage
(from controller)
<<uses>> getSize()
getModel() getUnfilteredSize()
getGlobalViewBean() ConfigurationManager getMatrixRow()
getXBeamPage() HistoricOverviewViewBean (from confmanager) setFilter()
(from view) setComparator()
-cm
ReportServiceError filterChanged()
PwmPbPage (from rptservice) comparatorChanged()
(from common) <<control>> fireFilterChanged()
XBeamController getMatrixSelection()
ConfigurationService ReportServiceError()
(from controller)
(from service) <<uses>>

HistoricOverviewGenAction getAction() ReportServiceConstant


prepareAction() ConfigurationService()
(from acti on) (from rptservice)
doService() getProperties()
getConfigurationManager() ReportManager <<uses>>
refresh() (from rptservice)

instance() ReportsUtility
HistoricOverviewBusinessProcess ReportManager() <<uses>> (from rptservice)

DefaultHistoricOverviewAction
(from m odel) <<invoke>> generateReport()
(from acti on) printPDF() ReportsUtility()
getHistoricOverview() BusinessModel
printCSV() saveStringAsFile()
<<uses>> (from model)
printXLS() getFileAsString()
getHistoricOverviewWithData() <<uses>>
getReportHistoricOverview() sessionId : java.lang.String
getReportHistoricOverviewWithData()
calculateAssetValue() <<uses>> PwmPbModel BusinessModel()
HistoricOverviewAction init()
calculateFeeAmount() (from common)
(from acti on)
calculateTotalActualPercent() destroy()
calculateTotalNormPercent() reset()
calculateNormDiscrepancyPercent() toDebug()
calculateFeeInPercent() <<delegate>> getPermissions()
calculateFeeInEuro() setSessionId()
calculateTotalAmountPercent() <<create>> getSesssionId()
calculateTotalNormEuro() addMessage()
calculateNormDiscrepancyEuro() <<uses>> addMessage()
calculateMarginOnTotalAssessment() getMessageStack()
calculateProportionalTotal() getLastException()
calculateTotalTransaction() HistoricOverviewBusinessModel setLastException()
calculateTotalTurnOver() (from model)

calculateAssetValuePercent()
calculateYieldPercent()
calculateYieldOnTransactionPrice() <<uses>>
PwmPbRootBusinessProcess
calculateTotalTransactionPrice()
<<uses>> (from common)
calculateTransactionAssessmentPercent()
recalculateFee()
recalculateSecuritiesTransaction() PwmPbBusinessProcess
(from common)
recalculateEffectOnYieldBonus() HistoricOverviewVO
(from vo)

<<uses>> BusinessProcessGroup
<<uses>> <<realize>>
(from business)

<<entity>>
HistoricOverviewDAO <<realize>>
(from dao) <<Interface>>
<<uses>> BusinessProcess
getHistoricOverview() (from business)
getReportHistoricOverview() DatabaseService
(from service)
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 90 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.4.6Behavioral design

: HistoricOverviewAction : HistoricOverviewViewBean PwmPbModel : HistoricOverviewBusinessProcess


: User : XBeamServlet : XBeamController : HistoricOverviewDAO
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getHistoricOverviewBusinessProcess()
Gets the historic
getHistoricOverviewWit hData( )
overview with
getHistoricOverviewWithData( ) statistical data

HistoricOverviewVO

calculateMarginOnTotalAssessment( )

calculateProportionalTotal( )

calculateTotalTransaction( )

calculateTotalTurnOver( )

calculateAssetValuePercent( )

calculateYieldPercent( )

calculateYieldOnTransactionPrice( )

calculateTotalTransactionPrice( )

calculateTransactionAssessmentPercent( )

HistoricOverviewVO

ActionResult
Forwards to XBeamPage

The Historical Overview with Statistical Data – Actual follows the below
sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• HistoricOverviewAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the HistoricOverviewBusinessProcess
process instance using the getHistoricOverviewBusinessProcess() method.
• HistoricOverviewBusinessProcess invokes the getHistoricOverviewWithData()
for getting the historic overview with statistical data.
• The getHistoricOverviewWithData(HistoricOverviewVO) in the BusinessProcess
class will instantiate the HistoricOverviewDAO and invokes the
getHistoricOverviewWithData (HistoricOverviewVO) for getting historic
overview with statistical data.
• Then the businessprocess calculates the required values and fill it in the VO.
• Consolidated valueobject HistoricOverviewVO sent to HistoricOverviewAction
class for report generation.
• HistoricOverviewAction inturn invokes buildXMLString method to create
xmldataholder string.

Vertraulich Seite 91 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.13.4.7Output
 This report gives historical overview of a contract with statistical data.
This report is mainly generated to compare the current year
performance with previous year performance on the basis of Norm Yield
value. Before generating the report user want to specify the Format,
Report form and data (with statistical data).

 The report output contains two sections of information as Header and


Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Contract id,
contract start date, GBM, BBS, service, consultant name and the client
personal details.
 The details section contains information on fees and yield details for
both current and previous years. On the basis of format selected it
shows monthly or quarterly basis reports for both years.
 Refer section 5.1.4.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer section
5.1.4.3 for details on formats.

1.13.4.8Persistence design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 92 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Fil/Kd.Nr. NA [ carried from previous screen ] EP006V


Name NA [ carried from previous screen ] EP233T
GBM NA [ carried from previous screen ] EP159T
BBS NA [ carried from previous screen ] EP096T
Vertrag NA [ carried from previous screen ] EP018T
vom NA [ carried from previous screen ] EP042T
Straße NA [ carried from previous screen ] EP019T
Kundensegment NA [ carried from previous screen ] EP015T
EP145T
KEYC NA [ carried from previous screen ]
EP123T
Status NA [ carried from previous screen ]
PLZ,Ort NA [ carried from previous screen ]
Zielgruppe NA [ carried from previous screen ]
TGF bis NA [ carried from previous screen ]
Depot NA [ carried from previous screen ]
Betreuer NA [ carried from previous screen ]
Darstellungsform NA
Statistikdaten Anzeigen NA
Vermögenswert Gesamt EP006V.ASSET_VALUE
Managemententgelt NA
Bemessungsbetrag EP006V.ASSET_VALUE(depends on
(assessment amount) class exclusion principle)
Ertrag in €(yield in €) EP233T.AMOUNT
Marge auf Bemessungsbetrag( NA[Calculated]
margin on assessment amt)
Marge auf Vermögenswert NA[Calculated]
Gesamt(margin on total asset
value)
Anteil am NA[Calculated]
Gesamtertrag(proportion of
total yield)
Bemessungsbetrag EP006V.ASSET_VALUE(depends on
(assessment amount) class exclusion principle)
Ertrag in €(yield in €) EP233T.AMOUNT
Marge auf Bemessungsbetrag( NA[Calculated]
margin on assessment amt)
Marge auf Vermögenswert NA[Calculated]
Gesamt(margin on total asset
value)
Anteil am NA[Calculated]
Gesamtertrag(proportion of
total yield)
Transaktionsentgelte NA
Gesamt NA
Gesamtzahl Depends on number of records in
Transaktionen(Total number of EP123T and EP145T
transactions
Gesamtsumme Umsatz(Total NA[Calculated]
turnover)
Ertrag in €(yield in €) EP233T.AMOUNT
Marge auf Vermögenswert NA[Calculated]
Gesamt(Margin on total asset
value)
Anzahl der Depends on number of records in
Transaktionen(Number of EP123T and EP145T
transactions)
Transaktionsteilpauschale NA
Anzahl der Depends on number of records in
Transaktionen(Number of EP123T and EP145T
transactions)
Bemessungsbetrag EP006V.ASSET_VALUE(depends on
(assessment amount) class exclusion principle)
Ertrag in €(yield in €) EP233T.AMOUNT
Marge auf Bemessungsbetrag( EP006V.ASSET_VALUE(depends on
margin on assessment amt) class exclusion principle)
Marge auf Vermögenswert NA[Calculated]

Vertraulich Seite 93 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Joins

EP159T.PEV_GRUPPE_ID = EP096T.PEV_GRUPPE_ID
EP108T.PREIS_PEV_ID = EP042T.PREIS_PEV_ID
EP108T.BERECHNUN_BASIS_ID = EP019T.BERECHNUN_BASIS_ID
EP018T.BMG_TYP_ID = EP019T.BMG_TYP_ID

1.13.4.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-005 Historical overview, actual
2 Page Description P-RM-006 N/A

1.13.4.10Additional / specifical Technical information


N/A

1.13.5Running the Simulation

1.13.5.1Input Filters
Please refer section 4.2.8.2.1 & 4.2.8.2.2

1.13.5.2screen specification
Please refer section 4.2.8.2

1.13.5.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run
PDF CSV Excel

Need clarification from DB. Need clarification from DB. Need clarification from DB.
Please refer 445 – Functional Please refer 445 – Functional Please refer 445 – Functional
Query Query Query

1.13.5.4Processing
1. Entered search criteria is validated.
2. Entered attributes Format, Report Form and Without statistical for
Report generation and display format.
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section

Vertraulich Seite 94 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XLST-PDF XSLT-CSV

Need clarification from DB. Need clarification from DB.


Please refer 445 – Functional Please refer 445 – Functional
Query Query

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

1.13.5.5Output
 This report gives simulated data for the given contract. The NSL system
displays the report or generates it in the download area, according to
the filtering fields. Before generating the report user want to specify the
Format, Report form and data (with/without statistical data).
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section. Please refer section 4.2.8.2.1 &
4.2.8.2.2 for filters
 The details section contains information on all details such as fees and
yield details for both current and previous years. This report also include
simulated agreement detail as well as comparison between actual and
simulated values. On the basis of format selected it shows monthly or
quarterly basis reports for both years.
 Refer section 5.1.5.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.5.3 for details on formats.

Vertraulich Seite 95 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.5.6Static design

<<control>> PwmPbViewComposite
XBeamServlet (from common)
ViewComposite
(from controll er) (from control)
deactivateUpdate()
User service() activateUpdate()
getController() isUpdating() <<Interface>>
(from Use Case View)
forward() deactivateInitialization() MatrixModel
activateInitialization() (from matrix)
XBeamAction isInitializing()
(from action)
<<instantiate>> update()
getSize()
getUnfilteredSize()
getMatrixRow()
setFilter()
RunSimulationGenViewBean setComparator()
XBeamPage (from view) filterChanged()
(from controller) comparatorChanged()
<<control>> fireFilterChanged()
PwmPbAction getMatrixSelection()
XBeamController
(from common)
(from controller)

getModel() RunSimulationViewBean <<realize>>


getAction()
getGlobalViewBean() PwmPbPage (from view)
prepareAction()
getXBeamPage() (from common) doService()
AbstractMatrixModel
(from matrix)
<<uses>>
AbstractMatrixModel()
RunSimulationGenAction OverviewAgreementMatrixModel setFilterArray()
(from action) (from action)
fireFilterChanged()
getMatrixSelection()

<<invoke>> PwmPbModel ConfigurationManager


(from common) (from confmanager)
-cm
ConfigurationService
DefaultRunSimulationAction (from service)
(from acti on)

<<uses>> ConfigurationService() ReportServiceError


<<create>> getProperties() (from rptservice)
<<uses>> getConfigurationManager()
refresh()
<<uses>> ReportServiceError()
RunSimulationAction
(from acti on) ReportManager
ReportServiceConstant
<<uses>> (from rptservice)
<<uses>> (from rptservi ce)
HistoricOverviewBusinessProcess
(from model)
<<delegate>> instance()
ReportManager()
getHistoricOverview() generateReport()
getHistoricOverviewWithData() printPDF() <<uses>>
getReportHistoricOverview() ReportsUtility
printCSV()
(from rptservi ce)
getReportHistoricOverviewWithData() printXLS()
calculateAssetValue() HistoricOverviewBusinessModel
(from model) ReportsUtility()
calculateFeeAmount()
PwmPbRootBusinessProcess saveStringAsFile()
calculateTotalActualPercent() <<uses>> (from common)
calculateTotalNormPercent() getFileAsString()
calculateNormDiscrepancyPercent() <<uses>>
calculateFeeInPercent()
calculateFeeInEuro() BusinessModel
(from model)
calculateTotalAmountPercent()
calculateTotalNormEuro() sessionId : java.lang.String
PwmPbBusinessProcess
calculateNormDiscrepancyEuro() <<uses>> (from common)
calculateMarginOnTotalAssessment() BusinessModel()
HistoricOverviewVO init()
calculateProportionalTotal() (from vo)
calculateTotalTransaction() destroy()
calculateTotalTurnOver() reset()
<<realize>>
calculateAssetValuePercent() toDebug()
calculateYieldPercent() getPermissions()
<<Interface>> BusinessProcessGroup
calculateYieldOnTransactionPrice() setSessionId()
BusinessProcess (from busi ness)
getSesssionId()
calculateTotalTransactionPrice() <<realize>>
<<uses>> (from busi ness) addMessage()
calculateTransactionAssessmentPercent()
recalculateFee() addMessage()
<<uses>>
recalculateSecuritiesTransaction() getMessageStack()
recalculateEffectOnYieldBonus() getLastException()
setLastException()
<<entity>>
HistoricOverviewDAO
(from dao) <<uses>>
DatabaseService
getHistoricOverview() (from service)
getReportHistoricOverview()
getReportHistoricOverviewWithData()
getHistoricOverviewWithData()
runSimulation()

Vertraulich Seite 96 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.13.5.7Behavioral design

The Running the Simulation functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• HistoricOverviewAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the HistoricOverviewBusinessProcess
process instance using the getHistoricOverviewBusinessProcess() method.
• HistoricOverviewBusinessProcess invokes the runSimulation() for running the
simulation.
• The runSimulation (HistoricOverviewVO) in the BusinessProcess class will
instantiate the HistoricOverviewDAO and invokes the runSimulation
(HistoricOverviewVO) for running the simulation.

Vertraulich Seite 97 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• Then the businessprocess calculates the required values and fill it in the VO.
• Consolidated valueobject HistoricOverviewVO sent to HistoricOverviewAction
class for report generation.
• HistoricOverviewAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.13.5.8Output
 This report generate the simulated values for existing agreement in
agreement overview to find the difference between actual expected
performance without statistical data
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Contract id,
contract start date, GBM, BBS, custody account,branch number, client
number, consultant name and the client personal details.
 The details section contains information on fees and yield details for
both current and previous years. On the basis of format selected it
shows monthly or quarterly basis reports for both years.
 Refer section 5.1.5.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer section
5.1.5.3 for details on formats.

1.13.5.9Persistence design
Please refer 4.2.9.4

1.13.5.10Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-005 Historical overview, actual
2 Page Description P-RM-006 N/A

1.13.5.11Additional / specifical Technical information


N/A

Vertraulich Seite 98 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14Information List

1.14.1Business description
Information lists provide information to all clients of the NSL, some of which relates
to all custody accounts and some of which relates to individual custody accounts.
This functionality provides information on the data of the information lists, especially
tabular summaries of filter attributes and rules, origins of data fields and calculation
rules.

1.14.2List of usecases
Functionality Actions Description
Information List
Region – totaled (U-RM-011) On the basis of the region
given as input, Client
segment, Consultant,
Volume calculated, yield,
norm yield, norm/actuals
which are under this
region are displayed
Service – totaled(U-RM-012) Model, Number of
agreements under this
service, volume
calculated, all types of
fees under this service,
yield and norm yield
under the service which is
selected in filter field are
displayed
Agreement content(U-RM-013) Custody account,
service,model, yield,yield
delta and norm yield
under the agreement
which is selected in filter
field are displayed
New transaction(U-RM-014) Transaction details like,
Custody account,
service,model, yield,yield
delta and norm yield are
displayed for the
contracts which are
created with in the time
interval given in filter
fields.
Termination(U-RM-015) Transaction details like,
Custody account,
service,model, yield,yield
delta and norm yield are
displayed for the
contracts which are
terminated with in the
time interval given in
filter fields.
Client – all custody accounts(U-RM-016) All custody accounts and
their details like,
service,model,fees and
yield details under the
given client are displayed.
Client – custody sub-account yield details It shows service, model,
(U-RM-017) client margin %,yield
delta,all fees and yields

Vertraulich Seite 99 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

under the given custody-


sub account are
displayed.
Custody sub-account – transaction list(U-RM-018) It shows service,
model,volumes
actual,volumes calculated,
transaction
currency,accruals,
security,fee and debit
account details for the
given custody-sub-
account are displayed.
Custody sub-account – individual turnover It shows individual
(U-RM-019) turnover details like,
volumes actual,volumes
calculated,OTC,fee
calculated, fee billed and
fee limited for the given
custody-sub-account are
displayed.
Client – transaction details(U-RM-020) It shows the transaction
details like, nominal
amount, class, accruals,
provision, commission,
debit account,debit
amount, transaction
currency and payment
currency for the given
custody account are
displayed.
Create information list(U-RM-021) It group all the filtering
fields which are applicable
for information list.

Vertraulich Seite 100 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3Region - Totalled
This functionality is used to display the Regions, client segments, consultants,
volume, yield per annul and norm yield actual under the Country, region, cut-off-
date, client segment and agreement status specified in filter fields.

1.14.3.1Input Filters
S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] to date only Filters branch client The [Land] [Country], [Region]
/ List box DE [Region] and [Team] [Team] fields are
2 Region from country Filters branch client mutually dependent in this order, i.e.
[Country] / first [Land] [Country], then [Region]
List box [Region] and finally [Team] [Team]
3 Team [Team] from region Filters branch client must be selected; the list box will only
/ List box be completed when the parent field is
selected.

4 Stichtag [Cut not today Day of report None


Off Date] calculation
5 Norm zu Ist [ 2 input fields Delta from Calc. yield None
Norm producing an to Norm yield is in
discrepancy] / interval input interval
EditControl
6 Kundensegme N/A Filters branch client None
nt according to which
[Client particular client
Segment] / segment client
List box belongs
7 Vertragstatus aktiv, Filters agreements None
[Agreement Kündigung
Status] / List ausgesprochen
box , gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

Vertraulich Seite 101 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3.2Region totalled - screen specification

1.14.3.2.1 Tab Sheet 1 – Ubersicht


Controls:
UI( Field Type Length Required Read- Business Table /
label/Control ) only Validations / Field(s)
Additional
Information
Land [Land] / List Number 5 Y Y None NA[Deutche
box Land]
Stichtag [Cut Off Date N/A Y Y None EP144T.VORA
Date] US_GUELTIG_
AB
Norm zu Ist [ Decimal 15,3 Y Y None EP001V.REGI
Norm discrepancy] ON
/ EditControl
Region / List box EP001V.REGI
ON

- - Y Y None
Kundensegment Varchar 40 Y Y None EP071T.
[Client Segment] / KUNDENSEGM
List box ENT_ID
Team [Team] / List EP001V.TEAM
box

- - Y Y None
Vertragstatus Char 1 Y Y None EP144T.VERTR
[Agreement AG_STATUS_I
Status] / List box D

Vertraulich Seite 102 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3.2.2 Tab Sheet 2


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Region [Country] Y Y None EP001V.REGI
ON
KdnSegment Char 40 Y Y None EP071T.
[Client Segment] KUNDENSEGM
ENT_ID
Berater 1 RM. Decimal N/A Y Y None EP021T.BE_NA
[Supervisor RM] ME
Berater 1. IM. Decimal N/A Y Y None EP021T.BE_NA
[Supervisor IM] ME
Berater 1. CA Decimal N/A Y Y None EP021T.BE_NA
[Supervisor] ME
Volumen To be clarified
Rech.M€ [Volumes - Query
Calculation M€] reference no:
- - Y Y None NTC-P1-
000488 In
OnsiteCommu
nicationRegist
er
Ertrag Decimal 15,3 Y Y None EP197T.NORM
Kalk pa T€ [Yield _YD_CALCULA
Calculation T€] TED
Ertrag Norm T€ Decimal 15,3 Y Y None NORM_ERTRA
[Yield Norm T€] G.
ERTRAG_BETR
AG
Norm /Ist % Decimal 15,3 Y Y None N/A
[Norm / Actual %]
Norm /Ist T€ Decimal 15,3 Y Y None N/A
[Norm / Actual T€]

1.14.3.2.3 Screen options


Option / Control Label Purpose Action Details
Ausführen /Button Ausführen [Execute] Generates report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Region totelled -U-
RM-011/P-RM-011))
Abbruch / Button Abbruch [Cancel] Cancels the process N/A

1.14.3.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

Vertraulich Seite 103 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

RegionTotalled.pdf RegionTotalledCSV.c RegionTotalledCSV.xl


sv s

1.14.3.4Processing
1. Entered search criteria is validated.
2. Entered attributes, land, region, cut-of-date, Team, Client segment and
contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XLST-CSV

RegionTotalled.xslt RegionTotalledCSV.x
slt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 104 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3.5Static design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common) <<Interface>>
XBeamServlet
(from controller)
MatrixModel
User deactivateUpdate() (from matrix)
activateUpdate()
(from Use Case View) service()
isUpdating() getSize()
getController() RegionMatrixModel
deactivateInitialization() getUnfilteredSize()
forward() (from model)
activateInitialization() getMatrixRow()
XBeamAction isInitializing() <<uses>> setFilter()
(from action) update() setComparator()
<<realize>> filterChanged()
<<instantiate>> comparatorChanged()
RegionViewBean fireFilterChanged()
RegionGenViewBean (from view) getMatrixSelection()
PwmPbAction (from view) AbstractMatrixModel
(from common) XBeamPage (from matrix)
(from controller)
getModel()
AbstractMatrixModel()
getGlobalViewBean()
setFilterArray()
getXBeamPage()
ConfigurationManager fireFilterChanged()
(from confmanager) getMatrixSelection()

PwmPbPage -cm
(from common) <<control>>
XBeamController ReportServiceError
ReportServiceConstant
(from controller) ConfigurationService (from rptservice)
(from rptservice)
(from service)

getAction() ReportServiceError()
RegionGenAction ConfigurationService()
(from action) prepareAction()
doService() getProperties()
getConfigurationManager() <<uses>> <<uses>>
ReportsUtility
refresh() (from rptservice)

ReportManager
(from rptservice) ReportsUtility()
<<uses>> saveStringAsFile()
DefaultRegionAction <<invoke>>
instance() getFileAsString()
(from action)
<<uses>> ReportManager()
generateReport()
printPDF() BusinessModel
<<uses>> (from model)
printCSV()
RegionAction
printXLS() sessionId : java.lang.String
(from action)

<<uses>> PwmPbModel BusinessModel()


generateReport() (from common) init()
getReportInfo() destroy()
RegionBusinessProcess buildXmlString() reset()
(from model) <<delegate>> toDebug()
<<create>>
getPermissions()
calculateYieldPA() setSessionId()
RegionBusinessModel
calculateNormYieldPercent() getSesssionId()
(from model)
getAllRegions() <<uses>> addMessage()
addMessage()
getMessageStack()
<<uses>> getLastException()
<<uses>>
setLastException()
<<uses>>

PwmPbRootBusinessProcess
PwmPbBusinessProcess (from common)
(from common)
RegionVO
(from vo)
cutOffDate : Date
<<entity>> <<realize>>
actualYield : double
RegionDAO clientSegment : String
(from dao)
agreementStatus : String <<Interface>>
<<uses>> yieldAmount : double BusinessProcessGroup
BusinessProcess
getAllRegions() normYieldPercent : double (from business)
(from business)
getReportInfo() <<uses>> <<realize>>

DatabaseService
(from service)

Vertraulich Seite 105 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3.6Behavioral design

: : : : : : : : :
: user
XBeamServlet XBeamController RegiontotalledAction RegiontotalledViewBean PwmPbModel ReportsUtilBusinessProcess RegiontotalledDAO TransactionBusinessProcess TransactionDAO
doService(HttpServletRequest, HttpServletResponse)
update(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)

getRootBuisnessProcess( )

getAction( )

getController( ) getModel( ) getServices( )


prepareAction( )

ServiceList()
performAction( )

getServices( )

Abbruch
[Cancel]

ServiceList()

XBeamPage
ActionResult getRegionTotalledList(RegionTotalledVO)
Forward To

getRegionTotalledList(com.db.pwmpb.app.vo.reports.RegionTotalledVO)

ServiceList()
ServiceList()
Ausfuhren

ActionResult

XBeamPage

Forward To

The Region Totalled sequence follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• RegionAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the RegionBusinessProcess process instance
--------------------------------------------------------------------------------------
using the getRegionBusinessProcess() method.
• RegionBusinessProcessinvokes the getAllRegions() for getting all the regions.
• The getAllRegions(RegionVO) in the BusinessProcess class will instantiate the
RegionDAO and invokes the getAllRegions(RegionVO) for getting all the
regions.
• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject RegionVO sent to RegionAction class for report
generation.
• RegionAction inturn invokes buildXMlString method to create xmldataholder
string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

Vertraulich Seite 106 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.3.7Output
 This reports gives details on the Regions, client segments, consultants,
volume, yield per annul and norm yield actual for a Country, region, cut-
off-date, client segment and agreement status specified in filter fields.
 The report output contains two sections of information here from refered
as Header and Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Country,
region, cut-off-date, client segment and agreement status.
 The details section contains information on Regions, client segments,
consultants, volume, yield per annul and norm yield actual.
 Refer section 5.1.3.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.3.3 for details on formats.

1.14.3.8Persistence design
Page level Attributes Attributes effected Tables effected
Land [Country] NA[Deutche Land] EP001V
Region [Region] EP001V.REGION EP035T
Team[Team] EP001V.TEAM EP144T
Stichtag[CutOffDate] EP144T.VORAUS_GUELTIG_AB EP145T
Norm zu Ist Von[Norm from] EP197T.NORM_YIELD_PLANNED & EP049T
EP197T.NORM_YD_CALCULATED EP073T
Bis[to] EP197T.NORM_YIELD_PLANNED & EP071T
EP197T.NORM_YD_CALCULATED EP182T
Region [Region] EP001V.REGION EP179T
Kundensegment[ClientSegemnt] EP071T. KUNDENSEGMENT_ID EP181T
EP180T
Vertragstatus[AgreementStatus] EP144T.VERTRAG_STATUS_ID
EP197T
Region [Region] EP001V.REGION
EP021T
Kundensegment[ClientSegemnt] EP071T. KUNDENSEGMENT_ID
Berater1 RM [Supervisor 1 RM] EP021T.BE_NAME
Berater2 IM [Supervisor 1 IM] EP021T.BE_NAME
Berater3 CA [Supervisor 1 CA] EP021T.BE_NAME
Volume Rech M€ [Volumes calc. NA [Calculated]
M€]
ErtragKalkPaT€[Yield Calculation NA [Calculated]
Pa]
Ertrag norm[Norm Yield] EP197T.NORM_YD_CALCULATED
Norm / Actual % NA [Calculated]
Norm /Ist T€ [Norm / Actual T€] NA [Calculated]
Join
EP001V.FILIALKUNDE_ID = EP035T.FILIALKUNDE_ID
EP001V.FILIALKUNDE_ID = EP144T.FILIALKUNDE_ID
EP035T.DEPOT_ID = EP145T.DEPOT_ID
EP144T.VERTRAG_ID = EP145T.VERTRAG_ID
EP144T.VERTRAG_ID= EP197T.VERTRAG_ID
EP049T.GBM BETWEEN EP073T.GBM_VON AND EP073T.GBM_BIS AND
EP071T.KUNDENSEGMENT_ID= EP073T.KUNDENSEGMENT_ID
EP144T.FILIALKUNDE_ID = EP049T.FILIALKUNDE_ID
EP182T.ROLLE_ID= EP179T.ROLLE_ID
EP179T.VERANTWORTLICH_ID= EP181T.VERANTWORTLICH_ID
EP181T.KUNDE_VERANTWOR_ID= EP180T.KUNDE_VERANTWOR_ID
EP180T.FILIALKUNDE_ID= EP144T.FILIALKUNDE_ID
EP179t.RACFID= EP021t.RACFID

1.14.3.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-011 Region - totelled

Vertraulich Seite 107 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

2 Page Description P-RM-011 Region - totelled

1.14.3.10Additional / specifical Technical information


N/A

1.14.4Service – totelled
This functionality is used to display and generate the report grouping by services.
According to the service and model, which are all selected in filtering fields, fees and
yields related to these services are displayed.

Vertraulich Seite 108 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.4.1Input Filters
S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] / to date only DE Filters branch client The [Land] [Country], [Region]
List box [Region] and [Team] [Team] fields
2 Region from country Filters branch client are mutually dependent in this order,
[Country] / i.e. first [Land] [Country], then
List box [Region] [Region] and finally [Team]
3 Team [Team] / from region Filters branch client [Team] must be selected; the list box
List box will only be completed when the
parent field is selected.

4 Leistung N/A N/A The [Leistung] [Service] and


[Service]/List [Modell] [Model] fields are mutually
box dependent; first select the service,
5 Modell [Model] of service N/A then the appropriate model.
/ List box
6 Berater from Team Filters branch clients None
[Consultant] / who have the
List box consultant as RM, IM
or CA
7 Stichtag [Cut not today Day of report None
Off Date] calculation
8 Norm zu Ist [ 2 input fields Delta from Calc. yield None
Norm producing an to Norm yield is in
discrepancy] / interval input interval
EditControl
9 Kundensegme N/A Filters branch client None
nt according to which
[Client particular client
Segment] / segment client
List box belongs
10 Vertragstatus aktiv, Filters agreements None
[Agreement Kündigung
Status] / List ausgesprochen
box , gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

Vertraulich Seite 109 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.4.2Service totalled - screen specification

1.14.4.2.1 Tab Sheet 1 – Leistung


Controls:
UI( Field Type Length Required Read- Business Table /
label/Control ) only Validations / Field(s)
Additional
Information
Land [Land] / Number 5 Y Y None NA[Deutche
List box Land]

Region [Region] Date N/A Y Y None EP001V.REGI


/ List box ON
Team [Team] / EP001V.TEAM
Listbox

- - Y Y None
Berater Integer N/A Y Y None EP021T.BE_NA
[Consultant] / ME
List box
Leistung Integer N/A Y Y None EP074T.LEIST
[Service]/List UNG_DEF_ID
box
Modell [Model] / Integer N/A Y Y None EP074T.NAME
List box
Stichtag [Cut- Date N/A Y Y None EP144T.VORA
off-Date] US_GUELTIG_
AB
Kundensegmentl Char 40 Y Y None EP071T.
[Client segment] KUNDENSEGM

Vertraulich Seite 110 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

/ List box ENT_ID


Vertragstatus Char 1 Y Y None EP144T.VERTR
[Agreement AG_STATUS_I
status] / List box D
Norm zu Ist [ Decimal 15,3 Y Y None EP197T.NORM
Norm _YIELD_PLAN
discrepancy] / NED &
EditControl EP197T.NORM
_YD_CALCULA
TED

1.14.4.2.2 Tab Sheet 2


Controls:
UI( Field Type Leng Requir Read- Business Table /
label/Control ) th ed only Validations / Field(s)
Additional
Information
lListung [Service] Integer N/A Y Y None EP074T.NAME
Modell [Model] Integer N/A Y Y None EP074T.NAME
Anzahl [Number of Number N/A Y Y None VERTRAG_LEI
Agreements] STUNG.CONT
RACT_ID[calc
ulation]
Volumen Rech.M€ To be clarified
[Volumes - Query
Calculation M€] reference no:
- - Y Y None NTC-P1-
000488 In
OnsiteCommu
nicationRegist
er
Mngt. Entgelt T€ Decimal 15,3 Y Y None EP233T.AMOU
[Mngt. Fee T€] NT
Perf/Bench Entgelt Decimal 15,3 Y Y None EP233T.AMOU
[Perf./Bench. fee NT
T€]
Transakt. Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€ [Transaction NT
Fee T€]
Aufwand Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€ [Expense fee NT
T€]
Ertrag Kalk pa T€ Decimal 15,3 Y Y None ERTRAG
[Yield calc. pa T€] .ERTRAG_BET
RAG
Ertrag Norm T€ Decimal 15,3 Y Y None EP197T.NORM
[Norm yield T€] _YD_CALCULA
TED
Norm / Ist % Y Y None Calculated
[Norm / actual %] Field

1.14.4.2.3 Screen options


Option / Control Label Purpose Action Details
Ausführen /Button Ausführen [Execute] Generates report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Service totelled -U-
RM-012/P-RM-012))
Abbruch / Button Abbruch [Cancel] Cancels the process N/A

Vertraulich Seite 111 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.4.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

serviceTotalled.pdf serviceTotalledCSV.c serviceTotalledCSV.x


sv ls

1.14.4.4Processing
1.Entered search criteria is validated.
2. Entered attributes, land, region, cut-of-date, Team, Client
segment,service, model,client segment and contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the configured area.
Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

serviceTotalled.xslt serviceTotalledCSV.x
slt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 112 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.4.5Static design

PwmPbViewComposite
<<control>>
(from common)
XBeamServlet <<Interface>>
(from control ler) MatrixModel
User deactivateUpdate()
(from matrix)
activateUpdate()
(from Use Case Vi ew) service()
isUpdating()
getController() getSize()
deactivateInitialization()
forward() getUnfilteredSize()
activateInitialization()
XBeamAction isInitializing() ViewComposite getMatrixRow()
(from action) update() (from control ) setFilter()
setComparator()
filterChanged()
<<instantiate>>
comparatorChanged()
fireFilterChanged()
ServiceReportGenViewBean
PwmPbAction (from view)
getMatrixSelection()
(from common) XBeamPage
(from controller)
getModel() <<uses>> ServiceReportMatrixModel
getGlobalViewBean() (from model) <<realize>>
getXBeamPage() ServiceReportViewBean
(from view) AbstractMatrixModel
(from matrix)
PwmPbPage
(from common) <<control>> AbstractMatrixModel()
ConfigurationManager setFilterArray()
XBeamController
(from control ler) ConfigurationService -cm (from confmanager)
fireFilterChanged()
(from service)
getMatrixSelection()
ServiceReportGenAction getAction()
prepareAction() ConfigurationService()
(from action)
doService() getProperties() ReportManager
getConfigurationManager() (from rptservice)
refresh() <<uses>> ReportServiceError
(from rptservice)
instance()
ReportManager()
<<invoke>> ReportServiceError()
generateReport() <<uses>>
DefaultServiceReportAction
printPDF()
(from action)
printCSV()
<<uses>>
<<uses>> printXLS()
ReportServiceConstant
<<uses>> (from rptservice)
ServiceReportAction PwmPbModel
(from acti on) <<uses>> (from common)

generateReport()
getReportInfo()
ServiceReportBusinessProcess <<create>> ReportsUtility
buildXmlString()
(from model) (from rptservice)
<<delegate>>
ServiceReportBusinessModel
(from model) ReportsUtility()
calculateAgreementCount()
calculateYieldPA() <<uses>> saveStringAsFile()
calculateNormYieldPercent() getFileAsString()
getServiceReport()
<<uses>>
PwmPbRootBusinessProcess
(from common)
<<uses>> BusinessModel
<<uses>> (from model )
sessionId : java.lang.String
PwmPbBusinessProcess
(from common)
<<entity>> BusinessModel()
ServiceReportDAO ServiceReportVO init()
(from dao) (from vo) destroy()
reset()
cutOffDate : Date
toDebug()
getServiceReport() actualYield : double
getPermissions()
getReportInfo() clientSegment : String <<realize>> BusinessProcessGroup setSessionId()
agreementStatus : String
<<uses>> (from busi ness) getSesssionId()
yieldAmount : double
addMessage()
normYieldPercent : double
<<uses>> addMessage()
serviceId : int
<<realize>> getMessageStack()
numberOfAgreements : int
<<Interface>> getLastException()
managementFee : double
DatabaseService setLastException()
performanceFee : double BusinessProcess
(from service)
transactionFee : double (from business)
expenseFee : double
yieldAmount : double
normYieldPercent : double

Vertraulich Seite 113 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.4.6Behavioral design

XBeamServlet : XBeamController : : : : : : : :
: user
XBeamServlet XBeamController ServicetotalledAction ServicetotalledViewBean PwmPbModel ReportsUtilBusinessProcess ServicetotalledDAO TransactionBusinessProcess TransactionDAO

doService(HttpServletRequest, HttpServletResponse)

getController( )
update(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)
getRootBuisnessProcess( )

getServices( )
getAction( ) getServices( )

servicesList
servicesList

prepareAction( )

performAction( ) getModel( )

Abbruch
[Cancel]

ActionResult
Forwards to XBeamPage

getServicetotalledList(com.db.pwmpb.app.vo.reports.ServicetotalledVO) getServicetotalledList(com.db.pwmpb.app.vo.reports.ServicetotalledVO)
Ausführen
[Execute]
ServiceTotalledList

ServiceTotalledList
ActionResult
XBeamPage
Forwards to

The Service Totalled sequence follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• ServiceReportAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the RegionBusinessProcess process instance
using the getServiceReportBusinessProcess() method.

Vertraulich Seite 114 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• RegionBusinessProcessinvokes the getServiceReport () for getting all the


regions.
• The getServiceReport (ServiceReportVO) in the BusinessProcess class will
instantiate the ServiceReportDAO and invokes the getServiceReport
(ServiceReportVO) for getting all the regions.
• Consolidated valueobject ServiceReportVO sent to ServiceReportAction class
for report generation.
• ServiceReportAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.14.4.7Output
 This report provides detailed report grouping by services, according to
the service and model, which are all selected in filtering fields. Fees and
yields related to these services are displayed.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Country,
consultant, service, model, cut-off date, client segment, norm and
agreement status.
 The details section contains information on Service, Model, no of
agreements, volumes, various fees, yield, norm yield and norm.
 Refer section 5.1.4.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.4.3 for details on formats.

1.14.4.8Persistence design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 115 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Land [Country] NA[Deutche Land] EP151T


Region [Region] EP001V.REGION EP074T
Team[Team] EP001V.TEAM EP075T
Berater[Consultant] EP021T.BE_NAME EP233t
Leistung[Service] EP074T.LEISTUNG_DEF_ID EP144T
Modell[Model] EP074T.NAME EP049T
Stichtag[CutOffDate] EP144T.VORAUS_GUELTIG_AB EP197T
Kundensegment[ClientSegemnt] EP071T. KUNDENSEGMENT_ID EP073T
EP071T
Vertragstatus[AgreementStatus] EP144T.VERTRAG_STATUS_ID
EP180T
Norm zu Ist Von EP197T.NORM_YIELD_PLANNED &
EP181T
EP197T.NORM_YD_CALCULATED
EP179T
Bis EP197T.NORM_YIELD_PLANNED &
EP182T
EP197T.NORM_YD_CALCULATED
EP021T
Modell[Model] EP074T.NAME
EP001V
Anzahl NA [Calculated] EP035T
Leistung[Service] EP074T.NAME
Volume Rech M€ Volumes calc. NA [Calculated]
M€
Mngt.EntgeltT €[Management EP233T.AMOUNT
Fee ]
Perf/BenchEntgeltT EP233T.AMOUNT
€[Performance/Benchmark fee]
Transakt.EntgeltT €[Transaction EP233T.AMOUNT
Fee]
AufwandEntgeltT €[Expense EP233T.AMOUNT
Fee]
Ertrag Kalk Pa T €[Yield NA [Calculated]
Calculation Pa]
Ertrag norm[Norm Yield] EP197T.NORM_YD_CALCULATED
Norm/Ist % [Norm actual] NA [Calculated]
Join
EP075T.GRUPPE_ID = EP074T.LEISTUNG_DEF_ID
EP151T.vertrag_id = EP233t.vertrag_id
EP151T.vertrag_id= EP144t.vertrag_id
EP151T.LEISTUNG_DEF_ID= EP074T.LEISTUNG_DEF_ID
EP049T.FILIALKUNDE_ID = EP144T.FILIALKUNDE_ID
EP074T.LEISTUNG_DEF_ID= EP075T.LEISTUNG_DEF_ID
EP144T.VERTRAG_ID= EP197T.VERTRAG_ID
EP001V.FILIALKUNDE_ID = EP035T.FILIALKUNDE_ID
EP001V.FILIALKUNDE_ID = EP144T.FILIALKUNDE_ID EP151T.LEISTUNG_DEF_ID=EP074T.LEISTUNG_DEF_ID
EP049T.GBM BETWEEN EP073T.GBM_VON AND EP073T.GBM_BIS AND
EP071T.KUNDENSEGMENT_ID= EP073T.KUNDENSEGMENT_ID
EP180t.KUNDE_VERANTWOR_ID= EP181t.KUNDE_VERANTWOR_ID
EP179t.VERANTWORTLICH_ID= EP181t.VERANTWORTLICH_ID
EP179t.ROLLE_ID= EP182t.ROLLE_ID
EP179t.RACFID= EP021t.RACFID

1.14.4.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-012 Service - totelled
2 Page Description P-RM-012 Service - totelled

1.14.4.10Additional / specifical Technical information


N/A

1.14.5Agreement Content
This functionality shows what are all the regions, custody accounts, services and
models covered by the given contract. It generate report for this agreement content.

Vertraulich Seite 116 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.1Input Filters
S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] / to date only DE Filters branch client The [Land] [Country], [Region]
List box [Region] and [Team] [Team] fields
2 Region from country Filters branch client are mutually dependent in this
[Country] / order, i.e. first [Land] [Country],
List box then [Region] [Region] and finally
3 Team [Team] / from region Filters branch client [Team] [Team] must be selected;
List box the list box will only be completed
when the parent field is selected.

4 Leistung N/A N/A The [Leistung] [Service] and


[Service]/List [Modell] [Model] fields are
box mutually dependent; first select
5 Modell [Model] of service N/A the service, then the appropriate
/ List box model.

6 Berater from Team Filters branch clients None


[Consultant] / who have the
List box consultant as RM, IM or
CA
7 Stichtag [Cut not today Day of report None
Off Date] calculation
8 Kundensegme N/A Filters branch client None
nt according to which
[Client particular client
Segment] / segment client belongs
List box
9 Vertragstatus aktiv, Filters agreements None
[Agreement Kündigung
Status] / List ausgesprochen
box , gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

Vertraulich Seite 117 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.2Agreement Content - screen specification

Vertraulich Seite 118 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.2.1Tab Sheet 1 – Reporting Bestand


Controls:
UI( Field Type Lengt Require Read- Business Table /
label/Control ) h d only Validations / Field(s)
Additional
Information
Land/ Number 5 Y Y None NA [Deutche
[Country]StringC land]
ontrol
Region NT.REGION
StringControl

- - Y Y None
Bearater/[Consul Integer N/A Y Y None EP021T.BE_NA
tant] ME
StringControl
Leistung/[Servic Integer N/A Y Y None EP004V.LEIST
e] UNG_DEF_ID
StringControl
Modell/[Model] Integer N/A Y Y None EP074T.NAME
StringControl
Stichtag/[CutOff Date N/A Y Y None NT.ACTIVATED
Date] _DATE
StringControl

Kundensegment/ Integer N/A Y Y None EP071T.


[ClientSegment] KUNDENSEGM
StringControl ENT_ID
Vertragstatus/[A Number 5 Y Y None EP004V.VERT
greementStatus] RAG_STATUS_
String Control ID

1.14.5.2.2Tab Sheet 2

Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Region/[Region] EP004V.REGI
StringControl ON

- - Y Y None
Depot/[CustodyAcc Integer N/A Y Y None EP004V.DEPO
ount] StringControl T_ID
Leistung/ [Service] Integer N/A Y Y None NT.LEISTUNG_
StringControl NAME
Modell/[Model] Integer N/A Y Y None EP074T.NAME
StringControl
Datumwirksam/ Date N/A Y Y None EP004V.ACTIV
[EffectiveDate] ATED_DATE
StringControl
Ertrag Kalk pa T€/ Decimal 15,3 Y Y None ERTRAG
[Yield Calc PA] .ERTRAG_BET
StringControl RAG
Ertrag Norm Decimal 15,3 Y Y None EP197T.NORM
T€/[Norm Yield] _YD_CALCULA

Vertraulich Seite 119 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

StringControl TED
ERTRAG_BETR
AG
Norm Ist % Decimal 15,3 Y Y None [Calculated
Field]
Kdn-MrgIst Decimal 15,3 Y Y None EP004V.GESAMTKUND
%/[Client Margin] ENMA_YTD or
StringControl EP004V.GESA
MTKUNDENMA
R_VJ
E-Delta Ist T€ Decimal 15,3 Y Y None EP004V.ERTR
AGS_DELTA_Y
TD

Vertraulich Seite 120 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.2.1Screen options
Option / Control Label Purpose Action Details
Ausführe/Button Ausführe Generates report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Agreement Content
-U-RM-013/P-RM-
013))
Abbruch/Button Abbruch Cancels the process N/A

1.14.5.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.

PDF CSV EXCEL

AgreementContent.p AgreementContent.c AgreementContent.x


df sv ls

1.14.5.4Processing
1.Entered search criteria is validated.
2. Entered attributes, land, region, cut-of-date, Team, Client
segment,service, model,client segment and contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

AgreementContent.x AgreementContentC
slt sv.xslt

Vertraulich Seite 121 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

1.14.5.5Static design

<<control>> PwmPbViewComposite AbstractMatrixModel


ViewComposite
(from common) (from matrix)
XBeamServlet (from control)
(from controller)
User deactivateUpdate() AbstractMatrixModel()
service() activateUpdate() setFilterArray()
(from Use Case View)
getController() isUpdating() fireFilterChanged()
forward() deactivateInitialization() getMatrixSelection()
activateInitialization()
XBeamAction <<realize>>
isInitializing()
(from acti on)
update()

<<instantiate>>
AgreementContentMatrixModel <<Interface>>
AgreementContentGenViewBean (from m odel) MatrixModel
PwmPbAction (from view) (from matrix)
(from common) XBeamPage
(from controller)
<<uses>> getSize()
getModel() getUnfilteredSize()
getGlobalViewBean() ConfigurationManager getMatrixRow()
getXBeamPage() AgreementContentViewBean (from confmanager) setFilter()
(from view)
-cm setComparator()
ReportServiceError filterChanged()
PwmPbPage (from rptservice) comparatorChanged()
(from common) <<control>> fireFilterChanged()
XBeamController getMatrixSelection()
ConfigurationService ReportServiceError()
(from controller)
(from service) <<uses>>

AgreementContentGenAction getAction() ReportServiceConstant


prepareAction() ConfigurationService()
(from acti on) (from rptservice)
doService() getProperties()
getConfigurationManager() ReportManager <<uses>>
refresh() (from rptservice)

instance() ReportsUtility
ReportManager() <<uses>> (from rptservice)
<<invoke>>
DefaultAgreementContentAction generateReport()
(from acti on) printPDF() ReportsUtility()
<<uses>> printCSV() BusinessModel saveStringAsFile()
<<uses>> (from model) getFileAsString()
printXLS()
sessionId : java.lang.String
AgreementContentAction
(from acti on) <<uses>> PwmPbModel BusinessModel()
(from common) init()
generateReport() destroy()
getReportInfo() reset()
buildXmlString() toDebug()
AgreementContentBusinessProcess getPermissions()
(from model) <<delegate>>
setSessionId()
<<create>> getSesssionId()
calculateYieldPA() addMessage()
calculateNormYieldPercent() addMessage()
<<uses>>
getAgreementContent() getMessageStack()
getLastException()
AgreementContentBusinessModel setLastException()
<<uses>> (from model)
ReportVO
(from vo)
<<uses>> region : String <<uses>>
team : String PwmPbRootBusinessProcess
country : int (from common)
<<entity>>
AgreementContentDAO PwmPbBusinessProcess
(from dao) (from common)

getAgreementContent() AgreementContentVO
getReportInfo() (from vo) BusinessProcessGroup
<<uses>> contractId : int <<realize>>
(from business)

clientSegmentId : int
status : String
<<uses>> custodyAccountId : int <<realize>>
contractServiceId : int <<Interface>>
validityDate : Date BusinessProcess
yieldAmount : double (from business)
DatabaseService clientMargin : double
(from service)
yieldData : double
normYieldPercent : Double
normYield : double

Vertraulich Seite 122 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.6Behavioral design

: user XBeam Servlet XBeam Controller : : AgreementcontentAction : Agreem entcontentViewBean : AgreementContentBusines sProcess : Agreem entContentDAO
XBeam Controller

getController( )
update(PwmPbModel, com.db.pwm pb.app.op.AppViewBean)

updateViewBean(Pwm PbModel, com .db.pwm pb.app.op.AppViewBean)

getAgreem entContentList(Agreem entContentVO)

doService(HttpServletReques t, HttpServletRes ponse) convertToXML()


getAgreem entContentList(com .db.pwm pb.app.vo.reports.AgreementContentVO)

s etinitialRequriedDatas(PwmPbModel, com.db.pwm pb.app.op.AppViewBean) getAcwert(javax.jms.Connection, String)

Abbruch
[Cancel]
getAssesmentBasis(javax.jm s.Connection, int, int, java.util.Date)

ActionResult
XBeam Page
Forwards To

Ausfuhren
[Execute]
getAgreementContentLis t(com.db.pwm pb.app.vo.reports .Agreem entContentVO)

Agreem entContentList()

Agreem entContentList()
XBeam Page ActionResult
Forwards To

The Agreement Content functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• AgreementContentAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the AgreementContentBusinessProcess
process instance using the getAgreementContentBusinessProcess() method.
• AgreementContentBusinessProcess invokes the getAgreementContent() for
getting the agreement content.
• The getAgreementContent(AgreementContentVO) in the BusinessProcess
class will instantiate the AgreementContentDAO and invokes the
getAgreementContent(AgreementContentVO) for getting the agreement
content.
• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject AgreementContentVO sent to
AgreementContentAction class for report generation.
• AgreementContentAction inturn invokes buildXMlString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

Vertraulich Seite 123 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.7Output
 This report gives details on all the regions, custody accounts, services
and models covered by the given contract. The report is generated for
this agreement content.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Country,
region, consultant, service, model, cut-off date, client segment and
agreement status.
 The details section contains information on Region, Service, Model,
custody account, margin, Delta, effective date, yield, norm yield and
norm.
 Refer section 5.1.5.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.5.3 for details on formats.

1.14.5.8Persistence design
Page level Attributes Attributes effected Tables effected
Land/ [Country] NA [Deutche land] EP004V
Region [Region] NT.REGION EP049T
Team[Team] NT.TEAM EP182T
Berater[Consultant] EP021T.BE_NAME EP071T
Leistung[Service] EP004V.LEISTUNG_DEF_ID EP073T
Modell[Model] EP074T.NAME EP074T
Stichtag[CutOffDate] NT.ACTIVATED_DATE EP180t
Kundensegment[ClientSegemnt] EP071T. KUNDENSEGMENT_ID EP181t
EP179t
Vertragstatus[AgreementStatus] EP004V.VERTRAG_STATUS_ID
EP021t
Region [Region] EP004V.REGION
EP151T
Depot[CustodyAccount] EP004V.DEPOT_ID
EP039T
Leistung[Service] NT.LEISTUNG_NAME
Modell[Model] EP074T.NAME
Datum wirksam [EffectiveDate] EP004V.ACTIVATED_DATE
Ertrag Kalk pa T € [Yield Calc NA[calculated]
PA]
Ertrag norm[Norm Yield] EP197T.NORM_YD_CALCULATED
Norm Ist %[Norm actual] NA[calculated]
Kdn Marge in%[Client Margin] EP004V.GESAMTKUNDENMA_YTD or
EP004V.GESAMTKUNDENMAR_VJ
E-Delta Ist T€[yield delta] EP004V.ERTRAGS_DELTA_YTD
Join
EP151T LEFT OUTER JOIN EP039T ON EP151T.DEPOT_TYP_ID = EP039T.DEPOT_TYP_ID
EP151T.LEISTUNG_DEF_ID=EP074T.LEISTUNG_DEF_ID
EP049T.GBM BETWEEN EP073T.GBM_VON AND EP073T.GBM_BIS AND
EP071T.KUNDENSEGMENT_ID= EP073T.KUNDENSEGMENT_ID
EP180t.KUNDE_VERANTWOR_ID= EP181t.KUNDE_VERANTWOR_ID
EP 179t.VERANTWORTLICH_ID= EP181t.VERANTWORTLICH_ID
EP 179t.ROLLE_ID= EP182t.ROLLE_ID
EP 179t.RACFID= EP 021t.RACFID

1.14.5.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-013 Agreement Content
2 Page Description P-RM-013 Agreement Content

Vertraulich Seite 124 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.5.10Additional / specifical Technical information


N/A

1.14.6New Transaction
This functionality shows the number of transactions which are started with in the
period specified in the filtering field. This filtering also based on client segment,
country, region and team.

Vertraulich Seite 125 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.1Input Filters
S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] / to date only DE Filters branch client The [Land] [Country], [Region]
List box [Region] and [Team] [Team]
2 Region from country Filters branch client fields are mutually dependent in
[Country] / this order, i.e. first [Land]
List box [Country], then [Region]
3 Team [Team] / from region Filters branch client [Region] and finally [Team]
List box [Team] must be selected; the
list box will only be completed
when the parent field is
selected.

4 Leistung N/A N/A The [Leistung] [Service] and


[Service]/List [Modell] [Model] fields are
box mutually dependent; first select
5 Modell [Model] of service N/A the service, then the appropriate
/ List box model.

6 Berater from Team Filters branch clients who None


[Consultant] / have the consultant as
List box RM, IM or CA
7 NeuVon [new time interval The agreement is None
from] activated within the time
8 Bis[To] interval
StringControl

9 Kundensegme N/A Filters branch client None


nt according to which
[Client particular client segment
Segment] / client belongs
List box
10 Vertragstatus aktiv, Filters agreements None
[Agreement Kündigung
Status] / List ausgesprochen
box , gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]
11 Plan / Kalk [Plan, Calc.] The selection field [Plan / None
Calc.] differentiates the
display of the consultant’s
own calculation (planned
values in relation to
volumes) and the actual
values (calculation). If
several custody accounts
are named in an
agreement, the overall
planned value is uniformly
distributed to the custody
accounts.

1.14.6.2New Transaction - screen specification

Vertraulich Seite 126 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.2.1 Tab Sheet 1 – Reporting Bestand


Controls:
UI( Field Type Lengt Require Read- Business Table /
label/Control h d only Validations / Field(s)
) Additional
Information
Land/ Number 5 Y Y None ADRESSE_AN
[Country]String SCHRIFT
Control .Land
Region EP004V.REGI
StringControl ON

- - Y Y None
Bearater/[Consu Integer N/A Y Y None EP021T.BE_NA
ltant] ME
StringControl
Leistung/[Servic Integer N/A Y Y None EP004V.LEIST
e] UNG_DEF_ID
StringControl
Modell/[Model] Integer N/A Y Y None EP074T.NAME
StringControl _ID
Neu von Date N/A Y Y None EP004V.CREA
TION_DATE
Kundensegment Integer N/A Y Y None EP071T.
/[ClientSegemnt KUNDENSEGM
] ENT_ID
StringControl
Vertragstatus/[ Char 40 Y Y None EP004V.VERT
AgreementStatu RAG_STATUS_
s] String ID

Vertraulich Seite 127 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Control
Bis[To] Date N/A Y Y None EP004V.CREA
StringControl TION_DATE

1.14.6.2.2 Tab Sheet 2


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Region/[Region] EP004V.REGI
StringControl ON

- - Y Y None
Depot/[CustodyAcc Integer N/A Y Y None EP004V.DEPO
ount] StringControl T_ID
Leistung/ [Service] Integer N/A Y Y None EP004V.LEIST
StringControl UNG_DEF_ID
Modell/[Model] Integer N/A Y Y None VERTRAG_LEI
StringControl STUNG
.VERTRAG_LEI
STUNG_ID
Datumwirksam/ Date N/A Y Y None EP074T.NAME
[EffectiveDate]
StringControl
Ertrag Kalk pa T€/ Decimal 15,3 Y Y None ERTRAG
[Yield Calc PA] .ERTRAG_BET
StringControl RAG
Ertrag Norm Decimal 15,3 Y Y None EP197T.NORM
T€/[Norm Yield] _YD_CALCULA
StringControl TED
Norm Ist % Decimal 15,3 Y Y None N/A

Kdn-MrgIst Decimal 15,3 Y Y None EP004V.GESAMTKUND


%/[Client Margin] ENMA_YTD or
StringControl EP004V.GESA
MTKUNDENMA
R_VJ
E-Delta Ist T€ Decimal 15,3 Y Y None EP004V.ERTR
AGS_DELTA_Y
TD

1.14.6.2.3 Screen options


Option / Control Label Purpose Action Details
Ausführen/Button Ausführen[execute] Generates report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(New transaction -U-
RM-014/P-RM-014))
Abbruch/Button Abbruch[cancel] Cancels the process N/A

1.14.6.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

Vertraulich Seite 128 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

NewTransaction.pdf NewTransaction.csv NewTransaction.xls

1.14.6.4Processing
1.Entered search criteria is validated.
2. Entered attributes, land, region, cut-of-date, Team, Client
segment,service, model,client segment,time intervals,planed/calculated
value and contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

NewTransaction.xslt NewTransactionCsv.
xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 129 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.5Static design

PwmPbViewComposite <<Interface>>
<<control>>
(from common)
ViewComposite MatrixModel
XBeamServlet
(from control) (from matrix)
(from controller)
User deactivateUpdate()
activateUpdate() getSize()
(from Use Case Vi ew) service()
isUpdating() getUnfilteredSize()
getController()
deactivateInitialization() getMatrixRow()
forward()
activateInitialization() setFilter()
XBeamAction isInitializing() setComparator()
(from action) update() filterChanged()
comparatorChanged()
<<instantiate>> fireFilterChanged()
getMatrixSelection()
TransactionGenViewBean TransactionMatrixModel
PwmPbAction (from view)
(from model)
(from common) XBeamPage <<uses>> <<realize>>
(from controll er) AbstractMatrixModel
getModel() (from matrix)
getGlobalViewBean() ReportServiceError
getXBeamPage() TransactionViewBean (from rptservi ce) AbstractMatrixModel()
ConfigurationManager setFilterArray()
(from view)
(from confmanager)
ReportServiceError() fireFilterChanged()
PwmPbPage -cm getMatrixSelection()
<<control>>
(from common)
XBeamController <<uses>>
(from controll er)
ReportServiceConstant
ConfigurationService (from rptservi ce)
(from service)
getAction()
TransactionGenAction prepareAction() ConfigurationService() <<uses>>
(from action) doService() getProperties() ReportsUtility
ReportManager
getConfigurationManager() (from rptservice)
(from rptservice)
refresh()
<<uses>> ReportsUtility()
instance()
saveStringAsFile()
ReportManager()
getFileAsString()
<<invoke>> generateReport()
DefaultTransactionAction
printPDF()
(from action)
printCSV()
<<uses>> BusinessModel
<<uses>> printXLS()
(from model)
sessionId : java.lang.String
TransactionAction
(from acti on) BusinessModel()
init()
generateReport() <<uses>> destroy()
getReportInfo() PwmPbModel reset()
TransactionBusinessProcess buildXmlString() (from common) toDebug()
(from model) <<delegate>> getPermissions()
setSessionId()
calculateYieldPA() getSesssionId()
calculateNormYieldPercent() <<uses>> addMessage()
getNewTransactions() ReportVO addMessage()
<<create>> getMessageStack()
(from vo)
getLastException()
setLastException()
<<uses>> TransactionBusinessModel
<<uses>> (from model)

TransactionVO
<<entity>> (from vo)
<<uses>>
TransactionDAO periodFrom : Date
(from dao)
periodTo : Date PwmPbRootBusinessProcess
clientSegmentId : int PwmPbBusinessProcess (from common)
getNewTransactions() custodyAccountId : int (from common)
getReportInfo() <<uses>> status : String
yieldAmount : double
clientMargin : double <<realize>>
yieldData : double
<<uses>> contractServiceId : int <<Interface>>
validityDate : Date BusinessProcess BusinessProcessGroup
normYield : Double (from busi ness) (from busi ness)
<<realize>>
DatabaseService
(from service)

Vertraulich Seite 130 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.6Behavioral design

: user
XBeamServlet : XBeamController : : NewtransactionAction : NewtransactionViewBean : : :
XBeamServlet XBeamController PwmPbModel TransactionBusinessProcess TransactionDAO
doService(HttpServletRequest, HttpServletResponse)
getServices( )
getRootBuisnessProcess( )

getController( ) update(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)

ServiceList

updateViewBean(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)

doService(HttpServletRequest, HttpServletResponse)

getServices( )
convertToXML(com.db.pwmpb.app.op.reports.newtransaction.NewTransactionList)

Abbruch
servicesList()
[Cancel]

ActionResult

XBeamPage Ausfuhren
[Execute]
getNewTransactionList(com.db.pwmpb.app.vo.reports.NewTransactionVO)
Forwards to

NewTransactionList

NewTransactionList
ActionResult

XBeamPage

Forwards to

The New Transactions functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• TransactionAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the RegionBusinessProcess process instance
using the getTransactionBusinessProcess() method.
• TransactionBusinessProcess invokes the getNewTransactions() for getting all
the new transactions.
• The getNewTransactions (TransactionVO) in the BusinessProcess class will
instantiate the TransactionDAO and invokes the getNewTransactions
(TransactionVO) for getting all the new transactions.
• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject TransactionVO sent to TransactionAction class for
report generation.
• TransactionAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

Vertraulich Seite 131 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.7Output
 This report gives details on the number of transactions which are started
with in the period specified in the filtering field. This filtering also based
on client segment, country, region and team.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Country,
region, consultant, service, model, date, client segment and agreement
status.
 The details section contains information on Region, Service, Model,
custody account, margin, Delta, effective date, yield, norm yield and
norm%.
 Refer section 5.1.6.4 for calculations involved for specific fields in details
section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.6.3 for details on formats.

1.14.6.8Persistence design
Page level Attributes Attributes effected Tables effected
Land [Country] NA[Deutche Land] EP004V
Region [Region] EP004V.REGION EP049T
Team[Team] EP004V.TEAM EP197T
Plan/Kalk[Planned/calculated] EP197T.NORM_YIELD_PLANNED or EP182T
EP197T.NORM_YD_CALCULATED EP071T
Berater[Consultant] EP021T.BE_NAME EP073T
Leistung[Service] EP004V.LEISTUNG_DEF_ID EP074T
Modell[Model] EP074T.NAME EP180t
Neu von [from] EP004V.CREATION_DATE EP181t
EP179t
Kundensegment[ClientSegemnt] EP071T. KUNDENSEGMENT_ID
EP021t
Vertragstatus[AgreementStatus] EP004V.VERTRAG_STATUS_ID
EP151T
Neu Bis[To] EP004V.CREATION_DATE
EP039T
Region[region] EP004V.REGION
Depot[CustodyAccount] EP004V.DEPOT_ID
Modell[Model] EP074T.NAME
Datum wirksam [EffectiveDate] EP004V.ACTIVATED_DATE
Ertrag Kalk pa T € [Yield Calc NA[calculated]
PA]
Norm Ist %[Norm actual] NA[calculated]
Ertrag norm[Norm Yield] EP197T.NORM_YD_CALCULATED
Kdn Marge in%[Client Margin] EP004V.GESAMTKUNDENMA_YTD or
EP004V.GESAMTKUNDENMAR_VJ
E-Delta Ist T€[yield delta] EP004V.ERTRAGS_DELTA_YTD
Join
EP151T LEFT OUTER JOIN EP039T ON EP151T.DEPOT_TYP_ID = EP039T.DEPOT_TYP_ID
EP151T.LEISTUNG_DEF_ID=EP074T.LEISTUNG_DEF_ID
EP004V.VERTRAG_ID= EP197T.VERTRAG_ID
EP049T.GBM BETWEEN EP073T.GBM_VON AND EP073T.GBM_BIS AND
EP071T.KUNDENSEGMENT_ID= EP073T.KUNDENSEGMENT_ID
EP180t.KUNDE_VERANTWOR_ID= EP181t.KUNDE_VERANTWOR_ID
EP 179t.VERANTWORTLICH_ID= EP181t.VERANTWORTLICH_ID
EP 179t.ROLLE_ID= EP182t.ROLLE_ID
EP 179t.RACFID= EP 021t.RACFID
EP180t.FILIALKUNDE_ID=EP004V.FILIALKUNDE_ID

Vertraulich Seite 132 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.6.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-014 New Agreement
2 Page Description P-RM-014 New Agreement

1.14.6.10Additional / specifical Technical information


N/A

Vertraulich Seite 133 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.7Termination
This functionality shows the number of transaction which are terminated with in the
period specified in the filtering field. This filtering also based on client segment,
country, region and team.

1.14.7.1Input Filters
S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] / to date only DE Filters branch client The [Land] [Country], [Region]
List box [Region] and [Team] [Team]
2 Region from country Filters branch client fields are mutually dependent in
[Country] / this order, i.e. first [Land]
List box [Country], then [Region]
3 Team [Team] / from region Filters branch client [Region] and finally [Team]
List box [Team] must be selected; the
list box will only be completed
when the parent field is
selected.

4 Leistung N/A N/A The [Leistung] [Service] and


[Service]/List [Modell] [Model] fields are
box mutually dependent; first select
5 Modell [Model] of service N/A the service, then the appropriate
/ List box model.

6 Berater from Team Filters branch clients who None


[Consultant] / have the consultant as
List box RM, IM or CA
7 Kündigung time interval Agreements terminated in None
von/[ Notice this time interval
from Until]
StringControl
8 Bis[To]
StringControl

9 Kundensegme N/A Filters branch client None


nt according to which
[Client particular client segment
Segment] / client belongs
List box
10 Vertragstatus aktiv, Filters agreements None
[Agreement Kündigung
Status] / List ausgesprochen
box , gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

Vertraulich Seite 134 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.7.2Termination - screen specification

Vertraulich Seite 135 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.7.2.1Tab Sheet 1 – Reporting Bestand

Controls:
UI( Field Type Lengt Require Read- Business Table /
label/Control ) h d only Validations / Field(s)
Additional
Information
Land/ Number 5 Y Y None NA [Deutche
[Country]StringC Land]
ontrol
Region EP004V.REGIO
StringControl N

- - Y Y None
Bearater/[Consul Integer N/A Y Y None EP021T.BE_NA
tant] ME
StringControl
Leistung/[Servic INteger N/A Y Y None EP004V.LEIST
e] UNG_NAME
StringControl
Modell/[Model] Integer N/A Y Y None EP151T.LEIST
StringControl UNG_DEF_ID
Kündigung von/[ Date N/A Y Y None EP004V.TERMI
Notice from NATION_DATE
Until]
StringControl

Kundensegment/ Integer N/A Y Y None EP071T.


[ClientSegment] KUNDENSEGM
StringControl ENT_ID
Vertragstatus/[A Char 40 Y Y None VERTRAG_STA
greementStatus] TUS.NAME
String Control
Bis/[To] Date N/A Y Y None EP004V.TERMI
StringControl NATION_DATE

1.14.7.2.2Tab Sheet 2 – Meine Partner


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Region/[Region] EP004V.REGION
StringControl

- - Y Y None
Depot/[CustodyAcc Integer N/A Y Y None EP004V.DEPO
ount] StringControl T_ID
Leistung/ [Service] Integer N/A Y Y None EP004V.LEIST
StringControl UNG_NAME
Modell/[Model] Integer N/A Y Y None EP151T.LEIST
StringControl UNG_DEF_ID
Datumwirksam/ Date N/A Y Y None EP004V.ACTIV
[EffectiveDate] ATED_DATE
StringControl
Ertrag Kalk pa T€/ Decimal 15,3 Y Y None ERTRAG
[Yield Calc PA] .ERTRAG_BET
StringControl RAG
Ertrag Norm Decimal 15,3 Y Y None NORM_ERTRA

Vertraulich Seite 136 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

T€/[Norm Yield] G.
StringControl ERTRAG_BETR
AG
Norm Ist % Decimal 15,3 Y Y None N/A

Kdn-MrgIst Decimal 15,3 Y Y None EP197T.NORM


%/[Client Margin] _YD_CALCULA
StringControl TED
E-Delta Ist T€ Decimal 15,3 Y Y None EP004V.ERTRA
GS_DELTA_YT
D

1.14.7.2.3 Screen options


Option / Control Label Purpose Action Details
Ausführen/Button Ausführen Generates the report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Termination -U-RM-
015/P-RM-015))

Abbruch/Button Abbruch Cancels the process N/A

1.14.7.3Format

The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

Termination.pdf Termination.csv Termination.xls

1.14.7.4Processing
1.Entered search criteria is validated.
2. Entered attributes, land, region, cut-of-date, Team, Client
segment,service, model,client segment,time intervals,planed/calculated
value and contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

Vertraulich Seite 137 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

XSLT-PDF XSLT-CSV

Termination.xslt TerminationCsv.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

1.14.7.5 Static design

PwmPbViewComposite
<<control>>
(from common) <<Interface>>
XBeamServlet
(from controll er)
ViewComposite MatrixModel
User deactivateUpdate() (from control) (from matrix)
activateUpdate()
(from Use Case View) service()
isUpdating() getSize()
getController()
deactivateInitialization() getUnfilteredSize()
forward()
activateInitialization() getMatrixRow()
XBeamAction isInitializing() setFilter()
(from acti on) update() setComparator()
filterChanged()
<<instantiate>> comparatorChanged()
fireFilterChanged()
TerminationGenViewBean getMatrixSelection()
PwmPbAction (from view)
(from common) XBeamPage
(from controller) TerminationMatrixModel
(from model)
getModel() <<uses>>
<<realize>>
getGlobalViewBean()
getXBeamPage() TerminationViewBean AbstractMatrixModel
(from view) (from matrix)
ConfigurationManager
PwmPbPage (from confmanager) AbstractMatrixModel()
(from common) <<control>> -cm setFilterArray()
XBeamController fireFilterChanged()
(from controller) ConfigurationService ReportServiceError
(from service) getMatrixSelection()
(from rptservice)

TerminationGenAction getAction()
prepareAction() ConfigurationService() <<uses>> ReportServiceError()
(from acti on)
doService() getProperties()
getConfigurationManager() ReportManager
refresh() (from rptservice)

<<uses>>
instance() ReportServiceConstant
(from rptservi ce)
<<invoke>> ReportManager()
DefaultTerminationAction generateReport()
(from acti on) printPDF()
<<uses>> <<uses>>
printCSV()
<<uses>> printXLS() ReportsUtility
(from rptservi ce)
TerminationAction
(from action) ReportsUtility()
<<uses>> PwmPbModel
(from common) saveStringAsFile()
generateReport() getFileAsString()
getReportInfo()
TerminationBusinessProcess buildXmlString()
(from model) <<delegate>> BusinessModel
(from model)

calculateYieldPA() sessionId : java.lang.String


<<create>>
calculateNormYieldPercent()
getTerminatedTransactions() BusinessModel()
<<uses>> TerminationBusinessModel init()
(from model)
PwmPbRootBusinessProcess destroy()
(from common) reset()
<<uses>> toDebug()
getPermissions()
<<uses>> ReportVO <<uses>> setSessionId()
(from vo) getSesssionId()
addMessage()
addMessage()
<<entity>> getMessageStack()
TerminationDAO getLastException()
(from dao)
PwmPbBusinessProcess setLastException()
TerminationVO (from common)
getTerminatedTransactions() (from vo)
getReportInfo() BusinessProcessGroup
periodFrom : Date (from busi ness)
periodTo : Date
<<uses>> clientSegmentId : int <<realize>>
<<uses>> custodyAccountId : int
status : String <<realize>>
yieldAmount : double <<Interface>>
clientMargin : double BusinessProcess
DatabaseService yieldData : double (from busi ness)
(from service) contractServiceId : int
validityDate : Date
normYield : Double

Vertraulich Seite 138 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.7.6Behavioral design

XBeamServlet : XBeamController : : TerminationAction : TerminationViewBean : : :


: user
XBeamServlet XBeamController PwmPbModel TransactionBusinessProcess TransactionDAO
doService(HttpServletRequest, HttpServletResponse)
getRootBuisnessProcess( ) getServices( )

update(PwmPbModel, com.db.pwmpb.app.op.AppViewBean) ServiceList


getController( )

updateViewBean(PwmPbModel, com.db.pwmpb.app.op.AppViewBean)

getServices( )
doService(HttpServletRequest, HttpServletResponse)

Ausfuhren
[Execute] ServiceList()

getTerminationList(com.db.pwmpb.app.vo.reports.TerminationVO)
TerminationList()
TerminationList()

XBeamPage ActionResult
Forwards To
Abbruch
[cancel]

ActionResult
XbeamPage
Forwards To

The Termination functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• TerminationAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the TerminationBusinessProcess process
instance using the getTerminationBusinessProcess() method.
• TerminationBusinessProcess invokes the getTerminatedTransactions() for
getting all the terminated transactions.
• The getTerminatedTransactions (TerminationVO) in the BusinessProcess class
will instantiate the TerminationDAO and invokes the
getTerminatedTransactions (TerminationVO) for getting all the terminated
transactions.
• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject TerminationVO sent to TerminationAction class for
report generation.
• TerminationAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.

Vertraulich Seite 139 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.14.7.7Output
 This report gives details on the number of transaction which are
terminated with in the period specified in the filtering field. This filtering
also based on client segment, country, region and team.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Country,
region, consultant, service, model, notice from to, client segment and
agreement status.
 The details section contains information on Region, Service, Model,
custody account, margin, Delta, effective date, yield, norm yield and
norm%.
 Refer section 5.1.7.4 for calculations involved for specific fields in details
section.

 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.7.3 for details on formats.

1.14.7.8Persistence design
Page level Attributes Attributes effected Tables effected
Land/ [Country] NA [Deutche Land] EP004V
Region EP004V.REGION EP151T
Team EP004V.TEAM EP197T
Berater [Consultant] EP021T.BE_NAME EP071T
Leistung [Service] EP004V.LEISTUNG_NAME EP073T
Modell [Model] EP004V.LEISTUNG_DEF_ID EP049T
Kündigung von [Notice EP004V.TERMINATION_DATE EP182T
from] EP180T
Kundensegment EP071T. KUNDENSEGMENT_ID EP181T
[ClientSegment] EP179T
EP021T
Biz[To] EP004V.TERMINATION_DATE
Region EP004V.REGION
Depot [CustodyAccount] EP004V.DEPOT_ID
Leistung[Service] EP004V.LEISTUNG_NAME
Modell[Model] EP151T.LEISTUNG_DEF_ID
Datum wirksam EP004V.ACTIVATED_DATE
[EffectiveDate]
Ertrag Kalk pa t€[Yield Calc NA [calculated]
Pa]
Ertrag Norm T€[Norm EP197T.NORM_YD_CALCULATED
Yield]
Norm Ist % Calculated Field
Kdn Marge in %[Client EP004V.GESAMTKUNDENMA_YTD or
Margin] EP004V.GESAMTKUNDENMAR_VJ
E-Delta Ist T€ EP004V.ERTRAGS_DELTA_YTD
Join
EP004V.VERTRAG_ID= EP197T.VERTRAG_ID
EP004V. LEISTUNG_DEF_ID= EP151T.LEISTUNG_DEF_ID
EP049T.GBM BETWEEN EP073T.GBM_VON AND EP073T.GBM_BIS AND

Vertraulich Seite 140 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

EP071T.KUNDENSEGMENT_ID= EP073T.KUNDENSEGMENT_ID
EP180t.KUNDE_VERANTWOR_ID= EP181t.KUNDE_VERANTWOR_ID
EP 179t.VERANTWORTLICH_ID= EP181t.VERANTWORTLICH_ID
EP 179t.ROLLE_ID= EP182t.ROLLE_ID
EP 179t.RACFID= EP 021t.RACFID
EP180t.FILIALKUNDE_ID=EP004V.FILIALKUNDE_ID

1.14.7.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-015 Termination
2 Page Description P-RM-015 Termination

1.14.7.10Additional / specifical Technical information


N/A

Vertraulich Seite 141 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.8Client – All custody accounts


According to Branch number, client number, cut-off-date and agreement status, this
functionality displays number of custody accounts for reporting. Along with custody
account id, it also displays fee and yield details relating to these custody accounts.

1.14.8.1Input Filters
SL.NO UI( Field Values Description Conditions
label/Control )
1 Filiale/[Branch] N/A Only valid in conjunction The [Filiale] [Branch]
StringControl with branch client. Filters and [Kundennummer]
a branch client [Client number] fields
2 Kundennummer/ N/A Only valid in conjunction are compulsory when
[Client with branch. Filters a selectable.
Number]StringCo branch client
ntrol
3 Stichtag/[CutOffD not today Day of report calculation None
ate] DateControl
4 Vertragstatus/[Ag aktiv, Filters agreements None
reement Status] Kündigung
StringControl ausgesproche
n, gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

Vertraulich Seite 142 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.8.2Client all custody accounts - screen specification

1.14.8.2.1Tab Sheet 1 – Reporting Depot


Controls:
UI( Field Type Length Requir Read- Business Table /
label/Control ) ed only Validations / Field(s)
Additional
Information
Filiale/[Branch] Number 3 Y Y None EP049t.FILIAL
StringControl NUMMER
Kundennummer/ Number 7 Y Y None EP049t.KUND
[Client ENNUMMER
Number]StringCon
trol
Stichtag/[CutOffDa Date N/A Y Y None EP144T.VORA
te] DateControl US_GUELTIG_
AB
Vertragstatus/[Agr Char 1 Y Y None EP144T.VERTR
eement Status] AG_STATUS_I
StringControl D

1.14.8.2.2Tab Sheet 2 – Meine Partner

Vertraulich Seite 143 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Kdn-Marge in Decimal 15,3 Y Y None EP049t.GESA
%/[Client Margin MTKUNDENMA
in %] R_VJ (OR)
EP049t.GESA
MTKUNDENMA
_YTD
Ertrags-Delta in Decimal 15,3 Y Y None EP049t.ERTRA
T€/[ GS_DELTA_YT
D
Depot /[Custody Integer N/A Y Y None EP035t.DEPOT
Account] _ID
StringControl
Leistung/[Service] Integer N/A Y Y None EP151T.LEIST
String Control UNG_DEF_ID
Model/[Model] Integer N/A Y Y None EP151T.LEIST
String Control UNG_DEF_ID
Volumen Rech.M€/ EP233T.AMOU
[Custody Account NT
Volume] String
Control - - Y Y None
Mngt.Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€/[Management NT
Fee] String Control
Perf/Bench Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€/[Performance/B NT
enchmark fee]
Transakt.Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€/[Transaction NT
Fee]
Aufwand Entgelt Decimal 15,3 Y Y None EP233T.AMOU
T€/[Expense Fee] NT
Ertrag Kalk pa Decimal 15,3 Y Y None ERTRAG
T€/[Yield .ERTRAG_BET
Calculation Pa] RAG
Ertrag Norm T€/ Decimal 15,3 Y Y None EP197T.NORM
_YD_CALCULA
TED
Norm/Ist %/ Decimal 15,3 Y Y None N/A

1.14.8.2.3Screen options
Option / Control Label Purpose Action Details
Ausführe/Button Ausführe[Execute] Generate Report If the user clicks
execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Client – all custody
account -U-RM-
015/P-RM-015))
Abbruc/Button Abbruc[Cancel] Cancel the process Process is cancelled
and user is diverted to
the same page.
Ertragsdetai/Button Ertragsdetai[Yield Generate report for yield If the user clicks yield
details] details for custody sub- details button, System
account will navigates from

Vertraulich Seite 144 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Client all custody


account Screen (Client
all custody account-
U-RM-016/P-RM-
016)) to Client –
custody sub-account
yield details Screen
(Client – custody
sub-account yield
details -U-RM-017/
P-RM-017)
Einzelumsätze/Button Einzelumsätze[Individua Generate report for If the user clicks
l turnover] Individual turnover individual turnover
button, System will
navigates from Client
all custody account
Screen (Client all
custody account-U-
RM-016/P-RM-016))
to Agreement overview
simulation Screen
(Custody sub-
account – individual
turnover -U-RM-
019/ P-RM-019)
Transaktiosnlis/Button Transaktiosnlis[Transacti Generate report for If the user clicks
on list] Transaction list for Transaction list button,
custody sub-account System will navigates
from Client all custody
account Screen (Client
all custody account-
U-RM-016/P-RM-
016)) to Custody sub-
account – transaction
list Screen (Custody
sub-account –
transaction list -U-
RM-018/ P-RM-018)

1.14.8.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

CustodyAccount.pdf CustodyAccount.csv CustodyAccount.xls

1.14.8.4Processing
1. Entered search criteria is validated.
2. Entered attributes, branch number, client number, cut-of-date and
contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.

Vertraulich Seite 145 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

CustodyAccount.xslt CustodyAccountCsv.
xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 146 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.8.5Static design

PwmPbViewComposite
<<control>>
(from common) ViewComposite
XBeamServlet
(from control)
(from controll er)
User deactivateUpdate()
activateUpdate()
(from Use Case View) service()
isUpdating()
getController() <<Interface>>
deactivateInitialization()
forward() MatrixModel
activateInitialization()
(from matrix)
XBeamAction isInitializing()
(from action) update()
getSize()
<<instantiate>> getUnfilteredSize()
getMatrixRow()
ClientCustodyAccountGenViewBean setFilter()
PwmPbAction (from view) setComparator()
(from common) XBeamPage filterChanged()
(from controller) comparatorChanged()
getModel() fireFilterChanged()
getGlobalViewBean() getMatrixSelection()
getXBeamPage() ClientCustodyAccountViewBean <<realize>>
(from view) <<uses>> AbstractMatrixModel
(from matrix)
PwmPbPage ClientCustodyAccountMatrixModel
(from common) <<control>> (from m odel) AbstractMatrixModel()
XBeamController setFilterArray()
(from controller) fireFilterChanged()
getMatrixSelection()
ClientCustodyAccountGenAction getAction() ConfigurationManager
(from action) prepareAction() -cm
(from confmanager) ReportServiceError
ConfigurationService
doService() (from service)
(from rptservice)

ReportServiceError()
ConfigurationService()
getProperties() <<uses>>
getConfigurationManager()
DefaultClientCustodyAccountAction refresh()
<<invoke>> ReportServiceConstant
(from acti on)
(from rptservice)

ReportManager <<uses>>
<<uses>> (from rptservice)

ClientCustodyAccountAction instance() ReportsUtility


(from action) <<uses>> ReportManager() <<uses>> (from rptservice)
generateReport()
printPDF() ReportsUtility()
generateReport()
<<uses>> printCSV() saveStringAsFile()
<<delegate>> getReportInfo()
PwmPbModel printXLS() getFileAsString()
buildXmlString()
(from common)

ClientCustodyAccountBusinessProcess BusinessModel
(from model) (from model)
sessionId : java.lang.String
calculateYieldPA()
calculateNormYieldPercent() BusinessModel()
getAllCustodyAccounts() <<create>> init()
destroy()
<<uses>>ClientCustodyAccountBusinessModel reset()
<<uses>>
(from model) toDebug()
getPermissions()
setSessionId()
PwmPbRootBusinessProcess
<<entity>> <<uses>> <<uses>> getSesssionId()
(from common)
ClientCustodyAccountDAO addMessage()
(from dao) addMessage()
getMessageStack()
getAllCustodyAccounts() getLastException()
setLastException()

ClientCustodyAccountVO BusinessProcessGroup
(from vo) (from business)
<<uses>>
branchNumber : int
<<uses>> clientNumber : int PwmPbBusinessProcess
cutOffDate : Date (from common)
status : String
DatabaseService clientMargin : double
(from service) yieldDelta : double <<realize>>
custodyAccountId : int
contractServiceId : int <<realize>>
custodyAccountVolume : double
managementFee : double
performanceFee : double
transactionFee : double
expense fee : double <<Interface>>
yieldPA : double BusinessProcess
normYieldPercent : double (from business)
normYield : double

Vertraulich Seite 147 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.8.6Behavioral design

: ClientCustodyAccountAction : ClientCustodyAccountViewBean : : PwmPbModel :


: User : XBeamServlet : XBeamController :
ConfigurationService ReportManager ClientCustodyAccountBusinessProcess
service( ) ClientCustodyAccoun...
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

Gets all custody


getClientCustodyAccountBusinessProcess() accounts for the given
getAllCustodyAccounts( ) search conditions
getAllCustodyAccounts( )

ClientCustodyAccountVO

Calculates yield per


calculateYieldPA( ) annum

calculateNormYieldPercent( )
Calculates norm y ield
percent
ClientCustodyAccountVO

buildXmlString( )

getProperties(java.lang.String)

instance( )

ReportManager

generateReport(StringBuffer, String, String)


printPDF( )

printCSV( )

printXLS( )

ActionResult
XBeamPage

Forwards to

The Client all custody accounts functionality follows the below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• ClientCustodyAccountAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the ClientCustodyAccountBusinessProcess
process instance using the getClientCustodyAccountBusinessProcess()
method.
• ClientCustodyAccountBusinessProcess invokes the getAllCustodyAccounts()
for getting all the custody accounts.
• The getAllCustodyAccounts(ClientCustodyAccountVO) in the BusinessProcess
class will instantiate the ClientCustodyAccountDAO and invokes the
getAllCustodyAccounts (ClientCustodyAccountVO) for getting all the Client
Custody Accounts.
• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject ClientCustodyAccountVO sent to
ClientCustodyAccountAction class for report generation.

Vertraulich Seite 148 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• ClientCustodyAccountAction inturn invokes buildXMLString method to create


xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.14.8.7Output
 According to Branch number, client number, cut-off-date and agreement
status, this report displays number of custody accounts for reporting.
Along with custody account id, it also displays fee and yield details
relating to these custody accounts.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Branch number,
client number, cut-off-date and agreement status.
 The details section contains information on Service, Model, custody
account, volumes, various fees, yield, norm yield and norm%.
 Refer section 5.1.8.4 for calculations involved for specific fields in details
section.

 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.8.3 for details on formats.

1.14.8.8Persistence design
Client all custody accounts
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 149 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Filiale[Branch] EP049t.FILIALNUMMER EP035t


Kundennummer[ClientNumber] EP049t.KUNDENNUMMER EP049t
Stichtag[CutOffDate] EP144T.VORAUS_GUELTIG_AB EP144T
Vertragstatus[Agreement EP144T.VERTRAG_STATUS_ID EP145T
Status] EP151T
Kdn-Marge in %[Client Margin EP049t.GESAMTKUNDENMAR_VJ (OR) EP074T
in %] EP049t.GESAMTKUNDENMA_YTD EP233T
Ertrags-Delta in T€[Yield delta] EP049t.ERTRAGS_DELTA_YTD EP197T
Depot[Custody Account ] EP035t.DEPOT_ID
Leistung[Service] EP151T.LEISTUNG_DEF_ID
Modell[Model] EP151T.LEISTUNG_DEF_ID
VolumenRech.M €[Volume NA [calculated]
calculated]
Mngt.EntgeltT €[Management EP233T.AMOUNT
Fee ]
Perf/BenchEntgeltT EP233T.AMOUNT
€[Performance/Benchmark
fee]
Transakt.EntgeltT EP233T.AMOUNT
€[Transaction Fee]
AufwandEntgeltT €[Expense EP233T.AMOUNT
Fee]
Ertrag Kalk Pa T €[Yield NA [calculated]
Calculation Pa]
Ertrag Norm T€[norm yield] EP197T.NORM_YD_CALCULATED
Norm/Ist % [Norm actual] NA [Calculated]
Join
EP035t.FILIALKUNDE_ID= EP049t.FILIALKUNDE_ID
EP145T.VERTRAG_ID = EP144T.VERTRAG_ID
EP049t.FILIALKUNDE_ID = EP035t.FILIALKUNDE_ID
EP049t.FILIALKUNDE_ID = EP144T.FILIALKUNDE_ID
EP145T.VERTRAG_ID= EP144T.VERTRAG_ID
EP145T.DEPOT_ID= EP035t.DEPOT_ID
EP144T.VERTRAG_ID= EP151T.VERTRAG_ID
EP151T.LEISTUNG_DEF_ID= EP074T.LEISTUNG_DEF_ID
EP144T.VERTRAG_ID=EP233T.VERTRAG_ID
EP144T.VERTRAG_ID= EP197T.VERTRAG_ID

1.14.8.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-016 Client – all Custody accounts
2 Page Description P-RM-016 Client – all Custody accounts

1.14.8.10Additional / specifical Technical information


N/A

Vertraulich Seite 150 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.9Client – custody sub-account yield details


This functionality shows the client’s custody sub-account yield details. It shows Client
Margin, Yield delta, Service and Model under this custody account, Volume of this
custody account, Fees and yields details for this custody account.

1.14.9.1Input Filters
SL.NO UI( Field Values Description Conditions
label/Control )
1 Filiale/[Branch] N/A Only valid in conjunction The [Filiale] [Branch],
StringControl with branch client. Filters [Kundennummer]
a branch client [Client number] and
2 Kundennummer/ N/A Only valid in conjunction [Unterdepot] [Custody
[Client with branch. Filters a sub-account] fields are
Number]StringCo branch client compulsory when
ntrol selectable.
3 UnterDepot[Custo Compulsory field in
dy sub_Account] from client conjunction with branch
StringControl number and client number
4 Stichtag/[CutOffD not today Day of report calculation None
ate] DateControl
5 Vertragstatus/[Ag aktiv, Filters agreements None

Vertraulich Seite 151 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

reement Status] Kündigung


StringControl ausgesproche
n, gekündigt,
abgerechnet,
erledigt]
[active, notice
given,
terminated,
billed,
completed]

1.14.9.2custody sub-account yield details screen specification

1.14.9.2.1Tab Sheet 1 – Reporting Custody Account


Controls:
UI( Field Type Length Requir Read- Business Table /
label/Control ) ed only Validations / Field(s)
Additional
Information
Filiale[Branch] Number 3 Y Y None BANKLEISTUN
G_ADRESSE
.FILIALNUMME
R
Kundennummer Number 7 Y Y None BANKLEISTUN
[Client Number] G_ADRESSE.K
UNDENNUMM
ER
Stichtag Date N/A Y Y None NORM_ERTRA
[Cut-off-date] G .STICHTAG

Vertraulich Seite 152 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Vertragstatus Char 1 Y Y None VERTRAG_STA


[Agreement TUS.NAME
status]

1.14.9.2.2Tab Sheet 2
Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
UnterDeport[Custo Integer N/A Y Y None DEPOT
dy sub_Account] .UNTERDEPOT
_NR
Leistung Integer N/A Y Y None VERTRAG_LEI
[Service] STUNG
.VERTRAG_LEI
STUNG_ID
Modell[Model] Integer N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID
Volumen Rech To be clarified
[Volume - Query
Calculated] reference no:
- - Y Y None NTC-P1-
000488 In
OnsiteCommu
nicationRegist
er
Mngt. Entgelt Decimal 15,3 Y Y None ENTGELT
[Management Fee] .ERTRAG_BET
RAG
Perf/Bench Entgelt Decimal 15,3 Y Y None ENTGELT
[Performance/Benc .ERTRAG_BET
hmark Fee] RAG
Transakt Entgelt Decimal 15,3 Y Y None ENTGELT
[Transaction Fee] .ERTRAG_BET
RAG
Aufwand Fee Decimal 15,3 Y Y None ENTGELT
[Expense Fee] .ERTRAG_BET
RAG
Ertrag Kalk Pa Decimal 15,3 Y Y None ERTRAG
[Yield Calculated .ERTRAG_BET
Per anum] RAG

Ertrag Norm Decimal 15,3 Y Y None NORM_ERTRA


[Norm Yield] G.
ERTRAG_BETR
AG
Norm/Ist % Decimal 15,3 Y Y None N/A
[Norm/Actual %]

Vertraulich Seite 153 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.9.2.3Screen options
Option / Control Label Purpose Action Details
Finzelumsatze/Button Einzelumsatze Showing individual If the user clicks
[Individual Turnover] turnover for this custody individual turnover
account button, System will
navigates Client –
custody sub-account
yield details Screen
(Client – custody
sub-account yield
details -U-RM-017/
P-RM-017)to
Agreement overview
simulation Screen
(Custody sub-
account – individual
turnover -U-RM-
019/ P-RM-019)
Transaktiosnilste/Button Transaktiosnilste Showing Transaction list If the user clicks
[Transaction list] for this custody account Transaction list button,
System will navigates
from Client – custody
sub-account yield
details Screen (Client
– custody sub-
account yield details
-U-RM-017/ P-RM-
017)to Custody sub-
account – transaction
list Screen (Custody
sub-account –
transaction list -U-
RM-018/ P-RM-018)
Ausfubrten/Button Ausführen[Excecut Excecute the report If the user clicks
e] processing execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Client – custody
sub-account yield
details-U-RM-017/P-
RM-017))
Abbruch/Button Abbruch [Cancel] Cancel the process Process is cancelled
and user is diverted to
Client all custody
account Screen (Client
all custody account-
U-RM-016/P-RM-
016))

1.14.9.3 Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

yield_details.pdf yield_details.csv yield_details.xls

Vertraulich Seite 154 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.9.4Processing
1.Entered search criteria is validated.
2. Entered attributes,branch number, client number, cut-of-date, custody
sub-account number and contract status as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

yield_details.xslt yield_details_csv.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 155 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.9.5Static design

PwmPbViewComposite <<Interface>>
<<control>>
(from common) MatrixModel
XBeamServlet
(from matrix)
(from controller)
User deactivateUpdate()
activateUpdate() getSize()
(from Use Case View) service()
isUpdating() ViewComposite getUnfilteredSize()
getController()
deactivateInitialization() (from control) getMatrixRow()
forward()
activateInitialization() setFilter()
XBeamAction isInitializing() setComparator()
(from action) update() filterChanged()
comparatorChanged()
<<instantiate>> fireFilterChanged()
getMatrixSelection()
ClientYieldGenViewBean <<realize>>
PwmPbAction (from view)
(from common) XBeamPage
(from controll er)
getModel() ClientYieldMatrixModel AbstractMatrixModel
getGlobalViewBean() <<uses>> (from model) (from matrix)
getXBeamPage() ClientYieldViewBean
(from view) AbstractMatrixModel()
setFilterArray()
PwmPbPage fireFilterChanged()
(from common) <<control>> ConfigurationManager getMatrixSelection()
(from confmanager)
XBeamController
ConfigurationService -cm
(from controller) ReportServiceError
(from service) (from rptservice)

ClientYieldGenAction getAction()
prepareAction() ConfigurationService() ReportServiceError()
(from action)
doService() getProperties()
getConfigurationManager() <<uses>>
refresh()
ReportServiceConstant ReportsUtility
(from rptservice)
(from rptservice)

DefaultClientYieldAction ReportManager <<uses>>


ReportsUtility()
(from action) (from rptservice) <<uses>> saveStringAsFile()
<<invoke>> getFileAsString()
instance()
ReportManager()
generateReport() BusinessModel
printPDF() (from model )
<<uses>>
printCSV() sessionId : java.lang.String
<<uses>> printXLS()
BusinessModel()
init()
ClientYieldAction PwmPbModel destroy()
(from action) <<uses>> (from common)
reset()
toDebug()
generateReport() getPermissions()
getReportInfo() <<create>> setSessionId()
buildXmlString() getSesssionId()
ClientYieldBusinessProcess
(from model) <<delegate>> addMessage()
ClientYieldBusinessModel
(from model)
addMessage()
calculateYieldPA() getMessageStack()
<<uses>> getLastException()
calculateNormYieldPercent()
calculateVolume() setLastException()
<<uses>>
getSubAccountYield()

<<uses>> <<uses>>
ClientYieldVO
(from vo) PwmPbRootBusinessProcess
branchNumber : int (from common)
<<entity>> clientNumber : int
ClientYieldDAO subAccountNumber : int
(from dao)
cutOffDate : Date PwmPbBusinessProcess
(from common)
serviceId : int
getSubAccountYield() clientMargin : double
getReportInfo() yieldData : double
<<uses>>
managementFee : double
performanceFee : double <<realize>> BusinessProcessGroup
expense fee : double (from busi ness)
<<uses>> benchmarkFee : double
transactionLumpSum : double
transactionTurnOver : double <<Interface>> <<realize>>
transactionOTC : double BusinessProcess
yieldPA : double (from busi ness)
DatabaseService normYieldPercent : double
(from service) normYield : double

Vertraulich Seite 156 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.9.6Behavioral design

: ClientYieldAction : ClientYieldViewBean : : PwmPbModel : ClientYieldBusinessProcess


: User : XBeamServlet : XBeamController : ClientYieldDAO
ConfigurationService ReportManager
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess

getClientYieldBusinessProcess() Gets client's custody


getSubAccountYield( ) sub account yield
getSubAccountYield( ) details
ClientYieldVO

calculateYieldPA( )
Calculates yield per
annum
calculateNormYieldPercent( )

Calculates norm yield


calculateVolume( ) percent

Calculates volume
ClientYieldVO

buildXmlString( )

getProperties(java.lang.String)

instance( )

ReportManager

generateReport(StringBuffer, String, String)


printPDF( )

printCSV( )

printXLS( )

ActionResult
XBeamPage

Forwards to

The custody sub-account yield details functionality follows the below


sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• ClientYieldAction gets the BusinessModel i.e PwmPbModel using getModel()
method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the ClientYieldBusinessProcess process
instance using the getClientYieldBusinessProcess() method.
• ClientYieldBusinessProcess invokes the getSubAccountYield() for getting the
yield details.
• The getSubAccountYield (ClientYieldVO) in the BusinessProcess class will
instantiate the ClientYieldDAO and invokes the getSubAccountYield
(ClientYieldVO) the yield details.

Vertraulich Seite 157 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• Then the businessprocess calculates the yield per annum and norm yield
percent.
• Consolidated valueobject ClientYieldVO sent to ClientYieldAction class for
report generation.
• TransactionAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.14.9.7Output
 This report gives the client’s custody sub-account yield details. It shows
Client Margin, Yield delta, Service and Model under this custody account,
Volume of this custody account, Fees and yields details for this custody
account.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Branch number,
client number, cut-off-date and agreement status custody sub account.
 The details section contains information on Service, Model, custody sub
account, volumes, various fees, yield, norm yield and norm%.
 Refer section 5.1.9.4 for calculations involved for specific fields in details
section.

 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.9.3 for details on formats.

1.14.9.8Persistence design
Page level Attributes Attributes effected Tables effected

Vertraulich Seite 158 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Filiale[Branch] NA [ carried from previous screen ] NA – fully depend on the


Kundennummer NA [ carried from previous screen ] values from the previous
[Client Number] screen.
Stichtag NA [ carried from previous screen ]
[Cut-off-date]
Vertragstatus NA [ carried from previous screen ]
[Agreement status]
UnterDeport[Custody NA [ carried from previous screen ]
sub_ Account]
Leistung NA [ carried from previous screen ]
[Service]
Modell[Model] NA [ carried from previous screen ]
Kdn-Marge in %[client NA [ carried from previous screen ]
margin %]
Ertrags-Delta in T€[yield NA [ carried from previous screen ]
delta in T€]
Volumen Ist M €[Volume NA [ carried from previous screen ]
actual M €
Volumen Rech M € NA [ carried from previous screen ]
[Volume Calculated]
Mngt.EntgeltT € NA [ carried from previous screen ]
[Management Fee]
Perf.EntgeltT € NA [ carried from previous screen ]
[Performance Fee]
BenchM.EntgeltT €[ NA [ carried from previous screen ]
Benchmark Fee]
Wertaufh.Gesamt.T € NA [ calculated ]
[ROV]
Transakt.Pausch.T € NA [ calculated with the values from the
[Transaction partial previous screen ]
lumpsum]
Transakt.Umsatz.T NA [ calculated with the values from the
€[Transaction price] previous screen ]
Transakt.Nutzen.T € NA [ calculated with the values from the
[Transaction OTC] previous screen ]
AufwandEntgeltT € NA [ carried from previous screen ]
[Expense Fee]
Ertrag Kalk Pa T € [Yield NA [ carried from previous screen ]
Calculated Per anum]
Ertrag Norm T € [Norm NA [ carried from previous screen ]
Yield]
Norm/Ist % [Norm/Actual NA [ carried from previous screen ]
%]
Join
NA

1.14.9.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-017 Client – custody sub-account yield details
2 Page Description P-RM-017 Client – custody sub-account yield details

1.14.9.10Additional / specifical Technical information


N/A

Vertraulich Seite 159 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10 Custody sub-account Transaction List


This functionality shows Custody sub-account transaction list. It shows service and
model under this custody sub-account, Volume Actual and volume calculated,
Agreement status, date, Transaction currency and Payment currency, Turnover type,
WKN, Security, Accrual, fees and Debit amount for the selected custody sub-account.

1.14.10.1Input Filters
SL.NO UI( Field Values Description Conditions
label/Control )
1 Filiale/[Branch] N/A Only valid in conjunction The [Filiale] [Branch],
StringControl with branch client. Filters [Kundennummer]
a branch client [Client number] and
2 Kundennummer/ N/A Only valid in conjunction [Unterdepot] [Custody
[Client with branch. Filters a sub-account] fields are
Number]StringCo branch client compulsory when
ntrol selectable.
3 UnterDepot[Custo Compulsory field in
dy sub_Account] from client conjunction with branch
StringControl number and client number
4 Zeitraum von time interval Value date of transaction None
[Period From]
5 Zeitraum bis

Vertraulich Seite 160 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10.2Client custody sub-account Transaction List screen specification

1.14.10.2.1Tab Sheet 1 – Reporting – Umsatz

Controls
UI( Field Type Length Requir Read- Business Table /
label/Control ) ed only Validations / Field(s)
Additional
Information
Filiale[Branch] Number 3 Y Y None BANKLEISTUN
G_ADRESSE
.FILIALNUMME
R
Kundennummer Number 7 Y Y None BANKLEISTUN
[Client Number] G_ADRESSE.K
UNDENNUMM
ER
Unterdepot Number 2 Y Y None DEPOT
[Custody-sub .UNTERDEPOT
account] _NR

Zeitraum von Date N/A Y Y None TRANSAKTION


[Period From] .TRANSAKTIO
N_DATUM

Zeitraum bis Date N/A Y Y None TRANSAKTION


[Period To] .TRANSAKTIO
N_DATUM

Vertraulich Seite 161 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10.2.2Tab Sheet 2
Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Leistung[Service] Integer N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID
Modell[Model] Integer N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID
Volumen Ist To be clarified
[Volume Actual] - Query
reference no:
- - Y Y None NTC-P1-
000489 In
OnsiteCommu
nicationRegist
er
Volumen Rech To be clarified
[Volume - Query
Calculated] reference no:
- - Y Y None NTC-P1-
000488 In
OnsiteCommu
nicationRegist
er
Vertragstatus Char 40 Y Y None VERTRAG_STA
[Agreement TUS.NAME
status]
Datum Valuta Date N/A Y Y None TRANSAKTION
[Date value] .TRANSAKTIO
N_DATUM
Handleswahrung Decimal 15,3 Y Y None EP123T.HAND
[Transasction ELSWAEHRUN
Currency] G
Zahlwahrung Decimal 15,2 Y Y None EP123T.ZAHL
[Payment WAEHRUNG
Currency]
WKN Char 6 Y Y None EP123T.WP_A
RT
Wertpapier Char 40 Y Y None EP123T.WP_N
AME
Kurswert Decimal 15,3 Y Y None EP123T.KURS
WERT_BETRA
G
Entgelt Decimal 15,3 Y Y None EP123T.ENTG
ELT_BETRAG
MwSt Decimal 15,3 Y Y None EP123T.MWST
_BETRAG
Belastung Decimal 15,3 Y Y None EP123T.BELAS
TUNG_BETRA
G

1.14.10.2.3Screen options
Option / Control Label Purpose Action Details
Transaktiosnilste/Button Transaktiosnilste Showing Transaction list If the user clicks
[Transaction details] for this custody account Transaction list button,
System will navigates

Vertraulich Seite 162 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

from Custody sub-


account – transaction
list Screen (Custody
sub-account –
transaction list -U-
RM-018/ P-RM-
018)to Custody sub-
account – transaction
list Screen (Customer
transaction details
-U-RM-020/ P-RM-
020)

Druken/Button Druken [Print] Printing the generated This functionality call a


report javascript method to
make a print

Ausfubrten/Button Ausführen[Excecut Excecute the report If the user clicks


e] processing execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
Custody sub-account –
transaction list Screen
(Custody sub-
account –
transaction list -U-
RM-018/ P-RM-018)
Abbruch/Button Abbruch [Cancel] Cancel the process Process is cancelled
and user is diverted
either to Client –
custody sub-account
yield details Screen
(Client – custody
sub-account yield
details -U-RM-017/
P-RM-017) or to
Client all custody
account Screen (Client
all custody account-
U-RM-016/P-RM-
016)) according to
situation.

1.14.10.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

transaction_list.pdf transaction_list.csv transaction_list.xls

1.14.10.4Processing
1.Entered search criteria is validated.
2. Entered attributes, branch number, client number, custody sub-account
number and time interval as filtering values
3. Data is extracted from the database for the desired search criteria.

Vertraulich Seite 163 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

transaction_list.xslt transaction_list_csv.
xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

Vertraulich Seite 164 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10.5Static design

PwmPbViewComposite
<<control>> (from common)
<<Interface>>
XBeamServlet
User MatrixModel
(from controller) ViewComposite
deactivateUpdate() (from matrix)
(from Use Case View) activateUpdate() (from control)
service() isUpdating() getSize()
getController() deactivateInitialization() getUnfilteredSize()
XBeamAction forward() activateInitialization() getMatrixRow()
(from acti on) isInitializing() setFilter()
update() setComparator()
filterChanged()
<<instantiate>> CustodyTransactionViewBean comparatorChanged()
(from view) fireFilterChanged()
PwmPbAction
getMatrixSelection()
(from common) XBeamPage
(from controller) CustodyTransactionGenViewBean
(from view)
getModel()
getGlobalViewBean() <<uses>>
getXBeamPage() ConfigurationManager OverviewAgreementMatrixModel
(from confmanager) (from acti on)
<<realize>>
-cm
PwmPbPage
(from common) <<control>>
XBeamController ReportServiceError
(from controller) ConfigurationService (from rptservice)
(from service) AbstractMatrixModel
(from m atrix)
CustodyTransactionGenAction getAction() ReportServiceError()
prepareAction() ConfigurationService()
(from acti on)
doService() getProperties() AbstractMatrixModel()
<<uses>>
getConfigurationManager() setFilterArray()
ReportServiceConstant
refresh() fireFilterChanged()
(from rptservice)
getMatrixSelection()

<<uses>>
DefaultCustodyTransactionAction ReportManager ReportsUtility
<<invoke>>
(from rptservice) (from rptservice)
(from acti on)

<<uses>>
<<uses>> instance() ReportsUtility()
ReportManager() saveStringAsFile()
generateReport() getFileAsString()
<<uses>> printPDF()
CustodyTransactionAction printCSV()
(from acti on) printXLS()

generateReport() <<uses>> BusinessModel


getReportInfo() PwmPbModel (from model)
buildXmlString() (from common)
sessionId : java.lang.String
CustodyTransactionBusinessProcess<<delegate>>
(from m odel) BusinessModel()
init()
destroy()
calculateVolume()
<<create>> reset()
getTransactionList()
toDebug()
getPermissions()
setSessionId()
<<uses>>
getSesssionId()
<<uses>> CustodyTransactionBusinessModel
<<uses>> CustodyTransactionVO addMessage()
(from m odel)
(from vo) addMessage()
branchNumber : int getMessageStack()
clientNumber : int getLastException()
cutOffDate : Date <<uses>> setLastException()
subAccountNumber : int
serviceId : int
<<entity>> periodFrom : Date
CustodyTransactionDAO periodTo : Date PwmPbBusinessProcess PwmPbRootBusinessProcess
(from dao) volumeActual : double (from common) (from common)
volumeCalculated : double
getTransactionList() agreementStatus : String
<<uses>> dateValue : Date
getReportInfo()
transactionCurrency : int
paymentCurrency : int <<realize>>
conversionAmount : double
<<uses>> WKN : int BusinessProcessGroup
WPName : int (from business)

exchangeRate : double <<Interface>>


paymentAmount : double BusinessProcess <<realize>>
DatabaseService
mwstAmount : double (from business)
(from service)
loadAmount : double

Vertraulich Seite 165 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.10.6Behavioral design

: CustodyTransactionAction : CustodyTransactionViewBean : : PwmPbModel : CustodyTransactionBusinessProcess


: User : XBeamServlet : XBeamController :
ConfigurationService ReportManager
service( ) CustodyTransactionDAO
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess
Gets the client's
custody sub-account
getCustodyTransactionBusinessProcess() transaction list.

getTransactionList( )
getTransactionList( )
CustodyTransactionVO
Calculates the volume
calculateVolume( )

CustodyTransactionVO

buildXmlString( )

getProperties(java.lang.String)

instance( )

ReportManager

generateReport(StringBuffer, String, String)


printPDF( )

printCSV( )

printXLS( )

ActionResult
XBeamPage

Forwards to

The Client custody sub-account Transaction List functionality follows the


below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• CustodyTransactionAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the CustodyTransactionBusinessProcess
process instance using the getCustodyTransactionBusinessProcess() method.
• CustodyTransactionBusinessProcess invokes the getTransactionList() for
getting all the new transactions.
• The getTransactionList (CustodyTransactionVO) in the BusinessProcess class
will instantiate the CustodyTransactionDAO and invokes the getTransactionList
(CustodyTransactionVO) for getting the custody sub account transaction list.
• Then the CustodyTransactionBusinessProcess inturn calculates the volume by
using calculateVolume method.
• Consolidated valueobject CustodyTransactionVO sent to
CustodyTransactionAction class for report generation.
• CustodyTransactionAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.

Vertraulich Seite 166 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

1.14.10.7Output
 This report gives Custody sub-account transaction list. It shows service
and model under this custody sub-account, Volume Actual and volume
calculated, Agreement status, date, Transaction currency and Payment
currency, Turnover type, WKN, Security, Accrual, fees and Debit amount
for the selected custody sub-account.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Branch number,
client number, period from and to.
 The details section contains information on service and model under this
custody sub-account, Volume Actual and volume calculated, Agreement
status, date, Transaction currency and Payment currency, Turnover type,
WKN, Security, Accrual, fees and Debit amount for the selected custody
sub-account.
 Refer section 5.1.10.4 for calculations involved for specific fields in
details section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer section
5.1.10.3 for details on formats.

1.14.10.8Persistence design
Page level Attributes Attributes effected Tables effected
Filiale[Branch] NA [ carried from previous screen ] EP123T
Kundennummer NA [ carried from previous screen ]
[Client Number]
Unterdepot NA [ carried from previous screen ]
[Custody-sub account]
Zeitraum von EP123T.TRANSAKTION_DATUM
[Period From]
Zeitraum bis EP123T.TRANSAKTION_DATUM
[Period To]
Leistung[Service] NA [ carried from previous screen ]
Modell[Model] NA [ carried from previous screen ]
Volumen Ist NA [ carried from previous screen ]
[Volume Actual]
Volumen Rech NA [ carried from previous screen ]
[Volume Calculated]
Vertragstatus NA [ carried from previous screen ]
[Agreement status]
Datum Valuta EP123T.TRANSAKTION_DATUM
[Date value]
Handleswahrung EP123T.HANDELSWAEHRUNG
[Transasction Currency]
Zahlwahrung EP123T.ZAHLWAEHRUNG
[Payment Currency]
WKN EP123T.WP_ART
Wertpapier[Security] EP123T.WP_NAME
Kurswert[Market Price] EP123T.KURSWERT_BETRAG
Entgelt[Fee] EP123T.ENTGELT_BETRAG
MwSt[VAT] EP123T.MWST_BETRAG

Vertraulich Seite 167 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Belastung[Debit amount] EP123T.BELASTUNG_BETRAG


Join
NA

1.14.10.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-018 Custody sub-account-transaction list
2 Page Description P-RM-018 Custody sub-account-transaction list

1.14.10.10Additional / specifical Technical information


N/A

Vertraulich Seite 168 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11 Client – custody sub-account Individual turnover


This functionality shows the client’s custody sub-account individual turnover.
According to the Date interval (Period from and Period to from filtering fields), it
shows category or turnover type, Fee limited, Fee calculated, VAT and Fee billed for
the selected custody sub-account

1.14.11.1Input Filters
SL.NO UI( Field Values Description Conditions
label/Control )
1 Filiale/[Branch] N/A Only valid in conjunction The [Filiale] [Branch],
StringControl with branch client. Filters [Kundennummer]
a branch client [Client number] and
2 Kundennummer/ N/A Only valid in conjunction [Unterdepot] [Custody
[Client with branch. Filters a sub-account] fields are
Number]StringCo branch client compulsory when
ntrol selectable.
3 UnterDepot[Custo Compulsory field in
dy sub_Account] from client conjunction with branch
StringControl number and client number
4 Zeitraum von time interval Yields whose billing None
[Period From] periods are within the
5 Zeitraum bis time interval. If the
billing period is only
partly within the time
interval the yield is only
counted on a pro rata
basis

Vertraulich Seite 169 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11.2custody sub-account Individual turnover screen specification

1.14.11.2.1Tab Sheet 1 – Reporting – Umsatz


Controls
UI( Field Type Length Requir Read- Business Table /
label/Control ) ed only Validations / Field(s)
Additional
Information
Filiale[Branch] Number 3 Y Y None BANKLEISTUN
G_ADRESSE
.FILIALNUMME
R
Kundennummer Number 7 Y Y None BANKLEISTUN
[Client Number] G_ADRESSE.K
UNDENNUMM
ER
Unterdepot Number 2 Y Y None DEPOT
[Custody-sub .UNTERDEPOT
account] _NR
Zeitraum von Date N/A Y Y None TRANSAKTION
[Period From] .
TRANSAKTION
_DATUM

Zeitraum bis Date N/A Y Y None TRANSAKTION


[Period To] .
TRANSAKTION
_DATUM

Vertraulich Seite 170 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11.2.2Tab Sheet 2
Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Leistung[Service] Integer N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID
Modell[Model] Integer N/A Y Y None VERTRAG_LEI
STUNG
.VERTRAG_LEI
STUNG_ID
Volumen Ist To be clarified
[Volume Actual] - Query
reference no:
- - Y Y None NTC-P1-
000489 In
OnsiteCommu
nicationRegist
er
Volumen Rech To be clarified
[Volume - Query
Calculated] reference no:
- - Y Y None NTC-P1-
000488 In
OnsiteCommu
nicationRegist
er
Vertragstatus Char 40 Y Y None VERTRAG_STA
[Agreement TUS.NAME
status]
Datum [Date] Date N/A Y Y None ENGELT.BUCH
UNG_DATUM
Katigorie/Umsatzar Char 1 Y Y None ART_GESCHA
t[Turnover type] EFT
Entgelt abgegrenzt EP233T.AMOU
[Fee Limited] NT

- - Y Y None
Entgelt berechnet Decimal 15,3 Y Y None ENTGELT
[Fee Calculated] .ERTRAG_BET
RAG(summati
on of all fee)
MwSt[VAT] Decimal 15,3 Y Y None EP233T.MWST
Entgelt To be clarified
abgerechnet - Query
[Fee billed] reference no:
- - Y Y None NTC-P1-
000491 In
siteCommunic
ationRegister

Vertraulich Seite 171 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11.2.3Screen options
Option / Control Label Purpose Action Details
Detailanzeige Detailanzeige Show Fee details for this N/A
Engelt/Button custody account
Entgelt [Show
fee details]
Druken/Button Druken [Print] Printing the generated This functionality call a
report javascript method to
make a print
Ausfubrten/Button Ausführen[Excecut Excecute the report If the user clicks
e] processing execute button,
System will generate
and download the
report in the
downloaded area and
display the same page
(Client – custody
sub-account
individual turnover-
U-RM-017/P-RM-
017))
Abbruch/Button Abbruch [Cancel] Cancel the process Process is cancelled
and user is diverted to
Client all custody
account Screen (Client
all custody account-
U-RM-016/P-RM-
016))

1.14.11.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

individual_turnover.p individual_turnover.c individual_turnover.x


df sv ls

1.14.11.4Processing
1.Entered search criteria is validated.
2. Entered attributes, branch number, client number, custody sub-account
number and time interval as filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

Vertraulich Seite 172 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

XSLT-PDF XSLT-CSV

individual_turnover.x individual_turnover_
slt csv.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.
10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

1.14.11.5Static design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common)
XBeamServlet
(from controller)
User deactivateUpdate()
activateUpdate()
(from Use Case View) service()
isUpdating() ReportServiceError
getController()
deactivateInitialization() (from rptservi ce)
forward()
activateInitialization()
XBeamAction isInitializing() ReportServiceError()
(from acti on) update()

<<instantiate>>

CustodyTurnOverGenViewBean <<uses>>
PwmPbAction (from view)
(from common) XBeamPage
(from controller) ConfigurationManager
getModel() (from confmanager) ReportServiceConstant
getGlobalViewBean() (from rptservice)
-cm
getXBeamPage() CustodyTurnOverViewBean
(from view)
<<uses>>
PwmPbPage
(from common) <<control>> ReportManager
(from rptservi ce) ReportsUtility
XBeamController
(from controller) ConfigurationService (from rptservi ce)
(from service) instance() <<uses>>
getAction() ReportManager() ReportsUtility()
CustodyTurnOverGenAction ConfigurationService() generateReport()
(from acti on) prepareAction() saveStringAsFile()
doService() getProperties() printPDF() getFileAsString()
getConfigurationManager() printCSV()
refresh() printXLS()

BusinessModel
<<invoke>> <<uses>> (from model)
DefaultCustodyTurnOverAction
sessionId : java.lang.String
(from acti on)
<<uses>> PwmPbModel
(from common)
BusinessModel()
<<uses>> init()
destroy()
CustodyTurnOverAction reset()
(from acti on)
toDebug()
getPermissions()
generateReport() setSessionId()
getReportInfo() <<create>> getSesssionId()
buildXmlString() addMessage()
CustodyTurnOverBusinessProcess <<delegate>> addMessage()
CustodyTurnOverBusinessModel
(from m odel) (from model)
getMessageStack()
getLastException()
<<uses>>
getSubAccountTurnOver() setLastException()

<<uses>>
PwmPbRootBusinessProcess
<<uses>> (from common)
<<uses>>

PwmPbBusinessProcess
(from common)
<<entity>>
CustodyTurnOverDAO
(from dao)
CustodyTurnOverVO
(from vo)
<<realize>>
branchNumber : int BusinessProcessGroup
getSubAccountTurnOver()
clientNumber : int (from business)
getReportInfo() <<uses>> <<Interface>>
subAccountNumber : int BusinessProcess <<realize>>
periodFrom : Date (from business)
<<uses>> periodTo : Date

DatabaseService
(from service)

Vertraulich Seite 173 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11.6Behavioral design

: CustodyTurnOverAction : CustodyTurnOverViewBean : : PwmPbModel : CustodyTurnOverBusinessProcess


: User : XBeamServlet : XBeamController : CustodyTurnOverDAO
ConfigurationService ReportManager
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess
Gets the client's
custody sub-account
getCustodyTurnOverBusinessProcess() individual turnover
getSubAccountTurnOver( )
getSubAccountTurnOver( )
CustodyTurnOverVO
CustodyTurnOverVO

buildXmlString( )

getProperties(java.lang.String)

instance( )

ReportManager

generateReport(StringBuffer, String, String)


printPDF( )

printCSV( )

printXLS( )

ActionResult
XBeamPage

Forwards to

The Client custody sub-account Individual Turnover functionality follows


the below sequence:
• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• CustodyTurnoverAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the CustodyTurnoverBusinessProcess
process instance using the getCustodyTurnoverBusinessProcess() method.
• CustodyTurnoverBusinessProcess invokes the getSubAccountTurnover () for
getting the custody sub account turnover.
• The getSubAccountTurnover (CustodyTurnoverVO) in the BusinessProcess
class will instantiate the CustodyTurnoverDAO and invokes the
getSubAccountTurnover (CustodyTurnoverVO) for getting the custody sub
account turnover.
• Valueobject CustodyTurnoverVO sent to CustodyTurnoverAction class for
report generation.
• CustodyTurnoverAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

Vertraulich Seite 174 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.11.7Output
 This report gives details on client’s custody sub-account individual
turnover. According to the Date interval (Period from and Period to from
filtering fields), it shows category or turnover type, Fee limited, Fee
calculated, VAT and Fee billed for the selected custody sub-account.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as Branch number,
client number, period from and to and custody sub account.
 The details section contains information on service and model under this
custody sub-account, Volume Actual and volume calculated, Agreement
status, date, Turnover type, VAT, and various fees for the selected
custody sub-account.
 Refer section 5.1.11.4 for calculations involved for specific fields in
details section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer section
5.1.11.3 for details on formats.

1.14.11.8Persistence design
Page level Attributes Attributes effected Tables effected
Filiale[Branch] NA [ carried from previous screen ] EP042T,
Kundennummer NA [ carried from previous screen ] EP145T,
[Client Number] EP144T,
Unterdepot NA [ carried from previous screen ] EP233T
[Custody-sub account]
Zeitraum von EP042T.PERIODE_BEGINN
[Period From]
Zeitraum bis EP042T.PERIODE_ENDE
[Period To]
Leistung[Service] NA [ carried from previous screen ]
Modell[Model] NA [ carried from previous screen ]
Volumen Ist NA [ carried from previous screen ]
[Volume Actual]
Volumen Rech NA [ carried from previous screen ]
[Volume Calculated]
Vertragstatus NA [ carried from previous screen ]
[Agreement status]
Katigorie/Umsatzart[Turnove NA
r type]
Summen Bericht NA [ Calculated ]
[summed report]
Entgelt abgegrenzt EP233T.AMOUNT
[Fee Limited]
Entgelt berechnet NA [ Calculated ]
[Fee Calculated]
MwSt[VAT] EP233T.MWST
Entgelt abgerechnet NA [ Calculated ]
[Fee billed]
Join
EP042T.VERTRAG_ID=EP145T.VERTRAG_ID
EP144T.VERTRAG_ID=EP145T.VERTRAG_ID
EP145T.DEPOT_ID=EP233T.DEPOT_ID

1.14.11.9Tracebility Matrix
Sl.No Type Reference ID Description

Vertraulich Seite 175 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1 Use case U-RM-019 Custody sub-account-individual turnover


2 Page Description P-RM-019 Custody sub-account-individual turnover

1.14.11.10Additional / specifical Technical information


N/A

1.14.12Customer Transaction Details


This functionality shows Customer’s transaction details for a particular custody
account. It shows Payment currency, Transaction currency, market price, accrued
interest, Fee, VAT, debit amount and account, OTC and other information of a
custody account.

Vertraulich Seite 176 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.12.1 Input Filters


S UI( Field Values Description Conditions
L.N label/Contro
O l)
1 Land [Land] / to date only DE Filters branch client The [Land] [Country], [Region]
List box [Region] and [Team] [Team]
2 Region from country Filters branch client fields are mutually dependent in
[Country] / this order, i.e. first [Land]
List box [Country], then [Region]
3 Team [Team] / from region Filters branch client [Region] and finally [Team]
List box [Team] must be selected; the
list box will only be completed
when the parent field is
selected.

1.14.12.2Customer Transaction Details screen specification

1.14.12.2.1Tab Sheet 1 – Reporting Umsatz


Controls:
UI( Field Type Length Requir Read- Business Table /
label/Control ) ed only Validations / Field(s)
Additional
Information
Land[Country] Number 5 Y Y None ADRESSE_AN
SCHRIFT

Vertraulich Seite 177 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

.Land

Region[Region] To be clarified
- Query
reference no:
- - Y Y None NTC-P1-
000486 In
OnsiteCommu
nicationRegist
er
Team[Team] To be clarified
- Query
reference no:
- - Y Y None NTC NTC-P1-
000487 In
OnsiteCommu
nicationRegist
er

1.14.12.2.2Tab Sheet 2 – Meine Partner


Controls:
UI( Field Type Length Required Read Business Table /
label/Control ) -only Validations / Field(s)
Additional
Information
Deport[Custody Integer N/A Y Y None EP123T.DEPOT
Account] _ID
WKN Char 6 Y Y None EP123T.WKN11
[Security ID
number]
Guttung[Class] Char 40 Y Y None EP123T.GATTU
NG
Zahlwahrung Char 3 Y Y None EP123T.ZAHL
[Payment WAEHRUNG
currency]
Handelswahrung Char 3 Y Y None EP123T.HAND
[Transaction ELSWAEHRUN
currency] G
Kurswert Decimal 15,3 Y Y None EP123T.KURS
[Market price] WERT_BETRA
G
Stuckzins Decimal 15,3 Y Y None EP123T.STUEC
[Accrued interest] KZINSEN
Ausmachend Decimal 15,3 Y Y None EP123T.AUSM
[Constituent] ACHENDER_B
ETRA
Buchengstext VarChar 255 Y Y None EP123T.BUCH
[Record Text] UNGSTEXT_1
Provision Decimal 15,3 Y Y None EP123T.PROVI
[Provision] SION_BETRAG
Nutzen[OTC] Decimal 15,3 Y Y None EP123T.NETTO
_NUTZEN_BET
RA
Spesen[Charges] Decimal 15,3 Y Y None EP123T.SPESE
N_BETRAG
Entgelt[Fee] Decimal 15,3 Y Y None EP123T.ENTGE
LT_BETRAG
Mehrwertsteuer Decimal 15,3 Y Y None EP123T.MWST
[VAT] _BETRAG
Belastung Decimal 15,3 Y Y None EP123T.BELAS
[Debit amount] TUNG_BETRA
G
Belastungskonto Varchar 255 Y Y None EP123T.BELAS
[Debit account] TUNG_KONTO

Vertraulich Seite 178 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.12.2.3Screen options
Option / Control Label Purpose Action Details
Druken/Button Druken [Print] Printing the generated This functionality call a
report javascript method to
make a print
Abbrechen/Button Abbrechen Cancel the process Process is cancelled
[Cancel] and user is diverted to
Custody sub-account –
transaction list Screen
(Custody sub-
account –
transaction list -U-
RM-018/ P-RM-018)

1.14.12.3Format
The Reports are generated in HTML, PDF, CSV and EXCEL formats. The user can
specify the report formats at the time of the report generation so that he can avail all
or one of the formats during the report process run.
PDF CSV Excel

transaction_details.p transaction_details.c transaction_details.x


df sv ls

1.14.12.4Processing
1.Entered search criteria is validated.
2. Entered attributes, land, region and area filtering values
3. Data is extracted from the database for the desired search criteria.
4. Total amount and other calculated values are calculated in the business
process and poplulated into the value object. Please refer section
5. Finally data is is consolidated in the form of value object and sent to the
action class.
6. Values are extracted from the value object and converted in the form of
XMLString by using the buildXMLString method.
7. Download area is configured in the application specific configuration file
and this is fetched by using the framework specific configuration service.
8. Report formats are specified in the XSLT format and stored in the
configured area. Please refer the following XSLT formats:

XSLT-PDF XSLT-CSV

transaction_details.x transaction_detailsC
slt SV.xslt

9. ReportManager API is instantiated in the action class and invokes the


generateReport method by passing XMLString, XSLT file path, download area
and the type of report as an argument.

Vertraulich Seite 179 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

10. ReportManager inturn uses the appropriate print method to generate the
report and store it into the configured download area.

1.14.12.5Static design

PwmPbViewComposite ViewComposite
<<control>> (from control)
(from common)
XBeamServlet
(from controller)
User deactivateUpdate()
activateUpdate()
(from Use Case View) service()
isUpdating()
getController()
deactivateInitialization()
forward()
activateInitialization()
XBeamAction isInitializing() ReportServiceError
(from rptservice)
(from acti on) update()

<<instantiate>> ReportServiceError()

TransactionDetailsGenViewBean
PwmPbAction (from view)
(from common) XBeamPage <<uses>>
(from controller) ConfigurationManager
getModel() (from confmanager) ReportServiceConstant
getGlobalViewBean() (from rptservice)
-cm
getXBeamPage() TransactionDetailsViewBean
(from view)
<<uses>>
PwmPbPage
(from common) <<control>> ReportManager
(from rptservi ce) ReportsUtility
XBeamController
(from controller) ConfigurationService (from rptservi ce)
(from service) instance() <<uses>>
getAction() ReportManager() ReportsUtility()
TransactionDetailsGenAction ConfigurationService()
prepareAction() generateReport() saveStringAsFile()
(from acti on)
doService() getProperties() printPDF() getFileAsString()
getConfigurationManager() printCSV()
refresh() printXLS()

BusinessModel
<<uses>> (from model)
DefaultTransactionDetailsAction <<invoke>> sessionId : java.lang.String
(from acti on)
<<uses>> PwmPbModel
(from common)
BusinessModel()
<<uses>> init()
destroy()
TransactionDetailsAction reset()
(from acti on)
toDebug()
<<create>> getPermissions()
generateReport() setSessionId()
getReportInfo() getSesssionId()
buildXmlString() addMessage()
TransactionDetailsBusinessProcess <<delegate>> addMessage()
TransactionDetailsBusinessModel
(from m odel) (from model)
getMessageStack()
getLastException()
<<uses>>
getTransactionDetails() setLastException()

ReportVO <<uses>>
(from vo)
PwmPbRootBusinessProcess
<<uses>> region : String (from common)
team : String
<<uses>> country : int

PwmPbBusinessProcess
(from common)
<<entity>>
TransactionDetailsDAO
(from dao) <<realize>>
TransactionDetailsVO
getTransactionDetails() (from vo)
getReportInfo() <<Interface>>
custodyAccountId : int BusinessProcessGroup
BusinessProcess
status : String (from business)
(from business)
validityDate : Date <<realize>>
<<uses>> nominalAmount : double
<<uses>> WKN : String
kind : String
paymentCurrency : String
transactionCurrency : String
marketPrice : double
DatabaseService
(from service)
accruedInterests : double
constituent : double
provision : double
OTC : double
fee : double
VAT : double
debitAmount : double
debitAccount : String
reservation : String
expensesAmount : double

Vertraulich Seite 180 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.12.6Behavioral design

: TransactionDetailsAction : TransactionDetailsV iewBean : : PwmPbModel : TransactionDetailsBusinessProcess


: User : XBeamServlet : XBeamController : TransactionDetailsDAO
ConfigurationService ReportManager
service( )
getController( )

doService(HttpServletRequest,HttpServletResponse)
update( )

getAction( )

prepareAction( )

performAction (viewBean)

getModel( )
getRootBusinessProcess()

PwmPbRootBusinessProcess
Gets the details for a
particular custody
getTransactionDetailsB usinessProcess() account

getTransactionDetails( )
getTransactionDetails( )
TransactionDetailsVO
TransactionDetailsVO

buildXmlString( )

getProperties(java.lang.String)

instance( )

ReportManager

generateReport(StringBuffer, String, String)


printPDF( )

printCSV( )

printXLS( )

ActionResult
XBeamPage

Forwards to

The Client Transaction Details functionality follows the below sequence:


• Please refer section 3.1 for the action sequence from user to BusinessProcess.
• TransactionDetailsAction gets the BusinessModel i.e PwmPbModel using
getModel() method.
• From the action using the PwmPbModel it gets the Root BusinessProcess i.e
PwmPbRootBusinessProcess using the getRootBusinessProcess() method.
• PwmPbRootBusinessProcess gets the TransactionDetailsBusinessProcess
process instance using the getTransactionDetailsBusinessProcess() method.
• TransactionDetailsBusinessProcess invokes the getTransactionDetails () for
getting the transaction details.
• The getTransactionDetails (TransactionDetailsVO) in the BusinessProcess class
will instantiate the TransactionDetailsDAO and invokes the
getTransactionDetails (TransactionDetailsVO) for getting the transaction
details.
• Valueobject TransactionDetailsVO sent to TransactionDetailsAction class for
report generation.
• TransactionDetailsAction inturn invokes buildXMLString method to create
xmldataholder string.
• Download area details fetched from the configuration properties file through
framework centric configuration service.
• ReportManager will be instantiated from the action class and Xmlstring, XSLT
path, download area location and report type to be passed as an argument for
report generation.
• Finally ReportManager generates the reports and store in the download area.

Vertraulich Seite 181 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.12.7Output
 This report gives details on Customer’s transaction details for a
particular custody account. It shows Payment currency, Transaction
currency, market price, accrued interest, Fee, VAT, debit amount and
account, OTC and other information of a custody account.
 The report output contains two sections of information as Header and
Details section.
 The header section contains information of the filter keys specified for
the retrieved data in details section, with details such as country region
and team.
 The details section contains information on custody account, WKN, class,
payment currency, transaction currency, market price, accrued interest,
constituent, record text, provision, OTC, charges, fee, VAT, Debit amount
and debit account.
 Refer section 5.1.12.4 for calculations involved for specific fields in
details section.
 The report can be generated in PDF, CSV and EXCEL formats. Refer
section 5.1.12.3 for details on formats.

1.14.12.8Persistence design
Page level Attributes Attributes effected Tables effected
Land[Country] DeutcheLand EP123T
Region[Region] EP001V.REGION EP035T
Team[Team] EP001V.TEAM EP001V
Depot[Custody Account] EP123T.DEPOT_ID
WKN EP123T.WKN11
[Security ID number]
Gattung[Class] EP123T.GATTUNG
Zahlwährung [Payment EP123T.ZAHLWAEHRUNG
currency]
Handelswährung EP123T.HANDELSWAEHRUNG
[Transaction currency]
Kurswert EP123T.KURSWERT_BETRAG
[Market price]
Stückzins [Accrued EP123T.STUECKZINSEN
interest]
Ausmachender betrag EP123T.AUSMACHENDER_BETRA
[Constituent]
Buchungstext [Record Text] EP123T.BUCHUNGSTEXT_1
Provision EP123T.PROVISION_BETRAG
[Provision]
Nutzen[OTC] EP123T.NETTO_NUTZEN_BETRA
Spesen[Charges] EP123T.SPESEN_BETRAG
Entgelt[Fee] EP123T.ENTGELT_BETRAG
Mehrwertsteuer EP123T.MWST_BETRAG
[VAT]
Belastung EP123T.BELASTUNG_BETRAG
[Debit amount]
Belastungskonto EP123T.BELASTUNG_KONTO
[Debit account]
Vertrag status NA
Valuata EP123T.TRANSAKTION_DATUM
Nominal/Stück EP123T.NOMINAL_BETRAG
Join
EP123T.DEPOT_ID= EP035T.DEPOT_ID
EP035T.FILIALKUNDE_ID= EP001V.FILIALKUNDE_ID

Vertraulich Seite 182 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.12.9Tracebility Matrix
Sl.No Type Reference ID Description
1 Use case U-RM-020 Customer – transaction details
2 Page Description P-RM-020 Customer – transaction details

1.14.12.10Additional / specifical Technical information


N/A

Vertraulich Seite 183 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

1.14.13 Create Information List


This functionality is used by all the usecases from U-RM-011 to U-RM-019. Before
creating an information list, the user can filter the basic data to be used for
calculating the report/information list on the basis of certain criteria. When the user
selects the desired filter fields, and determine in which format (HTML or file) the
report is to be created, and then click on the [Ausführen] [Execute] button, report is
created.

The filter fields are :

Field Description
Berater [Consultant] Filters branch clients who have the consultant as RM, IM or CA

Filiale [Branch] Only valid in conjunction with branch client. Filters a branch client

Kunden-nummer Only valid in conjunction with branch. Filters a branch client


[Client number]
Kunden-segment Filters branch client according to which particular client segment client belongs
[Client segment]
Kündigung von bis Agreements terminated in this time interval
[Termination from to]
Land [Country] Filters branch client
Leistung [Service]
Modell [Model]
Neu von bis [New The agreement is activated within the time interval
from to]
Norm zu Ist T€ [Norm Delta from Calc. yield to Norm yield is in input interval
/ actual T€]

Plan / Kalk [Plan / The selection field [Plan / Calc.] differentiates the display of the consultant’s
Calc.] own calculation (planned values in relation to volumes) and the actual values
(calculation). If several custody accounts are named in an agreement, the
overall planned value is uniformly distributed to the custody accounts.
Region [Region] Filters branch client
Stichtag [Cut-off date] Day of report calculation
Team [Team] Filters branch client
Unterdepot [Custody Compulsory field in conjunction with branch and client number
sub-account]
Vertrags-status Filters agreements
[Agreement status]

Zeitraum Von Bis (TX) Value date of transaction


[Period from to (TX)]
Zeitraum Von Bis Yields whose billing periods are within the time interval. If the billing period is
(Umsatz) [Period from only partly within the time interval the yield is only counted on a pro rata basis
to (Turnover)]

Since this functionality is used in conjunction with the other usecases (U-RM-011 to
U-RM-019), it is explained in those usecases.

Vertraulich Seite 184 22.10.2008


NSL-Pricing and Billing Software design document Version 1.1
Reports

Vertraulich Seite 185 22.10.2008

You might also like