Beruflich Dokumente
Kultur Dokumente
Administration Guide
Release 13.0
Table of Contents
Preface ..................................................................................................................... 3
WHO SHOULD READ THIS GUIDE? ................................................................................... 3
WHAT’S COVERED IN THIS GUIDE? ................................................................................... 3
OTHER SOURCES OF INFORMATION ................................................................................... 4
CONTACTING CUSTOMER SUPPORT.................................................................................... 5
NOTATION CONVENTIONS ........................................................................................ 5
1 OVERVIEW .......................................................................................................... 6
1.1 SYSTEM REQUIREMENTS ........................................................................................ 7
1.2 ENTERPRISE TECHNOLOGIES (PENDING) ..................................................................... 7
1.3 JAAS ............................................................................................................. 7
1.4 PASSWORDS (PENDING) ........................................................................................ 7
1.5 BRANDING (PENDING) ....................................................................................... 7
1.6 PRINTERS (PENDING) ........................................................................................ 7
1.7 MEMORY SETTINGS (PENDING) ............................................................................. 7
1.8 SERVER STARTUP SETTINGS (PENDING) ................................................................... 7
1.9 ENTERPRISE COMPONENTS (PENDING)..................................................................... 7
1.9.1 Ear file (Pending)....................................................................................... 7
1.9.2 Excel Executor (Pending) ............................................................................ 7
1.9.3 FTP (Pending) ........................................................................................... 7
1.9.4 ActivePDF (Pending) .................................................................................. 7
1.9.5 IBM MQ (Pending) ..................................................................................... 7
1.10 ENTERPRISE MODULES .................................................................................... 7
1.10.1 Process Manager .................................................................................... 7
1.10.1.1 Process Server Definition ................................................................... 10
1.10.1.2 Process Submission ........................................................................... 24
1.10.1.4 Librarian .......................................................................................... 40
1.10.1.5 Report Retention/Report Cleanup ........................................................ 41
1.10.1.6 Multi-threading (Pending) .................................................................. 42
1.10.1.7 XAMIN Specific Functionality (Pending) ................................................ 42
1.10.1.8 IMpower Specific Functionality (Pending) ............................................. 42
1.10.1.9 Report Packaging - Custom Report Package Template ........................... 42
1.10.2 CPS .................................................................................................... 45
1.10.3 EMS.................................................................................................... 45
1.10.3.1 Multi-threading (Pending) .................................................................. 45
1.10.3.2 Dedicated EMS Servers ...................................................................... 45
1.10.3.3 External Datasource Configuration ...................................................... 46
1.10.4 Expense Calculator ............................................................................... 46
1.10.5 MFC (Pending) ..................................................................................... 46
1.10.6 Reporting ............................................................................................ 46
1.10.6.1 Browser Reports ............................................................................... 46
1.10.6.2 RTK Reports ..................................................................................... 50
1.10.6.3 Adhoc Reports (Pending) ................................................................... 51
1.10.6.4 Batch Reports ................................................................................... 51
1.10.6.5 Engine Reconciliation Reports ............................................................. 55
1.10.6.6 Hybrid Reports (Pending) ................................................................... 56
1.10.6.7 Security Access Reports ..................................................................... 56
1.10.6.8 GCR Reports .................................................................................... 67
1.10.6.9 EMS Reports .................................................................................... 67
1.10.6.10 Browser Spectra ............................................................................... 67
1.10.7 Report Viewer ...................................................................................... 67
1.10.8 Excel Redirect Setup ............................................................................. 67
1.10.9 Brokers (Pending) ................................................................................ 70
1.10.10 Decalog (Pending)............................................................................. 70
1.10.11 Admin Process Monitor ...................................................................... 70
1.10.12 Architecture Property Maintenance ...................................................... 73
2 Application Configuration .................................................................................... 85
ENTERPRISE DISTRIBUTED ARCHITECTURE 13.0 ADMINISTRATION GUIDE
2 Asset Arena InvestOne
2.1 BOOTSTRAP .................................................................................................... 85
2.2 ARCHITECTURE TABLES ....................................................................................... 85
2.3 EXCEL EXECUTOR XML FILE................................................................................... 92
3 Application Logging ............................................................................................ 92
3.1 ROLLING LOGS, FILE SYSTEM USAGE/IMPACT, BEST PRACTICES ......................................... 95
3.2 MERCURY LOG (PENDING) ................................................................................... 95
3.3 EXCEL EXECUTOR LOG (PENDING) .......................................................................... 95
3.4 IOEXCELREPORT LOG ......................................................................................... 95
3.5 ACCESS LOG (PENDING) ..................................................................................... 96
3.6 APPLICATION SERVER LOG (PENDING) ..................................................................... 96
3.7 OPERATING SYSTEM LOG (PENDING)....................................................................... 96
3.8 MULTI-SERVER ENVIRONMENT (PENDING) ................................................................. 96
4 Single Sign-On (Pending) .................................................................................... 97
5 WebServices (Pending) ....................................................................................... 99
6 Data Extracts (Pending) .................................................................................... 101
7 Ole (Pending) .................................................................................................. 103
7.1 COM OLE (PENDING) ...................................................................................... 103
7.2 JAVA JOLE (PENDING) ...................................................................................... 103
7.3 SERVER OLE (PENDING) ................................................................................... 103
7.4 DESKTOP OLE (PENDING) .................................................................................. 103
8 Appserver Specific Configuration/Tuning (Pending)............................................... 103
8.1 WEBLOGIC.................................................................................................... 103
8.1.1 Stuck Thread Analysis ............................................................................ 103
8.2 WEBSPHERE (PENDING) ................................................................................... 105
8.3 TCSERVER (PENDING) ..................................................................................... 105
8.4 TOMCAT (PENDING)......................................................................................... 105
Appendix............................................................................................................... 106
DATABASE SCHEMA DIAGRAM GUIDE............................................................................. 106
Index.................................................................................................................... 107
PREFACE
Administrators who are responsible for the administration and configuration of the
Enterprise Distributed Architecture environment for their Users.
The above documentation is only available in Portable Document Format (PDF), and
is accessible from either the CD that was supplied at the time of your installation or
from our web site. The web site for this documentation is located at
http://www.investonesupport.com/ (see the Electronic Doc link).
If you need assistance, call Enterprise Customer Support at (630) 920-0745 press 1,
or email AAIA.CSC.NA@sungard.com. Or call the London Customer Support at 011
44 207 337 6005. Please check our web site at http://www.investonesupport.com/
NOTATION CONVENTIONS
If you are reading this manual online, you can click on the highlighted portion of a
link to go directly to the related information. To see how a link works, click on the
phrase "table of contents." Once you are "linked into" the table of contents, find the
link in the table of contents section called Notation Conventions. Click Notation
Conventions to return here.
Type Description
General Link Links to a section, text or object. Generally does not include
a section number, section heading or page number.
Cross Reference Link Links to a section, text or object. It generally includes a
section number, section heading and page number.
Indicates an important NOTE that should be read.
Symbol
1 OVERVIEW
The illustration below shows the relationship of the Enterprise DA components within
the context of the entire Asset Arena Investment Accounting architecture.
1.3 JAAS
Enterprise uses a file named Mercury_JAAS.config, which is positioned in the
application server’s “current working directory” for authentication and authorization.
MercuryLogin {
com.sungard.sims.mercury.security.authentication.UserPasswordLoginModule
required debug = true
loginValidatorClass="com.sungard.sims.mercury.security.authentication.Authenticati
onValidatorImpl" roleFile="/resources/properties/usersroles.properties";
};
The application server’s JVM must be configured to start with the argument:
-Djava.security.auth.login.config=Mercury_JAAS.config
Release 12.0 has an enhanced Process Manger implementation that introduces some
new concepts. At the end of this section, the differences are highlighted.
A dedicated Process Server has one or more allocation criteria. Allocation criteria
include InvestOne Accounting Region, InvestOne Accouting UserBank, Account,
Enterprise User Login, Customer, Primary Task Type, and Special Time Block. A
dedicated Process Server with multiple allocation criteria will run Processes that
match any or all allocation criteria depending on the Allocation Match type. For
example, a dedicated Process Server P1 with Allocation Match type of “Any” that has
allocation criterion C1 for User U1 and allocation criterion C2 for Account A1. Process
Server PS1 will execute Process P1 submitted by user U1 for any account, and it will
execute Process P2 submitted by user U2 against Account A1. Process P2 does not
meet User U1 criteria, but it does meet Account A1 criteria; therefore Process Server
PS1 does execute Process P2. If the same Process Server P1 is changed to Allocation
Match type of “All”, a process must match both criteria C1 and C2 in order to be
eligible to run on Process Server P1. Taking the same example above for Allocation
Match type of “All”, a process will run on P1 only if it is submitted by User U1 against
Acccount A1.
There are significant changes in Process Manager of Release 12.0. The Process
Manager updates include
Now that concepts of Process Manager are introduced, the following sub-sections of
Process Manager delve into further details. Before proceeding, however, some
differences are noted here.
With Enterprise 10.0, Process Manager is fully implemented in Java. Prior to 10.0,
Process Manager was implemented mostly through Windows components (.ASP
pages, VB/COM+ objects, & MSMQ) and ran on IIS. This architecture and approach
was introduced with Apollo, and continued with Enterprise, up to version 10.0.
Processes can be submitted to the Process Manager either immediately via the
Process Request screen, or at a scheduled time, via the Scheduler. Regardless of
submission type, all submitted Processes are executed in the same manner, via
Process Server.
• Name
• Enabled
• Maximum Threads
• Host Name
• Excel Executor Host
• Excel Executor Port
• EMS Engine Host
• EMS Engine Port
• Maximum size: 50
EMS Engine Port Text No • Numeric value
• Size: 1 - 9999
• Required if EMS Engine Host is not
empty
Specifying a Host Name restricts the Process Server to startup only on the specified
host. A Process Server may have a dedicated Excel Executor, which can be specified
in the Excel Executor Host and Port. As of 11.0 Enterprise, the EMS engine runs in
the same JVM as the Enterprise application, however, the use of remote EMS engine
is still available. In case of remote EMS engine, the user may specify the Host and
Port of the remote EMS Engine. The remote EMS engine is the legacy C++
implementation that runs on Windows CoEx servers.
When a new process manager is added, the system produces at least one INFO log
message that shows addition of a new process manager. The INFO log message
below shows addition of a new process manager named “Test”. Empty Hostname
field shows that the process manager is not bound to any single Enterprise hosts, but
rather is intended to run on all Enterprise hosts. It has ten threads, but it is not yet
enabled.
The above INFO log message is produced only on the Enterprise host that services
the PMCONFIG page request. If the new process manager had been added in enabled
mode, the Enabled property would be “Y”, and three additional INFO log messages
are produced signifying the start of the newly added process manager as shown
below.
The process manager start action INFO log messages are produced on all Enterprise
hosts that start the process manager. Since the process manager “Test” is not bound
to a single host, all Enterprise hosts will produce the start action INFO log messages.
If the process manager had been bound to single host, the start action INFO log
messages are produced only on the bound Enterprise host.
• Definition tab is activated and all fields are populated with selected Process
Manager’s attributes.
• User is directed to the Name field in Definition tab.
• User updates one or more fields. When at least one filed is modified, the
SUBMIT button is enabled.
• User clicks the SUBMIT button. The modified Process Manager definition is
forwarded to the server. System displays “Process Manager definition updated
successfully” at the status bar.
When a process manager configuration is updated, the system produces at one INFO
log message to show the new configuration of the updated process manager. The
INFO log message below shows an example of a configuration update on a process
manager named “Test”. Note that the log message does not show old and new
configuration. It only shows the new configuration. The INFO log in the example
below was result of thread count change from 5 to 10. Note that the message only
shows the new configuration with thread count of 10 as well as all other unchanged
configuration parameters.
Similar INFO log message is produced for all other parameter change. In case of the
Enabled parameter change, three additional INFO log messages are produced to
indicate the starting or stopping of the process manager. These three INFO log
messages are identical to the messages produced when new process manager is
added in enabled state or deleted while it had been enabled.
• Definition tab is activated and all fields are populated with select Process
Manager attributes.
When a process manager is deleted, the system produces at least one INFO log
message to show addition of a new process manager. The INFO log message below
shows deletion of a process manager named “Test”.
The above INFO log message shows delete action of a disabled process manager,
and it is produced only on the Enterprise host that services the PMCONFIG page
request. If the process manager had been enabled at the time of deletion, three
additional INFO message are produced. These three messages are produced on all
Enterprise hosts where the process manager had been running.
INFO 2014-07-23 09:33:25 39-994 ProcessExecutor: Executor [Test], instance count
[2] finished shutdown
The process manager stop action INFO log messages are produced on all Enterprise
hosts that start the process manager. Since the process manager “Test” is not bound
to a single host, all Enterprise hosts will produce the stop action INFO log messages.
If the process manager had been bound to single host, the stop action INFO log
messages are produced only on the bound Enterprise host.
During any of the above three use cases, the user may click the CANCEL button to
reset the PMConfig UI page or click the RESET button to revert the changes on the
current tab to the originally populated values. The SUBMIT and RESET buttons are
activated when a change is made on the current tab. The SUBMIT button has one
additional constraint on its activation in that it is only activated when updated
field(s) contain valid values.
The top panel of the allocation tab contains fields for entering a new allocation
criterion. The allocation criteria of a Process Server are listed in the table at the
bottom of the tab. The tab contains three buttons to add allocation criterion to the
grid, delete selected allocation criterion in the grid and clear fields of allocation
criterion. There is no explicit mechanism to change an existing criterion. To change
an existing criterion, the user must delete the target criterion and replace it with a
newly added criterion. The fields for adding new criterion are dynamically adjusted
based on the Allocation Type selected by the user.
Any addition or deletion of the allocation criteria while in Allocation tab are preserved
in the browser until the SUBMIT button is clicked to persist the updates in the server.
Following table describes all the fields of the Allocation tab in the context of adding a
new allocation criterion.
Definition Tab Field UI Field Required Validation / Default
Type
Allocation Match Drop-Down Yes • Default value: Any
• Possible values
o Any
o All
Allocation Option Drop-Down Yes • Default value: Unselected,
Enabled
• Possible values
o Customer
o Container
o Region
o Userbank
o Account
o User
o Special
Condition Drop-down No • Default value: Unselected
• Default mode: Disabled
• Enabled only when Allocation
Type selection is
o Customer
o Container
o Region
o Userbank
o Account
o User
• Possible values
o Equals
o Not Equals
Customer Drop-down No • Default value: Unselected
• Default mode: Hidden
• Unhidden only when Alloction
Let’s say our executor configuration definition is defined as in the following table:
Suppose we have three enterprise application instance A1, A2, A3 running on the
host H1, H2, H3. Based on the above executor definition, our process manager
configurations will look like the following:
Lastly row #6 is for all true full-time catch-all process executors that have no
allocation criteria, which happens to be E5 in this example. Note that there is no
specific process executor defined for PROCESS_EXECUTOR_DEFNTN_SID. If there
were 10 additional full-time catch-all process executors E11 through E20 are
present, row #6 would represent all of these full time process executors (E5, E11
through E20). This differs from the catch-all time window allocation rows for E6 and
E8. The part-time dedicated process executors like E6 and E8 are catch-all at
different time periods of the day. Therefore it is necessary to specifically add rows for
individual catch-all time windows of specific part-time dedicated process executors.
So why bother with recording the time window boundaries for each allocation entry?
Recall that the process allocations are recorded in the PROCESS_EXECUTOR_ALLOC
table at the time of process submission. Processes are retrieved during process
execution to dispatch the process to one of the available and eligible process
executor. The process submission and execution occur in two different threads,
possibly even on two different Enterprise applications JVM. The delay between
process submission and execution can vary depending on various factors such as the
rate of new process submission and the number of running process executors. There
is a significant probability that a process submitted at time t1 may be eligible to be
run by a process executor at time t1, however by the time that same process
executor actually attempts to run the process at time t2 it is no longer eligible.
Consider for example, that process P1 had been submitted at 7:59:59. Furthermore
assume that there is capacity only on process executor E6 and all other process
executors are busy. Now imagine that by the time P1 is retrieved from
PROCESS_EXECUTOR_ALLOC for execution the time is 8:00:01. At this point, P1
should not be dispatched to E6 for execution because E6 is now in its specific
allocation time window for allocation criterion C1 where it is reserved for processes
on region R3. If the time windows are not specified in the allocation entry, then E6
would run P1 thus violating its allocation criteria. Under heavy load condition the
delay between process submission and its eventual execution may be significantly
higher. To prevent such scenario, it is necessary to record the time window in the
PROCESS_EXECUTOR_ALLOC table rows.
Process Request
There are two means by which a Process life originates: System Request and User
Request.
A user requested Process originates from the user actions on the Process Request
page. Process Request page is reached by menu action or by Jump-To shortcut
action. The browser sends a request to
/Apollo/processmanager/invokeIoReqSubmit.do to Enterprise server when Process
Request page is requested. In response, Enterprise server generates and sends
HTML that has a Process selection drop-down element and a number of input
elements for Process Task Parameters. Recall that a Process definition has one or
more Tasks, and each Task has one or more Parameters such as account number,
date range, etc. against which the Task is executed. The set of input elements for
Process Task Parameters is determined by the Process definition selected in the
Process selection drop-down element. The Process definition names in Process
selection drop-down element are sorted in alpha-numeric order. On a first visit to
Process Request after user login, the first Process in the drop-down element is
selected by default. On subsequent visit to the Process Request page by the same
user, the Process selection in the drop-down element defaults to the Process
selection on last visit of Process Request page. The Process Request page is dynamic
in that it is automatically refreshed depending on user’s action on Process Request
page. If user changes the Process selection, browser sends another request to
/Apollo/processmanager/invokeIoReqSubmit.do with query parameter indicating the
selected Process. Enterprise server responds with a new HTML reflecting the
necessary Process Task Parameters of the Process selection. The Process Request
page is refreshed with necessary set of input elements for Parameters of selected
Process each time the user changes the Process selection. Another dynamic behavior
of Process Request page is Parameter validation. Certain Parameters validation is
performed server-side on Enterprise server while others are validated client-side on
the browser with JavaScript code embedded in the Process Request page.
Parameters such as account number result in a round-trip to Enterprise server for
server-side validation.
User’s SUBMIT button action on Process Request page triggers the browser to invoke
the /Apollo/processmanager/invokeIoReqSubmitPost.do with the user-entered
Process data. On Enterprise server, IoReqSubmitPostService collects Process data
from Process Request page, and it adds additional environment Parameters such as
Customer, Region, UserBank, etc. from user’s login session. The
IoReqSubmitPostService sends Process data to the SubmissionManager component.
The SubmissionManager is the boundary between Process Request stage and Process
Submission stage. The SubmissionManager component consists of Process data
queue, and collection of queue consumer worker threads. The queue in
SubmissionManager decouples Process Request stage and Process Submission stage,
with Process Request stage operating in context of HTTP request thread being the
queue producer and Process Submission stage operating in context of
SubmissionManager worker threads being the queue consumer. This decoupling is
necessary so that user can regain control of user interface as quickly as possible to
pursue other Process execution requests or visit a different user interface page
altogether. The SubmissionManager component is described in detail in the Process
Submission section.
Process Request page is used not only to make a request for immediate Process
execution, but also to request a Scheduled Process execution. User may setup a
schedule for Process execution rather than having it proceed to Process Submission
stage immediately after completing Process Request page. Note, however, that
Process entered on Process Request as a one-time Scheduled Process or recurring
Scheduled Process is not instantiated. Instead a Scheduled Process is originated by a
Scheduler component, which runs in the background and monitors timer for each
Scheduled Process. Upon a Scheduled Process timer expiry, Process is instantiated
and submitted for execution.
Process Submission
• Reduced memory footprint – Process parameter lists can be quite large and
occupy a significant amount of memory. By storing process parameters
externally in a file and only maintaining the file name in memory, the memory
footprint is reduced.
• Recovery – In the event of unplanned server shutdown, the in-memory queue can
be recreated by the contents of the queue files (since each file is created
sequentially).
the file as binary data that is a set of key-value pairs written using Java serialization.
The files are temporary until Process data is recorded in the database. It is not
uncommon to find the pmqueue directory empty during normal operation of an
Enterprise server, because lifetime of the temporary files is so short that it is
unnoticeable. The files are named such that the arrival order of Processes can be
ascertained, thus allowing for a recreating the in-memory file-name queue upon
server restart.
Process data read from SubmissionManager queue file are analyzed, validated and
ultimately stored in database. There are two sets of database table related to
Processes. First set of tables contains the definition of a Process.
Consider clnt_*_tbl tables as storage for Process template definitions, which are
instantiated for each time a Process execution is requested. The IoReqSubmitService
servicing the Process Request page uses the clnt_*_tbl tables to appropriately
refresh the Process Request web page as described earlier. Instantiation of a Process
template definition with the specific parameters is the Process execution definition.
Process execution definitions are stored in following tables.
The SYS_PROCESS table stores the execution characteristics that apply to the entire
Process. These characteristics include items account number, user id of user
submitting the Process request, Process status, etc. One Process execution definition
occupies one row of SYS_PROCESS. The SYS_PROCESS_TASK table stores the
execution characteristics such as the result of specific Process Task execution and its
execution start and completion time. Each Process Task is stored in a single row of
SYS_PROCESS_TASK, and they are associated to the Process row in SYS_PROCESS
table. The SYS_PROCESS_PARMS table stores Task Parameters. There may be
multiple rows in SYS_PROCESS_PARMS per Task, and each row they are associated
to the related Task row in SYS_PROCESS_TASK table. Any Task execution definition
has multiple Parameter values. Unlike SYS_PROCESS and SYS_PROCESS_TASK
tables with a single item to single database table row pattern, the
SYS_PROCESS_PARMS stores multiple Parameter values in a single row. Multiple
Parameter key-value pairs are concatenated and stored in single row of
SYS_PROCESS_PARMS table. There is a limit on the number of Parameter key-value
pairs that can be concatenated and stored in a single SYS_PROCESS_PARMS row.
When a set of Parameter key-value pairs exceeds the limit, each
SYS_PROCESS_TASK may have multiple associated rows in SYS_PROCESS_PARMS
table, however, in most case this is expected to be in a single row, or at least, the
count of rows in a single digit.
Process Manager in Release 12.0 adds the ability to define dedicated Process Servers
reserved to execute Processes matching certain criteria. The allocation criteria are
Refer to the Process Server Definition section for details on the Process allocation
criteria. There are two inputs to the ProcessAllocator mechanism. One is the Process
data, and the other is the set of dedicated Process Server definitions.
ProcessAllocator evaluates the Process data against allocation criteria of each Process
Server. The output of the evaluation is a set of allocation records that show Process
Server eligible to execute the Process and time interval within which the eligibility is
valid. The Process allocation records are stored in PROCESS_EXECUTOR_ALLOC
database table. This allocation table serves as the hand-off between Process
Submission stage and Process Execution stage. Process Execution controller
periodically queries the Process allocation table for Processes that it can dispatch to a
Process Server for execution. The next section delves into more details on the
Process Server Controller and Process execution. For now, several examples are
shown here to illustrate the Process allocation mechanism and the structure of
Process allocation records.
Consider, for example, following 3-node clustered Enterprise environment with three
Enterprise application nodes N1, N2, and N3 on Linux hosts H1, H2, and H3,
respectively.
The environment is configured with Process Servers PS1 through PS4. There is one
general-purpose Process Server PS1 without any hostname affiliation, which is
started on all Enterprise application nodes. There are three dedicated Process
Servers (PS2, PS3, PS4) with specific hostname affiliation. Process Server PS2 is
dedicated to execute only Processes submitted against InvestOne Accounting Core
Region R1, and it is dedicated to this rule only daily for a one-hour time interval
between hours 8:00 AM and 9:00 AM. Process Server PS3 is dedicated to execute
only Processes submitted against InvestOne Accounting Core Region R2, but it is
dedicated to this rule for full 24-hour daily. Process Server PS3 is dedicated to
execute Processes submitted against InvestOne Accounting Core Region R2 between
8:00 AM and 3:00 PM and Processes submitted against Region R3 between 3:00 PM
and 6:00 PM. Since PS2 is affiliated with Linux host H1, it is only started by
Enterprise application node N1. Following the same hostname affiliation rule, PS3
and PS4 are started only on Enterprise application nodes N2 and N3, respectively.
Suppose that a user logged in to Enterprise for Region R2 submits a new Process P1.
Process Allocator evaluates Process P1 against all allocation criteria of all dedicated
Process Servers, and inserts allocation records into PROCESS_EXECUTOR_ALLOC
table. Note that the allocation evaluation is performed for ALL dedicated Process
Servers of all Enterprise application nodes, because Process Manager is an entity that
spans across all nodes of a clustered Enterprise environment. Request for Process P1
may be received and evaluated by Enterprise application node N1, but it may be
eligibly, and may eventually, execute by a Process Server on Enterprise application
node N2 or N3. Assume that user’s request for Process P1 was indeed received by
Process Request stage on Enterprise application node N1. Recall that the separation
between Process Request and Process Submission stage is the Submission Manager
with its queue backed-by local file-system. The use of local file-system dictates that
the same node that receives the request in Process Request stage must also walk the
incoming Process through Process Submission stage. As such, Process Allocator on
Enterprise application node N1 evaluates Process P1 against all dedicated Process
Servers, and generates the following Process allocation records.
The allocation records in above table are using symbolic values for Process id,
Process Server id and allocation criterion id. In real allocation records, however,
these values are 10-digit numeric database identifier values from the appropriate
database table as described above. The eligibility start-time and end-time values
account for the delay a Process may experience in the database between Process
Submission and Process Execution stages. It is possible the Process Execution rate
may be lower than Process Submission rate at time due to multiple factors such as
earlier having received a burst of time-consuming Processes with many tasks or
having received Processes reporting accounts with large number of sub-accounts. In
such conditions where Process Submission rate significantly exceeds Process
Execution rate, a Process may remain in database for some non-trivial time interval.
Consider, for example, a Process P0 is submitted for Region R2 at 2:59:01 PM is
deemed to be match against a Process Server PS4 for an allocation criterion C3 that
spans the time interval 8:00 AM to 9:00 AM. Suppose now that the Process
experiences a 3-minute delay in the database and the time when this Process is
ready to be dispatched for execution is 3:02:01 PM. Since PS4 is only eligible to run
the P0 between 8:00 AM and 3:00 PM, it cannot execute the P0 at 3:02:01 PM.
Process Execution stage uses the eligibility start-time and end-time to determine the
validity of the match performed during Process Submission. The eligibility start-time
and end-time values are four-digit numeric values that represent hour and minute of
the data in the HHMM format. For example, 815 represents 8:15 AM, 1030 represent
10:30 AM, 1200 represents 12:00 noon, 1314 represents 1:14 PM, etc. There is one
exception to this rule, however, in representation of 12:00 AM midnight hour. An
allocation record indicating an All-Day eligibility period has start-time and end-time
of 12:00 AM to 12:00 AM the next day, which are represented as 0 to 2400,
respectively. The Process Allocator algorithm, whose discussion is outside the scope
of this document, dictates this midnight hour number approach. The start-time value
is inclusive, and the end-time value is exclusive. For an allocation window of 8:00 AM
to 3:00 PM, eligibility starts at 8:00:00 AM and ends at 2:59:59 PM.
Process Allocator creates zero or more allocation records for each dedicated Process
Server, and record count depends on the whether the dedicated Process Server is a
full-time or part-time Process Server. Process Allocator always runs the matching
algorithm from midnight hour to midnight hour of the next day. Referring to the
above example, Process Server PS2 has no matching allocation criterion for Process
P1; therefore there are zero allocation records matching P1 to PS2. Process Server
PS3 is a full-time Process Server, and it has allocation criterion C2 that matches
against Process P1 All-Day; therefore there is one allocation record for matching P1
to PS3 with start-time of 0 and end-time of 2400. The start-time of 0 and end-time
of 2400 indicates that PS3 can execute P1 at anytime of the day. Process Server PS4
results in a much more complex set of allocation records. There are four allocation
windows in a daily 24-hour period for PS4.
There is one record per matching time window for PS4. There are two allocation
records for PS4 during its general-purpose time windows. A general-purpose time
window of dedicated Process Server is one where the allocation criterion id value is
null. There is a general-purpose time window between 0 and 800 (12:00 midnight to
8:00 AM), and another general-purpose time window between 1800 and 2400 (6:00
PM and 12:00 midnight the next day). Process P1 does match criterion C3, so there
is an allocation record specific for C3 with between 800 and 1500 (8:00 AM to 3:00
PM). Process P1 does not match criterion C4, so there is no allocation record for P4
between 3:00 PM and 6:00 PM. ProcessAllocator generates total of four allocation
records for P1 when matched against dedicated Process Servers P2 through P4, zero
for PS2, one for PS3 and three for PS4.
ProcessAllocator behavior described thus far as been related to that dealing with
dedicated Process Servers. As a general-purpose Process Server PS1 is eligible to
execute P1, so an allocation record for PS1 match is necessary. Every Process has at
least one allocation record for general-purpose Process Servers. Although a general-
purpose Process Server can execute any Process, an allocation record is necessary
because allocation records also serve as a signal between Process Submission and
Process Execution stage. Process Execution stage relies exclusively on allocation
records to dispatch Processes for execution. It is not necessary to identify match
with all instances of general-purpose Process Servers, however. So there is a single
allocation record with null value for Process Server id and null value for allocation
criterion id, which is essentially a signal from Process Submission to Process
Execution that the newly arrived Process is ready for execution. The allocation
records for dedicated Process Server adds a level of specialization.
This section discussed the Process data tables and Process allocation mechanism.
Process allocation records in the PROCESS_EXECUTOR_ALLOC table serve as signals
between Process Submission stage and Process Execution stage while rows in
SYS_PROCESS_* set of tables serve as Process data store. At the center of Process
Execution stage is the Process Server Controller that dispatches Processes to Process
Servers for execution.
Process Execution stage is the final stage of Process lifecycle. It consists of two main
components: Process Server Controller (PSC) and Process Server(s). There is one
PSC per Enterprise application node, and it is started during application startup and
remains running on that application node until the application node is shutdown. The
PSC runs in context of a single thread, and dispatches newly submitted Processes to
Process Servers for execution. The PSC has three stages in its lifecycle: startup,
runtime, and shutdown.
On any given Enterprise application node, the PSC starts Process Server(s) eligible to
run on that node. An eligible Process Server is one that either has no hostname
affiliation or it has hostname affiliation matching the Linux hostname of current
node. Referring to the multi-node clustered Enterprise deployment example
discussed in Process Submission section, Process Server PS1 is eligible to run on all
three Enterprise application nodes, while PS2, PS3 and PS4 are started only on nodes
N1, N2, and N3, respectively. The next step in the PSC startup stage is to reset
Processes that were abandoned in mid-execution by the same node during its
previous incarnation when, most likely, the node was abruptly and ungracefully
shutdown. The Process execution definitions in the SYS_PROCESS_* tables are reset
to the last completed Process Task. The name SYS_PROCESS_* refers to the set of
tables consisting of SYS_PROCESS, SYS_PROCESS_TASK and SYS_PROCESS_PARMS
tables. In other words all completed Process Tasks are left in completed states as
they are, and any mid-execution Process Task is reset such that it will start again
from beginning. Recall that the Process allocation records in the
PROCESS_EXECUTOR_ALLOC table are the signals that trigger Process Execution
stage to dispatch the process. Therefore, all abandoned Processes that are reset
must be run through the Process Allocator to create appropriate Process allocation
records. In addition to restoring the signaling mechanism, the allocation reevaluation
also ensures that the Process will be matched and allocated to the most recent and
current Process Server definitions. Upon completion of startup, the PSC proceeds to
enter its steady-state stage, which is the runtime stage.
The PSC remains in runtime stage for the duration of the application lifecycle until
application node shutdown is issued. In the runtime stage, the PSC repeatedly
performs the following actions.
The above two actions are repeated on a default 2-second period, though this period
is configurable using a JVM argument named pscSleepTime (i.e. –
DpscSleepTime=5000 for 5-second period). It is not necessary to configure
pscSleepTime option, however. When there is no pscSleepTime JVM argument
specified, the pscSleepTime defaults to 2 seconds. On each periodic wakeup, PSC
applies Process Server definition changes, if any, and dispatches waiting Processes to
Process Servers for execution.
• Enabled to Disabled
o Process Server is disabled
o Process Server hostname affiliation changed from no affiliation to a
specific hostname of peer Enterprise application node. For example, if PS1
hostname affiliation changed from unspecified to H1, PS1 is disabled on
application nodes N2 and N3 but continues to run on application node N1.
o Process Server hostname affiliation changed from hostname of local
application node to hostname of a peer application node. For example, if
PS2 hostname affiliation changed from H1 to H2, PS2 is disabled on
application node N1, and it is created and enabled on application node N2.
o Locally running Process Server is deleted.
• Disabled to Enabled
o Process Server is enabled.
o Process Server hostname affiliation changed from hostname of a peer
application node to hostname of local application node. For example, if
PS2 hostname affiliation changed from H1 to H2, PS2 is created and
enabled on application node N2.
o Process Server is created with either no hostname affiliation or with a
hostname affiliation matching hostname of local application node.
• Enabled to Enabled with Thread Count Change
o Process Server remains enabled.
o Thread count is decreased or increased to the new thread count.
o If thread count is decreased, running processes are allowed to complete
before the thread count is decreased to the new value.
Changes to Excel Executor or EMS hostname and port numbers do not alter the
running state of a Process Server. Process Server merely passes those attributes to
the running Process, so that correct Excel Executor or remote EMS can be invoked, if
applicable.
The next step after applying Process Server definition changes, PSC runtime
proceeds to dispatch waiting Processes to Process Servers with available threads.
The dispatch attempt is made only if there are idle Process Server threads. First PSC
dispatches Processes that are matched to specific dedicated Process Servers, then
dispatches Processes that are matched to general-purpose Process Servers. In each
dispatch attempts, PSC queries the PROCESS_EXECUTOR_ALLOC table to receive
waiting Processes in order by their submission time to maintain a FIFO order. For
specifically matched case, PSC looks for allocation records of with non-null Process
Server id and non-null allocation criterion id. In general-purpose case, PSC looks for
allocation records with null allocation criterion value. Note that an allocation record
with non-null Process Sever id but null allocation criterion id implies that the Process
is matched to a part-time dedicated Process Server during its general-purpose time
window. The allocation record queries are further qualified with two additional
constraints: list of Process Server identifiers and current time in HHMM numeric
format. The PSC looks for only those allocation records that either have a null value
for Process Server id or a value matching the id of one of its locally running Process
Servers. After all it is meaningless to retrieve allocation records that point to Process
Servers running on peer Enterprise application nodes. Recall that allocation records
have eligibility start-time and end-time in HHMM numeric format as described in
Process Submission section. It is here in the PSC where the eligibility time interval
values recorded during Process Submission are used.
Repeating the Process allocation records result from previous example above, the
attempt to dispatch Process P1 for execution by PSC on Enterprise application node
N3 is demonstrated here. Enterprise application node N3 is running a general-
purpose Process Server PS1 and a part-time dedicated Process Server PS4. To
reiterate the allocation criteria of the earlier example, PS4 is dedicated to Region R2
Processes between 8:00 AM and 3:00 PM and to Region R3 between 3:00 PM and
6:00 PM. Let’s add some additional scenario conditions.
• Process Server PS1 and PS4 have only one thread each
• Process P1 is submitted at 2:59:00 PM
• Process backlog in database is large such that query for allocation records by PSC
on node N3 is about to take be invoked at 3:05:00 PM.
PSC first looks for specifically matched Processes, which includes P1. PSC queries
allocation records for PS4 having non-null criteria and current time as 1505 (3:05:00
PM in numeric 24-hour HHMM format). The query result yields one record with
allocation #1, whose eligible start-time and end-time are 800 and 1500 respectively.
Since current time 1505 is outside the eligibility period, P1 can no longer be
dispatched to PS4. Another way to look at this is to note that PS4 between 3:00 PM
to 6:00 PM is reserved for Processes for Region R3. Since P1 is for Region R2, it
cannot be dispatched to PS4. This objective was accomplished using the eligibility
interval in Process allocation record. Specifically matched Processes attempt by PSC
on node N3 results in no specifically matched Processes. Next the PSC attempts to
dispatch Processes to general-purpose Process Server. The general-purpose Process
Server PS1 is running on node N3. The PSC queries allocation records for allocation
records having null value for Process Server id, null value for allocation criterion id,
and current time of 1505 (3:05:00 PM in numeric 24-hour HHMM format). The query
result yields one record with allocation #5. Process P1 is dispatched to PS1 running
on application node N3. The act of dispatching a Process involves marking an
execution claim on the Process in SYS_PROCESS table such that no other Process
Server on a peer application node attempts execute the same Process. Process P1 is
When a PSC dispatches Processes to one of its local Process Server, it starts
executing in one of the Process Server thread. All Process Tasks of that Process
begin and end on the same thread. For each Process Task, following actions take
place in context of a Process Server thread.
Note (1): For Processes with a Process Code of ‘C’ or ‘F’ and containing one or
more Hybrid Report Tasks, the RESULT_CODE of each individual Task (in
SYS_PROCESS_TASK) is checked, and if there are any with non-zero value, then the
Process Status is set to ‘Ended with Errors’.
Note (2): For Processes with a Process Code of ‘C’ and containing one or more
Invest One Service Tasks, the RESULT_MSG of each individual Task (in
SYS_PROCESS_TASK) is checked, and if there are any that include the phase
“ioservice warning” (ignoring upper/lower case), then the Process Status is set to
‘Ended with Warnings’.
Note (3): For Processes with a Process Code of ‘C’ and containing one or more
Engine Report / Hybrid Report Tasks, if there are no Hybrid Report errors (see Note
(1) above), and all Engine Report Tasks have been successfully processed, then
Process Status is set to ‘Ended’.
1.10.1.4 Librarian
The Librarian was introduced in the 10.0 release of Enterprise. When upgrading an
environment from pre-10.0 release of Enterprise to 10.0 or higher, a database
population tool will need to be utilized to transition existing file-based content from
the file system into the database.
The Librarian is the interface to the Library and Catalog, and is used by other
components that need to store or retrieve a file. It is the responsibility of the
Librarian to create catalog entries when needed, store or retrieve the file from the
temporary or permanent storage. When a file is to be placed into the Library, either
for initial storage or update, the Librarian creates or updates an entry in the Catalog;
zips the file; pushes the file to the temporary storage; breaks the file into 1MB
blocks; Base64 encode each block; break up each block into chunks of N bytes; and
finally add/update/delete rows within the Library to permanently store this file. If a
file is to be retrieved from the Library, the Librarian reads the Catalog to retrieve the
file’s Library identifier. Next, an attempt is made to retrieve the file from the
temporary storage. If the file is found, it is unzipped and returned to the requester
as a file stream. If the file is not found, an attempt is made to extract its chunks
from the Library; join the chunks into a block; decode each block from its Base64
encoding; join the blocks back into an array of bytes; persist the array of bytes to
the temporary storage as a file object; unzip and return to the requester as a file
stream. If the file is not found, an error is returned to the requester.
The Library consists of two entities: permanent storage within the Enterprise
database and temporary storage within the operating system environment. The
temporary storage is monitored by the CacheStateManager for staleness and contain
a recent copy of a file which aids in the reduction of database use. A file that is
placed in the temporary cache exists as a single component in zip format. The files
stored within the permanent storage are zipped, broken into 1MB blocks, each block
is Base64-encoded and each block is divided in chunks which will fit within a
database page. Updates to permanent storage take into consideration the re-
use/addition/deletion of existing blocks and chunks for database efficiency. The
permanent storage is in the table LIB_LIBRARY.
The Catalog maps an internal identifier within the Library to the actual Path Name of
the file as it is known to the Enterprise application. The path name is “scrubbed” to
remove what appears to be environment-specific information such as a Windows
drive letter. Catalog entries also contain a customer identifier, a type, and usage
statistics such as read count, update count and cache hit. The Catalog is stored in
the table LIB_CATALOG.
Possible Conditions:
• The default printer that is set on the coex server where Excel is
processing the report is not compatible with the PDF printer’s scaling,
margin, or font settings;
• The default Normal style used by Excel for a new, blank workbook and
report packaging is not compatible with the Normal style of the
individual report.
Step Details:
/RptPkg/RptPkgTemplate.xls
*** Make sure there are no leading or trailing spaces in the Path
field.
IV. Test the use of Custom Report Package Template using Process
Manager
11. Test at least one process through process manager that previously
experienced column overflow problems when printing to PDF.
12. If there are existing schedules that should use the Custom Report
Package Template, those schedules need to be updated in order to
include the Custom Report Package Template definition as a
parameter. After updating the schedules, test/run the schedules.
1.10.2 CPS
The Central Pricing System (CPS) is designed to support the validation and correction
of security prices on an ‘Exception’ basis.
CPS uses parameters in the Site Profile and User Profile to control specific
functionality. One such option allows the client to run the CPS component for single
user bank or multiple user banks. To utilize the Multiple User Bank processing, client
must also have IBM MQ Series for the DRIP/DROP processing for data download
configured.
The Site Profile is used to control specific options for CPS processing:
1) io_CPSMaxRows Max number of exceptions to display on CPS
Browser. screens
2) io_CPSRetentionDays Number of days to retain exceptions in the
database.
3) io_NewCPS ‘T’ will activate Multiple User Bank processing.
‘F’ will activate Single user Bank.
The User Profile is used to control specific options for CPS processing:
1) io_CPSMaxRows Max number of exceptions to display on CPS
Browser. screens
1.10.3 EMS
The Exception Manager System (EMS) is an Exception-based processing environment
that allows the InvestOne user to request the execution of tasks that run EMS
Business Rules. The rules identify ‘exceptions’ (i.e. outlier data conditions) within the
investment accounting data.
1. Do not expose the EMS servers to the users via the Load Balancer.
2. Configure the Process Servers on these servers to execute only EMS related
processes.
ProcessServer[1].StoredProcNameForSingleJobs
= “pm_getNextJob_in_container”
ProcessServer[1].StoredProcNameForMultipleJobs
= “sp_pm_getNewJobs_in_container”
ProcessServer[1].StoredProcContainerNames
= “Exception Template”
ProcessServer[1].StoredProcNameForSingleJobs
= “pm_getNextJob_ex_container”
ProcessServer[1].StoredProcNameForMultipleJobs
= “sp_pm_getNewJobs_ex_container”
ProcessServer[1].StoredProcContainerNames
= “Exception Template”
1.10.3.3 EXTERNAL DATASOURCE CONFIGURATION
The format of the Argument in WebLogic 'Server Start - Arguments' is: -
D[ImplServerName]=[IP:Port]
Where: [ImplServerName] is the unique ImplServerName associated with the
External Database (from EMS Database Server Screen)[IP:Port] is the IP and Port
of the External Database;
The Expense Calculator data is stored in a database separate from the operational
database. Each UserBank that contains data for the expense calculator requires its
own database.
1.10.6 Reporting
Overview
1) Log into Enterprise for the SunGard customer and choose the
Administrator role;
2) Jump to LIBMGMT;
3) To upload a custom version of the Apollo_Parms.ini file:
a. Use the Browse button next to the File Catalog field to locate
the Apollo_Parms.ini file on your local machine;
b. For “Path”, enter “Apollo_Parms.ini” (enter that string without
quotes);
c. Keep CUSTOMER_SID = 0;
d. Leave Text File as the Type;
e. Click Submit. (NOTE: Managed servers must be restarted in
order to effect Apollo_Parms.ini changes within Enterprise.)
4) To upload an existing (or new) custom parameter file:
a. Use the Browse button next to the File Catalog field to locate
the custom parameter file on your local machine;
b. For “Path”, enter “Includes/<filename>” (enter that string
without quotes, substituting <filename> , e.g.,
MyParameter.htm);
c. Specify the CUSTOMER_SID that that will be using the
parameter files;
d. Leave Text File as the Type;
e. Click Submit.
UploadRpt
Steps:
TaskMaint
Steps:
Choose the appropriate Task Id from the list. Scan Only may be
executed first in order to review comparative results between the
database and template, and to determine whether a subsequent
Update should be executed on the selected task.
Steps:
Steps:
1) From within the Enterprise - Viewer, save the report to desktop (desktop
or any other appropriate folder).
2) From the saved location, launch to open the report in local Excel.
3) Go to Review tab, choose the Protect Workbook function, and uncheck
the option Protect Structure and Windows.
4) If the Developer tab is not already visible in the ribbon, go to Excel
Options > Popular and check the box that is labeled “Show Developer tab
in the Ribbon”. Save changes. Exit the Excel Options.
For Excel 2010, go to the File tab, choose Options, then Customize
Ribbon. Check the Developer box that is listed in the right column. Save
changes.
5) From the Developer tab of Excel, choose the Visual Basic function.
6) From the Microsoft Visual Basic menu, choose View > Project Explorer.
7) From the Microsoft Visual Basic menu, choose View > Properties Window.
8) Within the Project – VBAProject pane, click to select the sheet that needs
to be made visible.
9) Within the Properties - Sheetn pane (now showing the properties for the
highlighted sheet), highlight the Visible property.
10) From the Visible property drop-down, choose the xlSheetVisible property.
11) At this point, the Visual Basic window can be closed or left open. The
objective is to get back to the Excel workbook window, and there are
several ways to get there:
a. From the Microsoft Visual Basic menu, choose File > Close and
Return to Microsoft Excel;
b. From the Microsoft Visual Basic menu, click on the Microsoft Excel
icon;
c. From the Windows task bar, click on the Microsoft Excel task that is
associated with the Microsoft Visual Basic task.
12) Within the Microsoft Excel Workbook window, find and click on the sheet
tab that is now unhidden.
There are two ways to update RTK reports published prior to Enterprise
11.0 SP13 that have reference to “hidden” presentation objects and
need to be run through Process Manager:
Executed reports are stored in the Librarian. When a user requests a previously
generated report, the server retrieves the file from the database and streams it
to the client.
The following parameters in the User/Site Profile are used by the Batch Report
process and therefore must be defined. They are:
A Java Applet report viewer is used to display the engine report in the browser.
The submission and processing of Engine Reports in Enterprise involves several AAIA
components and sub-components working in concert. These components are:
• Enterprise Managed Server (Enterprise)
o ProcessServer
o
o EngineReportPollerService (a Scheduler Service)
o EngineReportsProcessor
• FTP Server
• Database
• InvestOne Engine
Engine Reports may be submitted for processing either interactively via a user on the
Process Request Screen, or as a scheduled task. In both cases, Enterprise submits
the Engine Report job request by inserting new rows into the Process Manager
database tables. This is no different that submitting any job request to Process
Manager. The relevant Process Manager tables are:
• SYS_PROCESS
• SYS_PROCESS_TASK
• SYS_PROCESS_PARM
A Process Server instance in Enterprise then claims the job, modifies its status as
Running, and proceeds with its execution. With Engine Report requests, Process
Server opens a connection to the InvestOne Engine and streams the report JCL to
the Engine for execution. This JCL submission is asynchronous, as Process Server
does not wait for the Engine response. Upon acknowledgement that the JCL
submission to the Engine was successful, Process Server considers the job complete.
Once the InvestOne Engine completes the JCL execution, it pushes the resulting
report (with an .IOR file extension) to the configured FTPServer. At this point, the
involvement of the InvestOne Engine is complete.
NOTE:
There is a significant difference between the Mainframe and UNIX implementations of the InvestOne
Engine, regarding the configuration of the FTPServer. With a Mainframe implementation, the FTPServer
connection info (address, port, user, password, etc.) is included in the submitted JCL. It is ultimately
configured in the ARCH_PROPERTY table of the database, and Enterprise queries this info when building
the Engine Report job request and JCL. (relevant settings are listed below) With the UNIX
implementation, the FTPServer connection info is configured via a local config file on the UNIX server.
In both implementations, the FTPServer may be, but does not need to be, co-located on the same server
instance as the Enterprise Managed Server.
invocation, this service looks for newly completed report files on the FTP Server.
When a new file is detected, it first reserves the file for processing by renaming the
file with a “.res” extension, thus preventing any inadvertent service invocations by
other Enterprise instances in the same environment from doubly processing the file
(This is just a defensive technique although technically it is now not possible for
other instances to process this same file during the same time). For example,
“123456.ior” is renamed to “123456.ior.res”. The next service implementation step
opens the report file for reading and creates a new temporary copy of the report on
the host filesystem of the Enterprise instance of which it is a component. Once this
copy is complete, it deletes the report file on the FTPServer.
NOTE:
The local directory for temporary report copies is almost always <EnterpriseHome>/workingstore/ftp.
If for some reason, the job fails on the AAIA engine, the Engine Report request will
stay in Submitted forever because no report file was sent back to Enterprise.
If an Engine Report request sits in Submitted state and never completes, one can log on
COBOL engine and look into the job queue and look for the Engine Report Request.
Query the DB table ARCH_PROPERTY. The VALUE column should have value as true.
SELECT * from ARCH_PROPERTY WHERE UPPER(PROPERTY_NAME) like
upper('%Scheduler.Enabled%')
Check if these credentials do work by connecting to the specified ftp server using the specified
user/password.
The password is normally 'ftppassword'
Normally an ftp user is created on the same machine which hosts the application server, though it
is not necessary and should work fine with any other existing ftp site meant for
Enterprise/InvestOne.
4) If the Poller service is not running, check the entry in the table, specifically the value in
column RERUN_PERIOD, LAST_RUN_DATE, SERVER_NODE_UUID
If the value in LAST_RUN_DATE is not in the current date, then you will need to set the values in
RERUN_PERIOD to enable the schedule to pick up and run the poller service
Unlike individual Engine batch report submissions, the reconciliation reports pose the
requirement of the same Enterprise server instance both submit and process a given
Engine report placed on the FTP Server. This is because the browser is waiting for the
reconciled results from the server to be rendered to the interactive user who submitted
the request. A special interface called FileProcessor is created to achieve this by
registering all Service classes and their submitted file names to the FTPPoller class.
The FTPPoller class is now exclusively used for monitoring only those file names that are
registered with them on the FTP Server. As and when these files are placed on the FTP
server by InvestOne engine, only one FTPPoller implementation amongst all Enterprise
instances would process a given file because the others would not have registered these
files with them. The FTPPoller class then makes a call back to a method on the service
class (on the same Enterprise instance) that registered itself to prepare the file for
rendering it to the waiting browser.
Reports by Users
Grid Fields
Action Buttons
Reports By Role
Displays the Role Summary screen where the Administrator selects a role(s) by
clicking on the select box next to the role(s), and following their selection, can
now access the Security Access Report Request using the Security Report button.
Grid Fields
Role/Function/Action This report lists all the Function Collection, Functions, Function Action
List and the JumpTo data’s defined for the selected users.
User/Role/Account This report lists all the valid roles/user banks/operators/Accounts for
List selected users.
User Login List DISABLED at Role Level.
External ID List DISABLED at Role Level.
Action Buttons
Role Level
disabled
User Level
disabled
This report consists of the three types of individual reports: User Account, User
Client and User Role.
User Account
This report type provides the Administrator with information about the Operator,
User Bank and accounts associated with the selected users.
Grid Fields
User Client
This report type provides the Administrator with all the User Role’s Login information
for the corresponding Client ID as defined by the system.
Grid Fields
User Role
This report type lists the roles that are associated with each selected user.
Grid Fields
This report type provides complete information about the User Login.
Grid Fields
This report type lists all the Function Collection items associated with each selected
role including Functions, Function Actions and JumpTo values. It is grouped by Role,
Function Collection and Functions
Grid Fields
This report lists the information about a User who is associated with a selected role.
Grid Fields
External ID List
This report type provides a list of all external ids associated with the selected users.
Grid Fields
External Cross An External Cross Reference ID that is associated with the selected
Reference ID User.
System Defined by the Administrator.
For example, -Xms1024m is the runtime parameter value to configure 1024 Meg
(aka 1 Gig).
The business user passes parameters from the process to be used in naming of the
files. This allows the user to indicate such parameters as report name, account
number, run date and reporting date in the file name. This functionality is available
for pdf and xls files. This document details the process associated with xls files only.
Set Up
In order for Process Manager to support the Excel Redirection functionality, the
following setup is required:
reports
• Third-party file watcher/FTP process to push or pull files as needed
Site Profile
Three parameters are specified within the Site Profile, as shown below. Please note
that only user IDs with administrator access in Apollo have access to the
Administration folder and can update the Site Profile within Administration. If you
do not see the Administration folder within the Asset Arena Performance Reporting
menu, your ID is likely not setup with Administrator access. Please contact your
system administrator for assistance.
Description Parameter
Note: If a report uses a date from a pick list, such as Latest Day or Latest Month,
and the From Date (%fdx) value is defined within the naming convention, the output
file will contain a “()” value in the file name for the From Date. The From Date will
only be populated in the file name for reports that utilize separate From and To date
field selections, such as Security Detail Performance Analysis.
User Profile
Within the User Profile, there are two optional parameters that can be defined,
pm_excel_report_dir and pm_excel_report_name. If either or both of these
parameters are not defined at the user level, the default values as specified within
the Site Profile will be used. The pm_excel_report_dir option at the user level allows
a sub-directory to be specified to which a particular user’s redirected reports will be
saved. This sub-directory resides within the root directory specified in the Site
Profile.
The pm_excel_report_name parameter gives the user the option to change the file
naming convention from that defined at the site level for that individual user’s
redirected reports. Refer to the previous Site Profile section for the list of file name
parameters.
Please note that only user IDs with administrator access in Apollo have access to the
Administration folder and can update the User Profile within Administration. If you
do not see the Administration folder within the Asset Arena Performance Reporting
menu, your ID is likely not setup with Administrator access. Please contact your
system administrator for assistance.
Points to note –
• No processes will be displayed until the user has clicked on the LOAD button.
Upon any change to filter criteria the user needs to click on the LOAD refresh
the list of processes displayed.
• The data in the table is not restricted to the user's currently logged in
Userbank and Operator.
• Administrator can filter the data using following filter parameters –
o Customer Name
o User ID
o Submit Date
o Process Name
o Process Status
• The table in which the processes are displayed has a paging mechanism. Only
300 processes are displayed per page. The table can be sorted by any of its
columns.
Prior to this release, administrator was required to run external SQL to add, change
or delete properties which were very error prone and can cause accidental updates to
the properties whose values were not intended to be changed. Along with this, there
is no auditing capability to track the changes done to these properties.
Architecture Properties Maintenance screen has been created to remove above
mentioned setbacks. A new screen can be seen through SunGard customer in
Administrator Role, using following mechanisms –
All currently ACTIVE (i.e. ones that are not DELETED) properties with their values
could be seen in this screen.
In case, user clicks on Cancel, the dialog box will be closed with no new data saved
and user gets back to property listing screen.
In case, user clicks on VIEW button without selecting any property from the grid,
following error message should be displayed at the bottom of the screen –
In case, user clicks on CHANGE button without selecting any property from the grid,
following error message should be displayed at the bottom of the screen –
In case, user clicks on DELETE button without selecting any property from the grid,
following error message should be displayed at the bottom of the screen –
It remains disabled on initial page launch.
It remains disabled until first time; history is fetched with LOAD
button click action.
It gets enabled when filters are modified after initial history fetch.
o DETAILS –
It remains disabled until the administrator select a row in the
history summary table.
Once an entry is selected and user clicks on this button, it can show
details such as old value and new value of changes in the form of
architecture property change dialog box.
Architecture Property Change dialog contains following details –
• Property Name
• Action (Add, Change, Delete)
• Action Time
• Changed Attributes
• Old Host Name (Present only if Host Name changed)
• New Host Name (Present only if Host Name changed)
• Old Property Value (Present only if Value changed)
• New Property Value (Present only if Value changed)
• Comment (As entered during update on Architecture
Properties Maintenance page)
The conditional presence of old and new Host Name and Property
Value applies only when Action is "Change". In case of "Add"
action, the old values are empty and new values are the newly
created property values. In case of "Delete" action, the old values
are the values that existed prior to deletion, and new values are
empty.
Click OK to dismiss Architecture Property Change and return to
the Architecture Properties History page.
o RETURN
It always remains enabled.
This button can be used to move back to Architecture Properties
Maintenance page.
• All the filter values are optional in nature. The functionalities associated with
filters are as follows –
o Property
This parameter is associated with PROPERTY_NAME column of
ARCH_PROPERTY database table.
It fetches unique list of all the property names whose update
history exists.
o Host
This parameter is associated with HOST_NAME column of
ARCH_PROPERTY database table.
It fetched unique list of all the host names whose update history
exists.
o Action
The drop-down consists of four different values and the data will
be filtered according to the selection –
• All
• Add
• Change
• Delete
o Date Range
2 Application Configuration
2.1 BOOTSTRAP
A file named Apollo.startup.properties positioned in the application server’s “current
working directory”
WebLogic: This is the top of the domain directory tree (where startWeblogic.sh is
located).
WebSphere: This is the top of the profile directory tree (such as
%WAS_HOME%\AppServer\profiles\AppSrv01\).
This file must contain the following lines, modified with appropriate database
connection. DatabaseSchemaBase/DatabaseNameBase is the name of the main Enterprise
DA database (and is the root of the associated _MD and _EMS databases). The password
can be entered in clear text, but will be encrypted and overwritten when the application is
started.
Oracle RDBMS:
DatabaseType=oracle
DatabaseAddress=10.20.30.40:4100:oracleSID
DatabaseSchemaBase=ENT_XXX
DatabaseUserName=ioenterprise
DatabaseUserPassword=password
Sybase RDBMS:
DatabaseAddress=10.20.30.40:4100
DatabaseNameBase=ENT_XXX
DatabaseUserName=ioenterprise
DatabaseUserPassword=password
• Some property settings are pre-populated by the database scripts. These may
be left as they are or updated with environment-specific values.
• Some property settings are not pre-populated and the application uses basic
defaults for these. Optionally, these default values can be overridden by
inserting database rows for these properties.
• Property settings may be set or changed at any time, but many of them require
an application restart before they become effective.
PROPERTY
_TYP PROPERTY_NAME VALUE DSCRPTN
A numeric value that specifies how many backup files are kept before the
LOGGER Logger.MaxBackUpIndex 10 oldest log file is erased
The absolute or relative file system directory path under which "logs"
directory (containing log files) will be found (where "." indicates the
LOGGER Logger.LogFile.Path . application server's "working directory")
Specifies the maximum file size that the log file is allowed to take up on
disk. Values are integers followed by one of the following suffixes "KB",
LOGGER Logger.MaxFileSize 10MB "MB" or "GB"
Base path for Reporting Toolkit Template files. This location must be a
shared drive, accessible by the same path to all servers in multi-server
CONFIG BasePath /opt/CustEnvs installation
CONFIG AccountUpdateService:Sleep 5000 Sleep period for AccountUpdateService; Default is 5000 milliseconds
INSTALL Base.ApolloFiles CoEx server Specific location of the ApolloFiles directory
/ExceptionEngin
e/ExceptionReq
INSTALL EMS.apppath uest EMS app server request path (for the C++ EMS only)
INSTALL EMS.appserver EMS app server IP (for the C++ EMS only)
Default
INSTALL EMS.reopenComment Comment EMS default re-open comment
INSTALL EMS.reopenOnRerun 1 EMS reopen on rerun flag
RunAsExecuteR
INSTALL Enterprise.reportServiceID eportService Reporting service ID
ei81MDJ1R3BCZ
kU9:WlFpQ0VFd
DlPWlU9:WlFpQ
INSTALL Enterprise.reportUserPassKey 0VFdDlPWlU9 Reporting UserPassKey
{Base.ApolloFile
s}\ReportPkg\P Indicates the path where client-specific PDF input images are to be
CONFIG PDF.ClientPath DFIn%ub generated.
The pattern used to create a user-friendly PDF filename for client use;
'%tn' - Task Name; '%rd' - Run Date; '%an' - Account Number; '%ad% -
%tn (%rd) Account Description; '%aq' - Account Query; '%pn' - Process Name; '%pl'
CONFIG PDF.ClientTemplate [%an]%aq %pn - Pick List Group; '%ri' - Report ID; '%ub' - User/Bank
CONFIG PDF.Printer The system printer to be used to generate PDF input images.
BinderTemplate
s/BinderHeader. This template is used to generate the header for a Binder when it is in
CONFIG Binders.HeaderAcctTmpl prn Account Order format.
{Base.ApolloFile
CONFIG Binders.GeneralPath s}\Binders Indicates the path where general Binder images (.ps) are to be located.
CONFIG Binders.OffSitePrinter The printer used to create the report images for the 3rd Party printer.
Flags whether/not to delete via FTP command any files left over from the
Hybrids process; These files are from the Engine output as well as the
Hybrid Hybrid.DeleteFTPFiles TRUE Enterprise parsing output.
AdhocReportExecutorManagerThr
CONFIG ead.maxSleepTimeInSec 2 Sleep time of the manager thread
Indicates which PDF output types to generate: 'C' = Client; 'G' = General;
CONFIG PDF.OutputTypes 'B' = Both; or 'N' = None.
BinderTemplate
s/BinderTrailer. This template is used to generate the trailer for a Binder when it is in
CONFIG Binders.TrailerAcctTmpl prn Account Order format.
BinderTemplate
s/Xerox EPS 180 This file is used to generate forms and duplexing information to a Xerox
CONFIG Binders.JobTicketFile Job Ticket.xpf EPS 180 Offsite printer.
{Base.ApolloFile
s}\ReportPkg\P
CONFIG PDF.GeneralPath DFIn Indicates the path where general PDF input images are to be generated.
BinderTemplate
s/SkippedAccou This template is used to report; within a binder; that the specified
CONFIG Binders.SkippedTemplate ntTemplate.prn account has been skipped and not included.
Indicates whether Excel should save workbooks with embedded graphs
CONFIG Reports.SaveExcelGraphFormat97 in Excel 97 format; '1' - True; '0' - False
BinderTemplate
s/BinderHeader This template is used to generate the header for a Binder when it is in
CONFIG Binders.HeaderRptTmpl ByReport.prn Report Order format.
BinderTemplate
s/BinderTrailerB This template is used to generate the trailer for a Binder when it is in
CONFIG Binders.TrailerRptTmpl yReport.prn Report Order format.
BinderTemplate This template is used to generate a blank page within a Binder; such as
CONFIG Binders.BlankPageTmpl s/BlankPage.prn the backside of an odd-numbered page in duplex mode.
Indicates whether PDF images are stored in unique folders for Reports
CONFIG PDF.SplitFolders FALSE Packages and Binders; true or false.
CONFIG ProcessServer.RetryCount 5 Indicates the number of times Process Server will retry a retriable event.
Indicates the amount of time; in milliseconds; Process Server will wait
CONFIG ProcessServer.RetryDelay 1000 before retrying an event.
CONFIG Binders.OffSitePath The path where Binder images are placed for the OffSite Printer.
CONFIG Scheduler.MaxThreads 5 Scheduler process worker thread count
CONFIG Scheduler.RerunTime 60000 Scheduler time gap between two successive executions(in ms)
CONFIG ExpenseCalc.AccountThreads 8 Thread pool size for executing Accounts.
ExpenseCalc.FutureResultPollTime
CONFIG outMs 3600000 Timeout for polling Future task results from the CompletionService.
InvestOneServices.NotionalDealing The Engine Transaction ID that is to be used for the InvestOne Service
CONFIG RatesTranID FD0A 'Notional Dealing Rates'.
CONFIG CPSArchive.Purge.Timeout 1800 For CPS Archve Purge Process; the Transaction Timeout Period
For CPS Archve Purge Process; the Decrement period (in months) that
CONFIG CPSArchive.Purge.Decrement 1 should be applied for Retention
For CPS Archive Purge Process; the Maximum times the Decrement
CPSArchive.Purge.MaxRetentionD period should be applied in order to completely purge records for given
CONFIG ecrementAttempts 24 customer
CPSArchive.Purge.MaxPurgeAttem For CPS Archive Purge Process; the Maximum times the purge process
CONFIG pts 2 should be run in order to completely purge records for given customer
EMSCycleNotification.MessageRetr
INSTALL yWorkerCount 2 EMS Message Retry Worker Count
Connection detail for MQ manager in the format:
CONFIG MQManager:ConnectionDetail MQ_Manager_Name:IP_Address:Port
MQManager:MsgProcessingWorke The maximum number of threads available for processing all MQ
CONFIG rCount 10 messages from all queues across all MQ managers.
CONFIG MQManager:ChannelName NA Channel Name for connecting to MQ manager.
CONFIG MQManager:Password NA Password for connecting to MQ manager.
CONFIG MQManager:UserName NA UserName for connecting to MQ manager.
InvestOneServices.AccountAllocati The Engine Transaction ID that is to be used for the InvestOne Service
CONFIG onTranID FUND 'Account Allocation'.
EMSCycleNotification.EventCreato
INSTALL rCount 4 EMS Event Creator Thread Count
CONFIG ProcessManager.enableLogicalDel 0 Logical delete indicator
ete
IP Address of the host designated for PDF Conversions. Change it to
CONFIG PDFConverter.Host 127.0.0.1 appropriate value after DocConverter ENTERPRISE installation
PDF Converter port designated for PDF Conversions. Default 54546
CONFIG PDFConverter.Port 54546 should be sufficient for most installations
Encryption check flag to kick off processing that encrypts passwords in
CONFIG EncryptionCheck Pending tables with clear-text passwords
DSN=sungardim
EnterpriseExcelExecutor.Database s.net;SRVR=sung Used to map the legacy database ODBC DSN name to database server
CONFIG DsnPrefix ardims.net name of the main database, now only used for EMS reports and EMS
DSN=sungardim
EnterpriseExcelExecutor.EMSData s.net;SRVR=sung Used to map the legacy database ODBC DSN name to database server
CONFIG baseDsnPrefix ardims.net name of the EMS database, now only used for EMS reports and EMS
EnterpriseExcelExecutor.TcpAddre sungardims.net:
CONFIG ss 7007 Excel Executor IP address
No. of days to retain the M2MG messages on various M2MG related
CONFIG M2MG.RetainDays 7 tables.
CONFIG Authorization.excludeUrlList logon.do,.css.do Comma separated list of URLs to be excluded from authorization check
/data/transient/
CONFIG DataExtract.Output.FilePath dataextract/ Data Extract shared path
Maximum timeout period for scheduler. Files older as determined by this
CONFIG DataExtract.Purge.Timeout property would be deleted.
The password to be used for authentication with the Engine Reports ftp
server within Enterprise (case sensitive). A blank password is highly
CONFIG EngineReports.FTPPassword discouraged.
Indicator of whether Engine Report processing is enabled. This is the
processing that occurs when the Engine FTPs a report output to the FTP
site and Enterprise polls for it. Defaults to true. Set it to false to disable
Engine Reports processing on a server (for instance, if it is desired to
dedicate a machine for other purposes). Changes to this require a server
CONFIG EngineReports.FtpPollerEnabled TRUE restart.
CONFIG EngineReports.FTPPort The port to be used by the engine to FTP the report back to Enterprise.
The user name to be used for authentication with the Engine Reports ftp
server within Enterprise (case sensitive). A blank user name is highly
CONFIG EngineReports.FTPUser apolloftp discouraged.
{Base.ApolloFile Indicates the path where Enterprise will 'store' Engine reports from the
CONFIG EngineReports.GeneralPath s}\EngineRpts engine.
{Base.ApolloFile Indicates the path where Enterprise will 'store' GLExtract reports from
CONFIG EngineReports.GLExtractPath s}\EngineRpts the engine.
The user name to be used for authentication with the Engine Reports ftp
server within Enterprise (case sensitive). A blank user name is highly
CONFIG EngineReports.Server discouraged.
The password to be used for authentication with the Engine Reports sftp
server within Enterprise (case sensitive). A blank password is highly
CONFIG EngineReports.SFTPPassword discouraged.
The Host (IP Address) of the SFTP Server. Leaving it blank is highly
CONFIG EngineReports.SFTPServer discouraged as reports will not be transferred to the Enterprise.
The user name to be used for authentication with the Engine Reports
sftp server within Enterprise (case sensitive). A blank user name is highly
CONFIG EngineReports.SFTPUser discouraged.
CONFIG EngineReports.UseSFTP Flag to indicate Report Transfer using FTP/SFTP
Enterprise.NewUISupportedBrows msie 9, msie 10,
CONFIG ers msie 11 List of Supported Browsers
CONFIG FV.NumberOfAccountsPosting 10 Number of worker threads for posting accounts
CONFIG FV.NumberOfTransPosting 10 Number of worker threads for posting transactions per account
InvestOneServices.MoveBackLock The Engine Transaction ID that is to be used for the InvestOne Service
CONFIG DateTranID FDA6 'Move Back Lock Date'.
InvestOneServices.MoveBackVerifi The Engine Transaction ID that is to be used for the InvestOne Service
CONFIG cationDateTranID FDA6 'Move Back Verification Date'.
InvestOneServices.MoveForwardL The Engine Transaction ID that is to be used for the InvestOne Service
CONFIG ockDateTranID FDA6 'Move Forward Lock Date'.
RTK.API.MaxConcurrentExecutionC
CONFIG apacity 10 Maximum Concurrent Report Executions
ExpenseCalc.AccountSweepThread This property can be used to override the default thread count of 12 for
CONFIG s sweeping the accounts. This is only for ReportingWithTrustFee account.
INSTALL Indicates the current update level to the Enterprise Engine Reports
EngineReports.CurrentUpdate module.
INSTALL Indicates the current version number to the Enterprise Engine Reports
EngineReports.CurrentVersion module.
INSTALL InternalConfig.CpsEerDateValidati
onEnabled TRUE Enable Date Validation while adding a new CPS EERule
CONFIG ProcessManager.SubmissionWork The number of ProcessManager Submission Workers that are
erCount configured.
CONFIG EngineReports.PollingFtpServerThr The number of threads to handle file processing when using and polling
eadCount from an external FTP server.
CONFIG HybridReports.PollingFtpServerThr The number of threads to handle file processing when using and polling
eadCount from an external FTP server.
CONFIG EngineReports.PollingFtpServerInt The number of seconds to sleep when between polls, when polling from
ervalSeconds an external FTP server, when there are no files found.
CONFIG Flag to delete the Engine report files (downloaded to the working store)
EngineReports.DeleteFTPFiles TRUE after processing.
CONFIG InvestOneServices.SecurityPriceEdi The Transaction ID that is to be used for a Security Price Edit request via
tTranID FDA8 the InvestOneServices interface.
CONFIG Scheduler.Enabled TRUE Indicates whether or not the Scheduler is enabled.
CONFIG IooleArchMessages.FDSD Architecture message for the Security message.
CONFIG IooleArchMessages.FDTS Architecture message for the Transaction message.
CONFIG Indicates whether data validation is enabled when loading Expense Calc
ExpenseCalc.IoDataValidation 1 data in the database.
CONFIG ExpenseCalc.SingleTranUpdate No need to document as setting this to 0 results in error.
CONFIG Process limits for Report Distribution in the format
T[IME]=m;C[OUNT]=c; Where m is the number of milliseconds to allow
for overall processing time and c is the number of items to process. For
ReportDistribution.Limits t=-1;c=300000 example t=100;c=500 or T=-1;C=-1.
CONFIG Username for instance level authentication (Optional). If the optionally
configured username and password are set, then the database username
Authentication.InstanceUsername and password will not be accepted.
CONFIG Password for instance level authentication (Optional). If the optionally
configured username and password are set, then the database username
Authentication.InstancePassword and password will not be accepted.
CONFIG EnterpriseReports.DbHandleRetry Maximum number of retries when getting the Database handle when
Count 10 processing RTK reports.
CONFIG AdhocReportExecutorManagerThr
ead.jobTimeOutInMins 60 Set the max time in minutes to process an Adhoc report job.
CONFIG ProcessManager.PrioritizationMod
e TRUE Enables prioritization of processes if set to "true".
CONFIG The realm name to be used in the Digest challenge sent for REST services
Digest.Realm InvestOne authentication.
CONFIG The Nonce validity period (in seconds) for Digest Access Authentication
Digest.NonceValidityPeriod 300 for REST services.
CONFIG The key to be used for generating the nonce for Digest Access
Digest.NonceKey NonceKey Authentication.
CONFIG RTK.showRTKFileOutputType TRUE Enables the "File" output type when running RTK reports if set to "true".
CONFIG Number of worker threads that will be used for handling process
PM.SubmissionListener.Workers 3 manager submission listeners. A server restart is required to take the
The parameter will create a sub-folder named “comlogs” under the EE folder of the
coex server. Under there, SQL calls made by browser reports to the database (via
EE dataservices execution, such as for IMpower.DataServices and/or
EmsRd.DataServices) are logged to a file that is specific to the report’s unique
session id.
3 Application Logging
The Enterprise application implements the Apache log4j for logging and allows for
various levels of logging.
Log levels are: TRACE, DEBUG, INFO, WARN, ERROR and FATAL.
The application logs all INFO, WARN, ERROR and FATAL transactions by default.
Administrators can modify the log level to DEBUG or TRACE. Please note that
logging at TRACE level is extremely verbose and should be avoided.
Log levels can be modified at runtime without requiring an application restart. To
modify the log level do the following:
In the Main database, check for the current logging using:
select * from ARCH_PROPERTY where PROPERTY_TYP='Logger'
5 WebServices (PENDING)
7 Ole (PENDING)
8.1 WEBLOGIC
http://www.munzandmore.com/2012/ora/weblogic-stuck-threads-howto
com.sungard.sims.mercury.excel.components.ExcelClient.receiveBrowserReportResp
onse(ExcelClient.java:2092)
com.sungard.sims.mercury.excel.components.ExcelClient.singleSheetStream(ExcelCli
ent.java:307)
com.sungard.sims.mercury.excel.components.CRequest.GetReport(CRequest.java:13
4)
com.sungard.sims.mercury.excel.service.ReptblobService.invoke(ReptblobService.jav
a:57)
com.sungard.sims.mercury.excel.service.ReptblobService.execute(ReptblobService.j
ava:36)
• In the example above, the thread is stuck inside receiveBrowser
ReportResponse() method, at line 2092 of the ExcelClient.java class.
• This method is responsible for building a string object with the process data to be
displayed on the Process Monitor screen; in some cases this string object can become
very large (e.g. if there are many processes to be displayed). The logic is stuck at a
point where it is attempting to append more data to the string.
• The problem appears to be caused by some type of memory allocation problem within
the java string handling classes.
• Due to the usage patterns for this screen, it is possible that several threads may be
stuck at this same point in the Process Monitor screen.
• The issue may be resolved by freeing memory using the application server ‘Garbage
Collection’ facility.
• If this does not work, then the Enterprise instance will need to be restarted.
APPENDIX
INDEX
Administrators Guide, 95 io_ERREPORTVIEWER, 53
Basic Overview of InvestOne Enterprise, what is dynamic desktop, 89
7, 8